Как мне сделать необработанную запись на компакт-диск с dd?

Как мне сделать сырую запись на мой привод CD /dev/scd0? Я хочу написать загрузчик (который занимает два сектора) непосредственно на CD, это возможно?

2 ответа

Поскольку компакт-диски не являются традиционными блочными устройствами, запись через dd, скорее всего, не приведет к использованию компакт-диска. Если вы хотите записать образ на компакт-диск, используйте wodim инструмент (что раньше называлось cdrecord).

wodim dev=/dev/cdrom file.iso

В качестве альтернативы вы можете использовать графический Brasero Disc Burner Приложение включено в стандартную установку Ubuntu.

Также обратите внимание, что для загрузки с компакт-диска используется другой процесс по сравнению с загрузкой с блочного устройства, такого как жесткий диск. Вместо того, чтобы просто выполнять код, найденный в первых секторах образа, он использует процесс под названием El Torito Bootable CD Specification. Фактически в образе компакт-диска есть таблица, в которой указано, где искать загрузчики для одной или нескольких архитектур ЦП. Загрузчик существует либо непосредственно на самом компакт-диске, либо внутри образа дискеты. В последнем случае BIOS эмулирует дисковод гибких дисков, поддерживаемый этим образом, и оттуда загружается как обычно.

Если вы хотите загрузить Linux с компакт-диска, я бы предложил использовать загрузчик ISOLINUX. Копию загрузчика можно найти в syslinux пакет.

Если вы хотите использовать какой-либо другой пользовательский загрузочный код, режим эмуляции гибкого диска может быть более простым выбором.

Я вижу пару недостатков с вашим подходом...

Во-первых, вообще невозможно записать произвольные сектора на CD-ROM - в отличие от жестких дисков, оптический носитель не поддерживает случайную запись. Подумайте о дисках CD-R, сессиях открытия / закрытия и других вещах.

Во-вторых, процедура загрузки с компакт-диска сильно отличается от загрузки с HD - в некоторых случаях загрузочные компакт-диски используют образ дискеты или эмулируют жесткий диск и т. Д. Для получения дополнительной информации см. Стандарт El Torito.

Итак, чтобы создать загрузочный компакт-диск, я бы подумал, что вам нужно подготовить загрузочный ISO-образ, используя ISOLINUX или какой-либо другой загрузчик. Запись этого ISO на CDROM с использованием некоторой стандартной программы, такой как Brasero или K3b, создаст загрузочный диск.

Другие вопросы по тегам