Bootloader-如何找到正确的分区?
Bootloader- how to find correct partition?
我正在编写一个在 FAT32 中查找 stage2 的引导加载程序。
我几乎所有的代码都在工作,但一方面 - 找到正确的分区或者我的分区的扇区偏移量
BIOS 非常友好地为我们提供了我们从中加载的驱动器编号:
mov [_BOOTDRIVE], dl
然而,有什么方法可以获取我们从中加载的分区的扇区,还是必须以某种方式对其进行硬编码?
当 MBR 引导扇区加载并执行分区引导扇区时,它会使用驱动器号加载 DL,并 DS:SI 使用指针加载所选分区的分区 table 中的条目。您的引导加载程序可以读取该条目以确定其分区的位置。
我正在编写一个在 FAT32 中查找 stage2 的引导加载程序。 我几乎所有的代码都在工作,但一方面 - 找到正确的分区或者我的分区的扇区偏移量
BIOS 非常友好地为我们提供了我们从中加载的驱动器编号:
mov [_BOOTDRIVE], dl
然而,有什么方法可以获取我们从中加载的分区的扇区,还是必须以某种方式对其进行硬编码?
当 MBR 引导扇区加载并执行分区引导扇区时,它会使用驱动器号加载 DL,并 DS:SI 使用指针加载所选分区的分区 table 中的条目。您的引导加载程序可以读取该条目以确定其分区的位置。