在软盘映像上存储引导加载程序的位置?

时间:2010-09-14 03:57:42

标签: bootloader machine-code

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

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

2 个答案:

答案 0 :(得分:2)

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

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

DOS启动软盘有一个3字节JMP指令跳过磁盘参数块(DPB),它详细说明了磁盘的属性。但是,如果您完全控制磁盘和启动代码,我认为您不需要遵循该约定。我不记得任何BIOS'检查加载的有效性(虽然不可否认它是很长时间之前)。

答案 1 :(得分:0)

这是非常长的时间,但如果我在DOS中回忆它存储在MBR中。我相信今天仍然如此

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

相关问题