Sheet3
Sheet2
Sheet1
FAT32文件系统分析(作者:朱鸥飞)
以金士顿8GSD大卡(格式化FAT32)为例(用WinHex工具,在_物理驱动器_打开SD卡)
主引导记录区MBR
文件系统引导记录区DBR
信息扇区FSINFO
DBR备份
FSINFO备份
FAT1
FAT2
数据区
结束
占1个扇区
占8191个扇区
占4个扇区
占14883个扇区
0(物理扇区号)
SD卡0扇区(物理0扇区)
文件系统0扇区(逻辑0扇区)
文件系统1扇区
文件系统8扇区
文件系统9扇区
分区前扇区(0-8191)
FAT32文件系统(FAT32文件系统扇区(8192-15278079))
系统分区前保留区(只能扇区管理)
FAT32文件系统保留区(只能扇区管理)
FAT区(只能扇区管理)
数据区(能扇区、簇管理)
1个扇区=512个字节1个簇=8个扇区
以上数字都是根据主引导区MBR、系统引导区DBR的数据得出来的在FAT文件系统中,同时使用“扇区地址”和“簇地址”两种地址管理方式。这是因为只有存储用户数据的数据区使用簇进行管理(FAT12和FAT16的根目录除外),所有簇都位于数据区。其他文件系统管理数据区域是不以簇进行管理的,这部分区域使用扇区地址进行管理。文件系统的起始扇区为0号扇区。要想定位一个FAT32文件系统的数据起始处,可以通过引导扇区的相关参数计算出来。1.从引导扇区的偏移0x0E~0x0F字节处得到保留扇区。2.从偏移0x10字节处得到FAT表的个数。3.从偏移0x24~0x27字节处得到每个FAT表的大小扇区数。4.利用如下公式计算: 保留扇区数+每个FAT表大小扇区数×FAT表个数=数据区起始扇区号 5.要想计算其他已知簇号的扇区号,还要由引导扇区的偏移0x0D字节处查找到每个簇大小扇区数,并 使用如下公式计算: 某簇起始扇区号=保留扇区数+每个FAT表大小扇区数×FAT表个数+(该簇簇号-2)×每簇扇区数
.00
000.00
000.00
000.00
000.00
000.00
000.00
000.00
000.00
000.00
0000.00
0000.00
0000000.00
|
|