首页 > 代码库 > FAT32文件系统的数据结构
FAT32文件系统的数据结构
FAT32文件系统多用于U盘,内存卡等小容量的存储介质中,FAT就是File Allocation Table文件分配表的缩写,32表示每个FAT表项占用32位。在FAT32文件系统之前还有两个版本分别是FAT12和FAT16,同理根据这两个文件系统名我们可以看出FAT12的FAT表项是占用12位,FAT16占用16位。由于存储介质的不断扩大 FAT12,FAT16已经退出我们的视线了。所以我们可以不用学FAT12、FAT16直接学FAT32就行。他们的文件系统结构基本上都相同的。
在FAT32文件系统中用簇作为存储数据的单位,一个簇是由2的N次方个扇区组成。所以一个文件最少占用1个簇。 如果簇大小是64个扇区,即使你存入的文件只有一个字节 ,那么它占用的空间也是32KB(64个扇区)。在FAT32文件系统中簇是从2号簇开始计算的,2号簇往往是根目录。(因为FAT表项的0号簇和1号簇的FAT表项被标志位占用了)下图是FAT32文件系统的数据结构图
DBR是文件系统的引导扇区,在数据恢复中DBR的结构是非常重要的
保留区我们可以不用管它,稍微了解下即可
FAT1和FAT2是两个完全一样的FAT表,其中FAT2是FAT1的备份。真正起作用的是FAT1 ,当FAT1损坏的时候,我们可以将FAT2写到FAT1里修复FAT表。
数据区就是用来存入用于的数据区域,也是文件系统中占用空间最大的一部分区域。当数据区的内容被覆盖时往往数据是不能修复的。所以我们在恢复数据时主要是修复DBR和FAT表。
FAT32文件系统的数据结构类型比较少,其中重要的结构有两种分别是文件分配表和目录项,文件和文件夹的内容存储在数据区的簇中,有的时候文件是不连续存储的这就需要FAT表来指出这个文件的下一个簇具体是哪个簇。在FAT32文件系统中每个文件和文件夹都会有一个目录项目录项里记录着文件名,文件大小,创建时间、修改时间、最后访问时间、文件大小和文件的起始簇。
本文出自 “winhex数据恢复教程” 博客,请务必保留此出处http://shujvhuifu.blog.51cto.com/10412640/1915458
FAT32文件系统的数据结构