我正在为 FAT12 文件系统编写一个两阶段引导加载程序。引导加载程序的 stage1 从 FAT12 文件系统中的软盘加载 stage2。现在我在将簇号(我从 FAT 表中获得)转换为包含磁道、磁头和扇区号的格式时遇到问题。我正在按照教程http://www.brokenthorn.com/Resources/OSDev6.html制作引导加载程序。
我的困惑是,在教程中,从 FAT 获得的簇号首先转换为 LBA(线性块地址)格式,然后转换为 CHS(气缸盖扇区)格式,然后再将扇区读入内存。
为什么不能直接将Cluster Number转换成CHS格式??FAT表不是线性存储簇号吗?我想确切地知道我在这里缺少什么?
教程中使用的引导加载程序的源代码链接位于链接http://www.brokenthorn.com/Resources/OSDev6.html的页面末尾。