FAT文件系统
+ -

FAT文件系统介绍

2021-07-01 105 0

FAT(File Allocation Table文件分配表)文件系统是Windows操作系统所使用的一种文件系统。FAT文件系统有FAT12,FAT16和FAT32三种。

FAT管理单元

  • FAT文件系统是以“簇”为单元进行数据管理的,其它使用扇区进行管理。
  • 一个“簇”由一组连续的扇区组成,簇所含的扇区数必须是2个整次幂。如1,2,4,8,16,32或64。
  • 簇的最大值为64个扇区,即512字节*64=32K。
  • 簇的编号从2开始进行编号,每个簇都有自己的地址编号,用户文件的数据和目录都存储在簇中。

FAT文件系统的数据结构

FAT文件系统的数据结构比较少,其中两种最重要,分别为文件分配表和目录项。

  • 上面说过,文件和目录存储在簇中,如果一个文件的存储超过一个簇的大小,则用FAT表来描述如何找到别外的簇。
  • FAT文件系统的每个文件和文件夹都被分配一个目录项,目录项中记录着文件名,大小,文件内容的起始地址等描述信息。

FAT文件系统的公共数据

FAT文件系统的公共数据存储在该分区的“引导扇区中”,即该分区的0号扇区中,该分区是文件系统的隐藏(也称保留区)的一部分,我们将此称为DBR(DOS Boot Record DOS引导记录)。
DBR中记录者文件系统在该分区的相对位置,大小,FAT表个数等相关信息。

FAT文件系统使用小端顺序进行数据存储。

FAT文件系统的布局

FAT文件系统分为三部分,保留区,FAT区和数据区。
其中FAT区又分为FAT1区和FAT2区。

111640898593
保留区在FAT12和FAT16中一般为1个扇区,在FAT32中一般为63个扇区。
FAT区中的FAT1和FAT2大小相等,数据完全相同。FAT1紧跟在保留区之后,FAT2紧跟在FAT1之后。
FAT表用来描述数据区中存储单元的分配状态及为文件或目录内容分配的存储单元的前后顺序关系。FAT2之后为数据区的起始位置,数据区按簇进行管理,用于存储用户数据。

0 篇笔记 写笔记

FAT文件系统数据格式
FAT12、FAT16的DBR相同(以下称为FAT)。FAT12/16格式:偏移 意义      大小 解释                     0x00: JMP指令    3字节 SHORT跳转的话,是一个JMP一个NOP。       0x03: OE......
FAT文件系统 FAT
FAT表的位置FAT表一般有2个,紧跟在保留扇区之后。FAT1表的位置可以通过引导记录偏移0x0E~0x0F字节处的保留扇区数计算得到。FAT表的大小FAT表的大小可能通过引导记录偏移0x16~0x17字节处的每FATFAT占用的扇区数计算得到。FAT表的功能FAT表用来描述数据区中存储单元的......
使用FAT32一键格式化硬盘
BOOL CKDiskInitDlg::FormatDisk(){ CComboBox* pList =(CComboBox*)GetDlgItem(IDC_COMBO_DISK_LIST); int nId = pList->GetCurSel(); char ......
FAT文件系统 文件的创建和删除
文件的创建步骤假设在名为“子目录1”的文件夹下创建一个名为”文件1.txt”,文件系统FAT32的簇大小为4096字节,文件大小5000个字节。读取该分区(卷)保留扇区的0号扇区即引导扇区,根据引导扇区的信息找到FAT表,数据区和根目录的位置(2号簇地址)。根据“子目录1”所在的路径,逐步从根目......
FAT文件系统介绍
FAT(File Allocation Table文件分配表)文件系统是Windows操作系统所使用的一种文件系统。FAT文件系统有FAT12,FAT16和FAT32三种。FAT管理单元FAT文件系统是以“簇”为单元进行数据管理的,其它使用扇区进行管理。一个“簇”由一组连续的扇区组成,簇所含的扇......
FAT文件系统 长文件名目录项
如果一个文件的文件名超过8个字符,则文件系统不但会分配短文件名,也会分配长文件名。长文件名的格式长文件和短文件名一样,也以32个字节为单位进行分配。不过一个单位的长文件名可以存储13个字符,且格式为unicode,即为26个字节。一个长文件名不足以保存所有的文件名(包括扩展名),则继续分配下一个长......
FAT文件系统 短文件名目录项
FAT数据区的位置FAT数据区紧跟FAT表2之后,可以按下面的步骤计算:1 . 从引导扇区的偏移0x0E~0x0F得到保留扇区数。2 . 从0x10处得到FAT表的个数3 . 从偏移0X24~0X27得到每个FAT表的大小4 . 数据区起始扇区号 = 保留扇区数 + 每个FAT表的大小扇区数 * F......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!