4

我将编写和测试引导加载程序。为了做到这一点,我打算将引导加载程序复制到软盘映像文件中并将其挂载到 VM 中。

但是,我不确定将引导加载程序的机器代码放在哪里。它只是被转储到文件的前几个字节中吗?

4

2 回答 2

2

软盘的引导扇区是第一个扇区。如果您谈论的是原始软盘映像 (1440K),它应该是映像文件的前 512 个字节。

BIOS 将其从内存加载到 7c00:0000(实模式),然后跳转到该地址。

DOS 引导软盘有一个 3 字节的JMP指令来跳过磁盘参数块 (DPB),它详细说明了磁盘的属性。但是,如果您完全控制磁盘和引导代码,我认为您不需要遵循该约定。我不记得有任何 BIOS 会检查加载的内容是否有效(尽管这是很久以前的事了)。

于 2010-09-14T04:22:24.003 回答
0

它已经很长时间了,但如果我记得在 DOS 中它存储在 MBR 中。我相信今天还是一样

http://en.wikipedia.org/wiki/Master_boot_record

于 2010-09-14T04:07:38.277 回答