我正在开发不模拟引导操作系统,正如您在不模拟引导中所知道的,引导映像可以是任何(实模式)二进制可执行代码。
我在操作系统中使用了2级引导加载程序,首先我加载了第一阶段,遇到的问题是在第二阶段,当引导加载程序试图加载os映像时,它需要一个CD/DVD驱动器的设备号来进行BIOS调用。
问题是:我应该使用哪个设备号?
我在一些pc上尝试过0x81(第一个IDE从机)和0x82 (第二个IDE主),它在另一些pc上工作,它不工作。
发布于 2018-08-24 01:12:24
El Torito (光盘标准)协议只规定BIOS将通过任意设备号来模拟CD/DVD驱动器。
不同的BIOS可能会产生不同的驱动器号。
当BIOS调用引导加载程序时,它还会在CPU的DL 寄存器中传递模拟驱动器号。
引导加载程序必须捕获驱动器号并使用它进行BIOS调用。
其馀部分类似于仿真引导。
https://stackoverflow.com/questions/51996115
复制相似问题