Создание загрузочного компакт-диска с пользовательским загрузочным сектором
Мне было интересно узнать, как создать операционную систему с нуля, и я нашел это руководство: http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf,
На странице 4 объясняется, как создать простой загрузочный сектор, и на странице 6, как эмулировать загрузку процессора с него, используя Bochs. Я попробовал это, и все работало нормально.
Теперь я хочу попробовать то же самое на реальном ПК или на программном обеспечении виртуальной машины, такой как VirtualBox. Я думал, что смогу создать загрузочный компакт-диск с загрузочным сектором, но до сих пор у меня ничего не получалось. Я попытался создать ISO-образ компакт-диска, содержащего мой загрузочный сектор, но, как и ожидалось, при этом я получаю сообщение об ошибке (VirtualBox показывает ошибку "FATAL: загрузочный носитель не найден! Система остановлена".).
Что я должен сделать, чтобы правильно создать загрузочный компакт-диск с моим загрузочным сектором? Заранее спасибо.
1 ответ
Посмотрите: http://wiki.osdev.org/El-Torito
Writing an El-Torito Boot Sector
At the start of your El-Torito boot sector, you simply need to set segment registers to known values (as usual) and use the BIOS to load files from the CD as per ISO 9660. As with a normal floppy or hard disk, DL contains the BIOS drive number.
Using Mkisofs, you can write your boot sector to a CD image (.iso) as follows:
mkisofs -R -b path/to/loader.sys -no-emul-boot -boot-load-size 4 -o [IsoFile.iso] [IsoDirectory]
Просто используйте свои собственные написанные Loader.sys и Mkisofs ( http://wiki.osdev.org/Mkisofs).