Как мне сделать необработанную запись на компакт-диск с 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, создаст загрузочный диск.