认识FAT32
版权所有,禁止转载。 FAT32 文件系统是一个比较重要的文件系统,并且,设计思路比较简单。在 windows 操作系统,以及嵌入式平台上有广泛的用途。对于一个没有安装操作系统的普通 FAT32 分区的磁盘,主要的结构有: DBR , FAT 表,备份 FAT 表,以及数据区。注意与 FAT16 和 FAT12 区分, FAT32 是没有单独的根目录区的,因为单独的根目录区,对根目录下面的文件数量是有限制的。对于一个划分了 FAT32 分区的磁盘来说,在 DBR 里面包含有重要的磁盘分区信息。操作系统读取磁盘的时候,按照 DBR 和 FAT 表来读取和寻找文件的。 在 DBR 中,最重要的数据结构是 BPB 块, BPB 表里面包含了很多有用的信息。 Q : BPB 表保存在哪里? A :保存在 DBR 区中,而 DBR 区,在 FAT32 格式的磁盘分区中一般位于 0 磁头 1 柱面 1 扇区的位置。 0 磁头 0 柱面留给 MBR 以及保留扇区。如果没有安装操作系统,那么就在 0 磁头 0 柱面上第 1 个扇区。本文的实验没有安装操作系统的 SDCARD 。 知道了 BPB 保存在哪里后,要掌握 FAT32 分区情况,就需要知道一些关键的信息: 1 。 DBR 后面有多少的保留扇区? 2 。 FAT 表保存在哪里? 3 。一个 FAT 占多少扇区? 4 。在 FAT32 里面已经没有了根目录区的概念了,那么根目录在哪个扇区? 了解了这些以后,我们就能够大概跟踪到各个文件了。 DBR 截图 对照以上截图,以及 FAT 手册,我们就可以回答上面的这几个问题。 Q : DBR 后面有多少保留扇区? A : 0X0E 2 个字节。 0020 个扇区,也就是加上 DBR 一共 32 个扇区 Q : FAT 表保存在哪里? A :第一个柱面 DBR +保留扇区之后。第 32 个扇区之后,保存着 FAT 表 Q : 1 个 FAT 表占用多少扇区? A : 0X24 4 个字节。 01fc 个扇区 Q :根目录在哪个扇区? A :位于的簇号记录于 DBR 0X2C 4 个字节。不过,一般是在 FAT 表之后 DBR + 2 * FAT 表扇区之后。 0X0002 扇区 Q : FAT 表是以簇为单位来管理的,一个簇有多少扇区? A : DBR 里面偏移 0x0D 一个字...