我正在创建一个读取分区表并加载可引导分区的第一个扇区的基本 MBR。我对 CHS 和 LBA 寻址模式感到困惑。我在一个教程中读到除了兼容性原因外,CHS 或多或少都没有使用。所以,我选择使用 LBA(INT 13h 扩展)。要加载驱动器的扇区,我必须从该分区的分区表中读取 CHS 值。只有这样我才能将其转换为 LBA 并将其存储在“磁盘地址包”中。
我的疑问是,分区表中的 CHS 每个是 1 个字节。我应该直接取这个值并将其转换为 LBA(或)我必须先将其转换为,
Cylinder = 10 bits
Sector = 6 bits
Head = 8 bits
然后将其转换为LBA?
注意:我的 MBR 必须能够访问 HDD 和 USB 上的扇区 - 这就是动机。
操作系统:Ubuntu
组装者:气体