11.6. Копирование диска CD или DVD
Проблема
Требуется создать копию диска CD или DVD, содержащего данные, аудио- или видеоматериалы и другие типы информации.
Решение
Чтобы напрямую скопировать содержимое исходного диска на записываемый диск, выполните следующую команду:
$ cdrecord -v dev=0,1.0 -isosize /dev/scd0
Этот способ быстрый, но рискованный, так как любой перебой в потоке данных приведёт к порче всей копии. Чтобы избежать этого, лучше сначала сохранить данные на жёсткий диск. В следующем примере сначала проводится проверка записи:
$ dd if=/dev/scd0 of=/tmp/diskfile.iso
$ cdrecord dev=0.1,0 fs=8m -v -eject -dummy /tmp/diskfile.iso
Чтобы записать данные на диск, удалите ключ -dummy.
Ядро Linux 2.6 и более поздние версии не нуждаются в эмуляции IDE-SCSI, поэтому можно использовать имя устройства напрямую:
# cdrecord dev=/dev/hdc <команды>
Объём временного файла будет равен объёму копируемого диска.
Команда dd производит побайтовое копирование файла. Её параметры:
- if — входной файл (источник);
- /dev/scd0 — имя устройства (см. раздел 11.3). Монтирование диска не требуется;
- of — выходной файл (приёмник);
- /tmp/diskfile.iso — временная копия исходного файла на жёстком диске. Можно присвоить любое имя, но расширение должно быть .iso.
Параметры cdrecord остаются теми же, что и в разделе 11.4, но к ним добавляются два новых параметра:
- fs=8m — размер циклического буфера. Большее значение даёт больше устойчивости к перебоям. Если 8 МБ недостаточно, стоит подумать о модернизации компьютера.
- -dummy — функция тестовой записи. Устройство выполняет все операции без включения лазера, что помогает выявить ошибки до записи на диск.
Комментарий
Скопировать диск напрямую может быть рискованно. Создание временного файла на жёстком диске обеспечивает дополнительную надёжность, особенно если вы используете буферизованную запись и тестовые прогоны.
См. также
cdrecord(1), dd(1); раздел 11.4.