【问题标题】:Where to store the bootloader on a floppy image?将引导加载程序存储在软盘映像的什么位置?
【发布时间】:2010-09-14 03:57:41
【问题描述】:

我要编写和测试引导加载程序。为此,我计划将引导加载程序复制到软盘映像文件中,然后将其挂载到 VM 中。

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

【问题讨论】:

    标签: bootloader machine-code


    【解决方案1】:

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

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

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

    【讨论】:

    • 完美。这正是我想知道的。
    【解决方案2】:

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

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

    【讨论】:

    • 不过,这并不能真正回答我的问题。 在 IMG 文件中存储在哪里?
    猜你喜欢
    • 2023-02-21
    • 2020-10-21
    • 2014-07-16
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2012-04-09
    相关资源
    最近更新 更多