Re: Запись CD/DVD
Запись CD-R из консоли
Различия в использовании на ядрах 2.4.xx и 2.6.xx
Приведённые здесь комманды используют программы cdrecord версии 2.0 и выше и mkisofs. Как правило, эти программы присутствуют в любом современном дистрибутиве по умолчанию. Но есть небольшое отличие в использовании комманд в дистрибутивах с разными ядрами. Ядро 2.6.xx даёт нам преимущество перед ядром 2.4.xx записывать диски, используя стандартный для всех внутренних приводов интерфейс ATAPI, а не эмуляцию SCSI. Поэтому обязательно проверьте версию ядра Вашего дистрибутива при помощи комманды:
$ uname -r
Определение параметров пишущего устройства.
В любом случае, для начала нам необходимо определить параметры нашего привода. Для этого используем комманду:
для ядра 2.6.xx:
$ cdrecord -scanbus dev=ATAPI:
для ядра 2.4.xx:
$ cdrecord -scanbus
В появившемся списке нас интересует строка примерно такого содержания:
0,1,0 1) 'TOSHIBA' 'SD-R2412' 'J.26' Removable CD-ROM
Первые три цифры через запятую – это и есть то, что мы искали. В данном случае - это 0,1,0. Ваши значения могут отличаться. Таким образом, наше устройство мы будем обозначать как:
dev=ATAPI:0,1,0 для ядра 2.6.xx
dev=0,1,0 для ядра 2.4.xx
Далее, все команды приводятся для ядра 2.6.xx. Пользователи дистрибутивов с ядром 2.4.xx подставляют в "dev=" своё значение.
Создание ISO-образа диска с данными.
$ dd if=/dev/cdrom of=/tmp/cdname.iso
Здесь:
[/dev/cdrom] - устройство, с которого снимается образ;
[/tmp/cdname.iso] - расположение и имя получаемого образа.
Создание ISO-образа любой директории с данными.
$ mkisofs -v -jcharset=koi8-r -r -o /tmp/cdname.iso /home/username/docs
Здесь:
[-v] - отображает информацию о выполнении комманды;
[-jcharset] - включает поддержку русских имён файлов для просмотра диска в Window$; Подставьте значение Вашей локали! (Список поддерживаемых кодировок в выводе комманды: "$ mkisofs -jcharset help");
[-r] - включает поддержку Rock Ridge, без этого параметра диск будет читаться только под Window$;
[-o /tmp/cdname.iso] - расположение и имя получаемого файла;
[/home/username/docs] - путь к записываемой папке.
Проверка правильности создания ISO-образа.
$ mkdir /mnt/test
Здесь:
[/mnt/test] - имя создаваемой директории.
$ mount -t iso9660 -o loop /tmp/cdname.iso /mnt/test
Здесь:
[-t iso9660] - указывает тип файловой системы устройства;
[-o loop] - указывает на использование виртуального устройства;
[/tmp/cdname.iso] - расположение и имя монтируемого образа;
[/mnt/test] - диретория в которую монтируется образ.
Заходим в директорию /mnt/test и проверяем, всё ли там нас устраивает.
Перед началом записи необходимо выйти из этой директории и отмонтировать образ!
$ umount /mnt/test
Здесь:
[/mnt/test] - директория, в которую был смонтирован образ.
Проверка возможности записи ISO-образа на диск.
$ cdrecord -v -dummy -data dev=ATAPI:0,1,0 speed=24 fs=8M /tmp/cdname.iso
Здесь:
[-v] - отображает информацию о выполнении команды;
[-dummy] - включает режим холодной записи с выключенным лазером;
[-data] - указывает на запись диска с данными;
[dev=ATAPI:0,1,0] - обозначает устройство, на которое производится запись;
[speed=24] - задаёт желаемую скорость;
[fs=8M] - задаёт размер буфера FIFO;
[/tmp/cdname.iso] - расположение и имя записываемого образа.
Будет произведена запись на диск с выключенным лазером. Эта процедура покажет, как будет проходить реальная запись и поможет отрегулировать скорость записи и объём буфера FIFO.
Получение информации о диске.
$ cdrecord dev=ATAPI:0,1,0 -atip
Выводит информацию о болванке.
Запись ISO-образа диска.
$ cdrecord -v -eject -data dev=ATAPI:0,1,0 speed=24 fs=8M /tmp/cdname.iso
Здесь:
[-v] - отображает информацию о выполнении комманды;
[-eject] - открывает лоток привода после записи;
[-data] - указывает на запись диска с данными;
[dev=ATAPI:0,1,0] - обозначает устройство, на которое производится запись;
[speed=24] - задаёт скорость записи;
[fs=8M] - задаёт размер буфера FIFO;
[/tmp/cdname.iso] - расположение и имя записываемого образа.
Прямое копирование с диска на диск.
$ cdrecord -v -eject -data dev=ATAPI:0,1,0 speed=24 fs=8M /mnt/cdrom
Здесь:
[-v] - отображает информацию о выполнении комманды;
[-eject] - открывает лоток привода после записи;
[-data] - указывает на запись диска с данными;
[dev=ATAPI:0,1,0] - обозначает устройство, на которое производится запись;
[speed=24] - задаёт скорость записи;
[fs=8M] - задаёт размер буфера FIFO;
[/mnt/cdrom] - точка монтирования устройства, с которого производится запись.
Процедура очень требовательна к ресурсам компьютера! Не рекомендуется выполнять на слабых и сильно загруженных машинах.
Прямая запись папки с данными.
$ mkisofs -v -jcharset=koi8-r -r -o /home/username/docs | cdrecord -v -eject -data dev=ATAPI:0,1,0 speed=24 fs=8M -
Здесь: [-] - Тире в конце комманды указывает на то, что запись ведётся с потока, а не из файла.
Как можно заметить, это просто комбинация из двух уже известных команд. Но для mkisofs не указывается конечный файл, а для cdrecord не указывается исходный файл.
Процедура очень требовательна к ресурсам компьютера! Не рекомендуется выполнять на слабых и сильно загруженных машинах.
Проверить читаемость записанного диска.
$ dd if=/dev/cdrom of=/dev/null
Здесь:
[/dev/cdrom] - устройство с записанным диском;
[/dev/null] - несуществующее устройство.
Если копирование в никуда прошло успешно, значит диск записан верно.