Конвертация CHD в ISO чаще всего требуется, когда эмулятор или утилита записи не понимает сжатый формат CHD (Compressed Hunks of Data), а образ диска нужен в классическом виде ISO-9660. Типичный сценарий: скачанный образ игры для PlayStation или Sega Dreamcast имеет расширение .chd, а программа вроде ImgBurn или старый эмулятор его не открывает.
Формат CHD изначально создавался для эмулятора MAME и использует сжатие без потерь данных, поэтому обратное преобразование в ISO технически возможно. Однако есть важный нюанс: CHD может содержать не только данные ISO-9660, но и структуру CD с несколькими треками (BIN/CUE), а также образы жёстких дисков, поэтому результат конвертации зависит от того, что именно лежит внутри файла.
Что такое CHD и чем он отличается от ISO
Формат CHD — это контейнер сжатых образов, разработанный командой MAME. Он хранит данные блоками («hunks») и применяет к ним алгоритмы сжатия, что позволяет заметно уменьшить размер образа по сравнению с исходным дампом диска. При этом данные восстанавливаются полностью, без потерь.
ISO — это посекторный образ диска с файловой системой ISO-9660 (или её расширениями). Он не сжат, поэтому занимает ровно столько места, сколько весят данные на диске. Ключевое отличие в том, что ISO описывает только один трек данных, тогда как CHD может хранить многотрековую структуру компакт-диска с аудиодорожками.
- 💿 CHD — сжатый контейнер, требует распаковки перед использованием вне эмуляторов;
- 📀 ISO — несжатый образ одного трека данных, читается почти любым ПО;
- 🎵 Многотрековые диски (с аудио) из CHD правильнее распаковывать в BIN/CUE, а не в ISO;
- 🗜️ Сжатие в CHD обратимо — распакованные данные идентичны оригинальному дампу.
Когда конвертация в ISO имеет смысл, а когда нет
Прежде чем запускать конвертацию, определите тип содержимого вашего CHD-файла. Если это образ CD с одним треком данных — ISO подойдёт. Если внутри диск с аудиотреками (например, многие игры для Sega CD или PlayStation с CD-DA музыкой), то в ISO вы потеряете аудиодорожки, потому что стандарт ISO-9660 их не описывает.
Также бывают CHD-файлы, содержащие образы жёстких дисков или лазердисков — их в ISO перевести нельзя в принципе, там нет файловой системы компакт-диска.
Инструмент для конвертации: chdman
Официальная и единственная штатная утилита для работы с CHD — chdman (CHD Manager). Она входит в состав пакета MAME и доступна для Windows, Linux и macOS. Отдельно утилиту часто распространяют вместе с наборами инструментов для эмуляции, но надёжнее брать её из официальной сборки MAME, чтобы версия формата совпадала с версией утилиты.
Существуют и сторонние GUI-оболочки поверх chdman, но все они в итоге вызывают ту же консольную утилиту. Если графическая оболочка выдаёт ошибку, имеет смысл выполнить команду напрямую — так вы увидите настоящий текст ошибки.
Пошаговая инструкция: конвертация CHD в ISO
Для распаковки CHD используется команда extractcd, если внутри образ компакт-диска. Результатом будет пара файлов BIN/CUE — это посекторный дамп диска. Если диск однотрековый, BIN-файл можно переименовать в ISO или пересобрать в ISO через программу вроде ImgBurn или UltraISO.
chdman extractcd -i image.chd -ob image.bin -oc image.cue
Разберём параметры: -i задаёт входной CHD-файл, -ob — выходной бинарный файл, -oc — выходной CUE-лист с описанием треков. Утилита покажет прогресс распаковки и сообщит об ошибках, если файл повреждён.
Далее, если CUE описывает один трек данных, откройте его в программе конвертации образов и сохраните как ISO. Если треков несколько — оставьте формат BIN/CUE: большинство современных эмуляторов (RetroArch, DuckStation, Mednafen) работают с ним напрямую.
☑️ Конвертация CHD в ISO
Проверка CHD перед конвертацией
Перед распаковкой полезно убедиться, что CHD-файл не повреждён и содержит именно образ CD. Для этого у chdman есть команда info, которая выводит метаданные: тип образа, версию формата, размер и контрольные суммы.
chdman info -i image.chd
Также доступна проверка целостности командой verify — она пересчитывает хэши всех блоков и сравнивает их с записанными в заголовке файла. Если проверка не проходит, конвертировать такой файл бессмысленно: результат будет повреждён. В этом случае образ нужно получить заново из надёжного источника.
⚠️ Внимание: если chdman выдаёт ошибку «unsupported CHD version», значит файл создан более новой версией формата, чем ваша утилита. Обновите chdman до актуальной версии из свежей сборки MAME — старые релизы обратной совместимости в этом направлении не имеют.
Типичные ошибки и их решения
Самая частая проблема — попытка сконвертировать многотрековый диск в ISO с потерей аудио. Признак: в CUE-файле после распаковки перечислено несколько строк TRACK, часть из которых помечена как AUDIO. Решение — использовать BIN/CUE вместо ISO.
| Ошибка / симптом | Возможная причина | Что делать |
|---|---|---|
| «unsupported CHD version» | Устаревшая версия chdman | Обновить утилиту из свежего MAME |
| Ошибка чтения файла при verify | Повреждённый или недокачанный CHD | Получить файл заново |
| В ISO пропала музыка в игре | Аудиотреки не входят в ISO | Использовать формат BIN/CUE |
| chdman не распознаётся как команда | Путь к утилите не прописан | Запускать с полным путём или из папки утилиты |
Ещё одна ситуация: команда extractcd отказывается работать, потому что внутри CHD не CD-образ, а, например, образ жёсткого диска. Проверить это можно заранее через chdman info — в выводе будет указан тип содержимого.
⚠️ Внимание: не переименовывайте многотрековый BIN-файл в ISO вручную — такой файл будет читаться некорректно, а эмулятор может зависать или показывать повреждённые данные. Пересборка в ISO делается только через специализированные программы и только для однотрековых дисков.
Альтернативы: нужна ли вообще конвертация
Перед конвертацией стоит проверить, поддерживает ли ваш эмулятор CHD напрямую. Многие современные эмуляторы — DuckStation, RetroArch (ядра Beetle PSX, Flycast), Redream — читают CHD без распаковки, экономя место на диске. В этом случае конвертация не нужна вовсе.
ISO действительно необходим в ограниченных сценариях: запись на физический диск через ImgBurn, монтирование в виртуальный привод, использование со старыми эмуляторами или программами, которые понимают только ISO-9660.
Почему CHD экономит место
Формат разбивает образ на блоки фиксированного размера и сжимает каждый блок алгоритмами вроде zlib, lzma или flac (для аудио). Пустые области диска сжимаются почти до нуля, поэтому экономия особенно заметна на недозаполненных дисках. Данные при этом восстанавливаются побитово — контрольные суммы распакованного образа совпадают с оригиналом.
Часто задаваемые вопросы
Можно ли конвертировать CHD в ISO без chdman?
Штатного способа нет: формат CHD закрыт для прямого чтения большинством программ, и все сторонние конвертеры внутри используют chdman. Поэтому утилита из состава MAME остаётся обязательным инструментом.
Почему после конвертации в ISO пропали аудиотреки?
Стандарт ISO-9660 описывает только один трек данных и не поддерживает аудиодорожки CD-DA. Для дисков с музыкой используйте формат BIN/CUE — он сохраняет структуру всех треков.
Теряется ли качество данных при конвертации CHD?
Нет. CHD использует сжатие без потерь, распакованный образ побитово совпадает с исходным дампом. Проверить целостность можно командой chdman verify.
Что делать, если chdman выдаёт ошибку версии формата?
Это означает, что CHD создан более новой версией утилиты, чем ваша. Скачайте свежую сборку MAME и возьмите chdman оттуда — новые версии читают старые файлы, но не наоборот.
Можно ли из CHD для Dreamcast получить ISO?
Образы Dreamcast (GD-ROM) имеют специфическую структуру, и корректная конвертация зависит от целевого эмулятора. Часто правильнее оставить CHD или использовать BIN/CUE — уточните требования в документации вашего эмулятора.