如何使用BIOS中断设置启动分区

时间:2018-06-13 14:48:33

标签: assembly x86 interrupt bios

Windows允许您设置要从中引导的特定磁盘分区。设置启动分区允许我运行我下次打开计算机时创建的自定义引导加载程序。但是,在我从引导加载程序将引导分区设置回Window的引导分区之前,我实际上无法执行此操作。 BIOS中断(或其他方法)是什么允许我从引导加载程序(实模式x86程序)设置引导分区?

1 个答案:

答案 0 :(得分:1)

没有BIOS中断可以做到这一点。您要做的是为应该引导的分区设置活动分区标志。该标志存储在每个分区表条目的第一个字节中。如果字节为80h,则分区处于活动状态,如果为00h,则分区不活动。请注意,最多一个分区应该是活动的。以下是您需要做的事情:

  • 从磁盘加载MBR或假设它位于0000:0600,这是MBR通常重新定位的位置。
  • 检查偏移01beh,01ceh,01deh和01eeh处的字节以查看哪个分区处于活动状态
  • 将所有这些字节设置为00h(最多一个
  • 除外)
  • 将MBR写回磁盘。由于MBR始终是磁盘的第一个扇区,因此您可以安全地使用Int 13h/AH=03h来简化代码。