使用自定义引导扇区创建可引导 CD

使用自定义引导扇区创建可引导 CD

我有兴趣学习如何从头开始创建操作系统,并且找到了这个指南:http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf

第 4 页介绍了如何创建一个简单的引导扇区,第 6 页介绍了如何使用 Bochs 模拟从该扇区引导 CPU。我试过了,一切正常。

现在我想在一台真正的 PC 或虚拟机软件(如 VirtualBox)上尝试同样的操作。我以为我可以创建一个包含我的引导扇区的可引导 CD,但直到现在我都无法成功。我尝试创建包含我的引导扇区的 CD 的 ISO 映像,但正如预期的那样,我在执行此操作时收到错误(VirtualBox 显示“严重错误:未找到可引导介质!系统已停止。”错误)。

我该怎么做才能正确创建带有引导扇区的可引导 CD?提前谢谢您。

答案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)。

相关内容