FAT32文件格式

本文详细介绍了FAT32文件格式,包括DBR(Dos Boot Record)的各个字段,FAT表的位置计算和内容解析,以及数据区的构成,如目录区和文件区的结构。通过实例解释了文件簇号与FAT表的关系,帮助理解文件在FAT32系统中的存储方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FAT 32 文件格式

 

一、 DBR Dos Boot Record

1 :相对跳转指令

2 :一个扇区的大小 0x0200[512byte]

3 :一个簇的扇区数 0x08

4 FAT 表的开始位置 0x0020[32 扇区 ]

5 FAT 表的个数 0x02

6 FAT 扇区数 0x00161B

 

二、 FAT

FAT 位置计算公式: FAT 开始位置 [0x0020]* 扇区大小 [0x0200]=0x4000

0~1 FAT 表的标志位

2 2 簇的使用状况 [2 簇一般存储的是根目录 ]

3 3 簇的使用状况

FAT 表的内容:

      0x00000000 : 未使用

      0x0ffffff8 :以上的时候数据区终了

      0x0ffffff7 :异常区

      0x00000002 0x0ffffff6 :下一个存储区域的簇号

 

三、 数据区

数据区位置的计算公式: FAT 开始位置 [0x0020]* 扇区大小 [0x0200] + FAT 表个数 [0x02]*FAT 表中扇区数 [0x00161B] = 0x58AC00

1、 目录区

1 :文件名(当第一位为 E5 时,表示已被删除)

2 :扩展名

3 :文件属性(最高两位保留未用, 0 5 位分别是只读位、隐藏位、系统位、卷标位、子目录位、归档位)(当为 0F 时表示存储的长文件名)

4 :创建时间的 10 毫秒位

5 :文件创建时间( H*2048 + M*32 + S/2

6 :文件创建日期(( Y - 1980 *512 + M*32 + D

7 :文件最后访问日期

8 :文件起始簇号的高 16

9 :文件最近修改时间

10 :文件最近修改日期

11 :文件起始簇号的低 16

12 :文件的长度

 

2、 文件区

保存文件的内容

 

3、

文件簇号 [0x00000003] ,对应的 FAT 表的内容为 [0xFFFFFF0F] ,所以 setting 目录中的文件信息只保存在簇 3 中。如果对应 FAT 表的内容为其它值,如 [0x00000004] ,就表示,簇 4 中也存储的是 setting 目录中的文件信息。知道找到表示结束符 [0xFFFFFF0F]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值