我要编写并测试一个bootloader。为了做到这一点,我计划将引导加载程序复制到软盘映像文件并将其挂载到VM中。
但是,我不确定将引导加载程序的机器代码放在何处。它只是被转储到文件的前几个字节中吗?
答案 0 :(得分:2)
软盘的引导扇区是第一个扇区。如果您正在谈论原始软盘映像(1440K),它应该是映像文件的前512个字节。
从内存中,BIOS将其加载到7c00:0000(实模式),然后跳转到该地址。
DOS启动软盘有一个3字节JMP
指令跳过磁盘参数块(DPB),它详细说明了磁盘的属性。但是,如果您完全控制磁盘和启动代码,我认为您不需要遵循该约定。我不记得任何BIOS'检查加载的有效性(虽然不可否认它是很长时间之前)。
答案 1 :(得分:0)
这是非常长的时间,但如果我在DOS中回忆它存储在MBR中。我相信今天仍然如此