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文件系统中每个文件和文件夹都会有一个目录项目录项里记录着文件名,文件大小,创建时间、修改时间、最后访问时间、文件大小和文件的起始簇。

时间: 2024-11-02 19:08:05

FAT32文件系统的数据结构的相关文章

FAT32文件系统的DBR数据结构和作用

DBR是FAT32文件系统的引导扇区,是文件系统的第一个扇区.DBR扇区记录着FAT32文件系统的很多关键参数,其中包括FAT表的起始扇区数.FAT表的大小.FAT表的个数.文件系统的总扇区数.每簇的大小扇区数.每扇区字节数等参数信息. 在数据恢复时DBR的结构是非常重要的,经常会看到U盘或内存卡的出现"磁盘未被格式化,需要格式化"才能用,出现这种故障现象时首先就应该想到是文件系统的结构损坏了,导致操作系统不能正确识别文件系统.最有可能是DBR损坏了导致的,所以学好DBR的数据结构是非

FAT32文件系统学习(3) —— 数据区(DATA区)

FAT32文件系统学习(3) —— 数据区(DATA区) 今天继续学习FAT32文件系统的数据区部分(Data区).其实这一篇应该是最有意思的,我们可以通过在U盘内放入一些文件,然后在程序中读取出来:反过来也可以用程序在U盘内写入一下数据,然后在windows下可以看到写入的文件.这些笔者都会在这篇文章中演示.同时,在写这篇文章的时候笔者也发现了许多意想不到的规律. 1.本文目录 1.读取根目录 2.短文件名目录项 3.长文件名目录项 4.U盘写入文件夹 5.参考文献 2.读取根目录 两张FAT

SD卡FAT32文件系统格式

一.SD卡FAT32文件系统 二.DBR(DOS BOOT RECORD,DOS引导记录) 1.DBR [1]0x00~0x02:3字节,"EB5890",跳转指令. [2]0x03~0x0A:8字节,文件系统标志和版本号,这里为MSDOS5.0. [3]0x0B~0x0C:2字节,每扇区字节数,512(0X02 00). [4]0x0D~0x0D:1字节,每簇扇区数,8(0x08),这个值不能为0,而且必须是2的整数次方,比如1.2.4.8.16.32.64.128. [5]0x0E

FAT32文件系统的存储组织结构(一)

对磁盘的物理结构,逻辑结构和存储结构有了比较深入的了解后,我们来仔细探讨FAT32文件系统的存储组织结构.说到文件系统的组织结构,我们应该马上意识到,这指的是文件系统在同一个分区内的组织结构,在这个话题上,我们完全可以不管分区之外的所有事情. 为了分析FAT32文件系统的存储组织结构,我们来建立一个实实在在的文件系统:将U盘插入电脑,将U盘格式化成FAT32分区格式: 以建好的U盘FAT32文件系统为基础,下面从文件系统的各个组成来分别加以介绍. 分区引导扇区DBR 用winhex打开U盘显示如

FAT32文件系统--For TF卡

1. TF卡空间是如何分配的? 下面以4GB TF卡为例,通过WinHex工具进行分析,其空间分配如下图所示: FAT32把目录当做文件来管理,所以没有独立的目录区,所有的文件目录项都是在数据区里面的. 2. 启动扇区 (DBR) DBR(DOS BOOT RECORD,DOS引导记录),位于柱面0,磁头1,扇区1,即逻辑扇区0 ;    DBR包括: •  一个引导程序: DOS 引导程序完成DOS系统文件(IO.SYS,MSDOS.SYS)的定位与装载 • 一个BPB:  BPB用来描述本D

【转载】FAT32文件系统详解

硬盘是用来存储数据的,为了使用和管理方便,这些数据以文件的形式存储在硬盘上.任何操作系统都有自己的文件管理系统,不同的文件系统又有各自不同的逻辑组织方式.例如:常见的文件系统有FAT,NTFS,EXT,UFS,HFS+等等.作者后面的文章会一一讲到,下面就来学习一下基于Windows的FAT32文件系统. FAT32文件系统由DBR及其保留扇区,FAT1,FAT2 和 DATA 四个部分组成,其机构如下图: 这些结构是在分区被格式化时创建出来的,含义解释如下: DBR及其保留扇区:DBR的含义是

FAT32文件系统学习(2) —— FAT表

1.题外话 在继续本文学习FAT32文件系统之前,先来插入一点别的话题.我们都知道U盘有一个属性是容量,就拿笔者的U盘为例,笔者手上的U盘是金士顿的DataTraveler G3 4GB的一个U盘.电脑上显示的容量如图1所示为3.75GB.那么这个3.75GB是怎么计算出来的呢? 图 1 系统显示U盘属性 我们先来回顾一下上一篇BPB参数当中的Sectors(扇区总数)这个参数,这一参数代表了这个U盘在出厂时的总扇区数,笔者手上这个是7884672个,可以从图2中看到.其中每个扇区为512 B,

FAT32文件系统学习(1) —— BPB的理解

FAT 32 文件系统学习 1.本文的目标 本文将通过实际读取一个FAT32格式的U盘来简单了解和学习FAT32文件系统的格式.虽然目前windwos操作系统的主流文件系统格式是NTFS,但是FAT32由于其兼容性原因,还是有一定的学习价值.为了能做出一个窗体程序提供直观的感觉,本文的代码采用c#编写,对应的c++代码也会附上. 2.本文目录 1.本文的目标 2.什么是FAT32 3.引导区 2.什么是FAT32 FAT32是Windwos系统硬盘格式分区的一种.这种格式采用32位的文件分配表,

FAT32文件系统的存储组织结构(二)

前面已经基于一个格式化的空U盘分析了一下FAT32文件系统存储的组织结构,下面我们从文件操作的角度来分析一下文件系统的运作机制.由于换了个U盘,所以仍然贴出刚格式化的空U盘的几个重要的数据区如下:   我们可以看出,在分区格式化的时候,系统将卷标TEST_FAT32存储在2号簇,即跟目录区,如上面根目录贴图所示.同时,在FDT区2号簇标记位置写入了文件结束符FF FF FF 0F.显然,FAT32文件系统将目录当做普通文件来处理的. 下面我们在根目录下新建一个文件夹TEST1,看会有什么变化: