首页 理论教育 引导扇区和BPB的实现

引导扇区和BPB的实现

时间:2023-10-21 理论教育 版权反馈
【摘要】:引导扇区即是分区的第一个扇区,这个扇区对文件卷来说至关重要,因为所有与文件系统有关的信息,都存储在这个扇区上,FAT32也不例外。FAT32文件系统驱动程序在试图分析一个分区是不是FAT32文件卷的时候,首先读取这个扇区,然后根据这个扇区内的数据做进一步判断。接下来从偏移0x40开始的26个字节,叫做扩展BPB,只有FAT32卷中才存在。引导扇区的最后两个字节是0x55AA,用于标志一个合法的引导扇区的结束。

引导扇区和BPB的实现

引导扇区即是分区的第一个扇区,这个扇区对文件卷来说至关重要,因为所有与文件系统有关的信息,都存储在这个扇区上,FAT32也不例外。FAT32文件系统驱动程序在试图分析一个分区是不是FAT32文件卷的时候,首先读取这个扇区,然后根据这个扇区内的数据做进一步判断。需要注意的是,这个引导扇区并不一定是真正的引导扇区,因为里面可能没有引导代码。如果对应的分区不是活动分区,则是否存在引导代码,对系统来说是不重要的。但是文件系统相关的信息一定要存在,否则文件系统驱动程序将无法识别这个分区。

引导扇区一般为512B,其中对文件系统有用的数据,是从偏移0x0B(即十进制的11)开始的。从0x0B开始的53个字节,有一个专业的名字,叫做BPB(BIOS Parameter Block,BIOS参数块)。至于为什么叫这个名字,我们无需理会,只需知道这部分数据对所有FAT文件系统,包括FAT12/16和FAT32,都是通用的。接下来从偏移0x40开始的26个字节,叫做扩展BPB,只有FAT32卷中才存在。下面我们详细解释引导扇区的每个字段,了解了这些字段的含义,对FAT文件系统的工作原理也就有一个大致了解了。为了解释方便,我们以表格的形式呈现,如表12-1所示。

表12-1 引导扇区各字段的含义

978-7-111-41444-5-Chapter12-5.jpg(www.xing528.com)

(续)

978-7-111-41444-5-Chapter12-6.jpg

从0x5A往后,就是真正的引导代码了,如果存在的话。引导扇区的最后两个字节是0x55AA,用于标志一个合法的引导扇区的结束。这样通过分析上述各个变量,FAT文件卷的全局信息就可以把握了。实际上,文件系统的实现代码,也是通过综合分析上述各个字段,来判断出文件系统的类型(是FAT12/16还是FAT32),进而得到FAT表的开始位置和长度根目录的开始位置等信息。这样一个可用的文件卷就建立起来。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈