没有模拟启动 OS
no emulation booting OS
我正在研究 no-emulation 引导 OS ,正如你在 no-emulation 引导中所知道的,引导映像可以是任何
(实模式)二进制可执行代码。
我为我的 os 使用 2 阶段引导加载程序,首先我加载第一阶段
我遇到的问题是在第二阶段,当引导加载程序尝试加载 OS 图像时,它需要一个设备号
CD/DVD 驱动器进行 BIOS 调用
问题是:我应该使用哪个设备号?
我试过0x81
(第一个IDE奴隶)和0x82
(第二个IDE主人)
在某些电脑上它可以在其他电脑上工作但不能
The El Torito (CD-ROM standard) 协议仅声明 BIOS
应模拟
CD/DVD
由任意设备号驱动。
不同的BIOS
可能想出
不同的驱动器编号。
当 BIOS 调用引导加载程序时,它还会通过
CPU 的 DL
寄存器中的模拟驱动器编号 .
引导加载程序必须捕获驱动器
编号并使用它进行 BIOS 调用。
其余部分与仿真启动类似
我正在研究 no-emulation 引导 OS ,正如你在 no-emulation 引导中所知道的,引导映像可以是任何 (实模式)二进制可执行代码。
我为我的 os 使用 2 阶段引导加载程序,首先我加载第一阶段 我遇到的问题是在第二阶段,当引导加载程序尝试加载 OS 图像时,它需要一个设备号 CD/DVD 驱动器进行 BIOS 调用
问题是:我应该使用哪个设备号?
我试过0x81
(第一个IDE奴隶)和0x82
(第二个IDE主人)
在某些电脑上它可以在其他电脑上工作但不能
The El Torito (CD-ROM standard) 协议仅声明 BIOS
应模拟
CD/DVD
由任意设备号驱动。
不同的BIOS
可能想出
不同的驱动器编号。
当 BIOS 调用引导加载程序时,它还会通过
CPU 的 DL
寄存器中的模拟驱动器编号 .
引导加载程序必须捕获驱动器 编号并使用它进行 BIOS 调用。
其余部分与仿真启动类似