没有仿真启动操作系统

时间:2018-08-24 00:59:15

标签: x86 operating-system bootloader osdev dvd

我正在使用非仿真引导操作系统,正如您在 no-emulation 引导中所知道的那样,引导映像可以是任何 (实模式)二进制可执行代码。

我为OS使用2级引导加载程序,首先我加载了第一级加载程序 我遇到的问题是在第二阶段,当引导加载程序尝试加载OS映像时,它需要一个设备号 CD / DVD驱动器进行BIOS调用

问题是:我应该使用哪个设备号?

我尝试了0x81(第一个IDE从属设备)和0x82(第二个IDE主机) 在某些PC上可以在其他PC上运行

1 个答案:

答案 0 :(得分:4)

The El Torito (CD-ROM standard)协议仅声明BIOS将模仿 CD/DVD以任意设备号驱动。

可能会提出不同的BIOS 不同的驱动器号。

BIOS调用引导加载程序时,它还会传递 CPU的 DL寄存器中模拟的驱动器号。

引导加载程序必须捕获驱动器 编号并使用它进行BIOS调用。

其余部分类似于仿真启动