FAT32 gaunthan Posted on May 28 2016 ? File System ? ## 概述 ### FAT **FAT**(File Allocation Table,文件分配表)是一种由微软发明并拥有部分专利的文件系统,供MS-DOS使用,也是所有非NT核心的微软操作系统使用的文件系统。 FAT文件系统考虑当时电脑性能有限,所以未被复杂化,因此几乎所有个人电脑的操作系统都支持。这特性使它成为理想的软盘和存储卡文件系统,也适合用作不同操作系统中的数据交流。现在,一般所讲的FAT专指FAT32。 但FAT有一个严重的缺点:当文件删除后写入新数据,FAT不会将文件整理成完整片段再写入,长期使用后会使文件数据变得逐渐分散,而减慢了读写速度(大量时间花费在寻道上)。碎片整理是一种解决方法,但必须经常重组来保持FAT文件系统的效率。 FAT的缺点还有以下几点: * 太浪费磁盘空间 * 磁盘利用效率低 * 文件存储受限制 * 不支持长文件名,只能支持最多8个字符的文件名 * 安全性较差 ### FAT32 **FAT32**采用32位的文件分配表,使其对磁盘的管理能力大大增强,突破了FAT16对每一个分区的容量只有2 GB的限制。由于现在的硬盘生产成本下降,其容量越来越大,运用FAT32的分区格式后,我们可以将一个大硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。但由于FAT32分区内无法存放大于4GB的单个文件,且性能不佳,易产生磁盘碎片。目前已被性能更优异的NTFS分区格式所取代。 ## 参数 |参数|值| |--| |分区标识|0x0B, 0x0C(MBR)EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(GPT)| |最大单文件大小|4 GB (Fat16分区是2 GB )| |最大文件数量|268,435,437| |最长文件名限制|8.3 或者 长文件名255个字符 |最大卷大小|8 TB| |记录日期|创建、修改、访问| |日期范围|1980年1月1日至2107年12月31日| |属性|只读,隐藏,系统,卷标,子目录,文件| |透明加密|不支持| |透明压缩|不支持| |访问许可|无限制| ## 磁盘结构 一个FAT文件系统包括四个不同的部分: ### 保留扇区 保留扇区位于最开始的位置。第一个保留扇区是引导区(分区启动记录)。它包括一个称为基本输入输出参数块的区域(包括一些基本的文件系统信息尤其是它的类型和其它指向其它扇区的指针),通常包括操作系统的启动调用代码。保留扇区的总数记录在引导扇区中的一个参数中。引导扇区中的重要信息可以被DOS和OS/2中称为驱动器参数块的操作系统结构访问。 ### FAT区域 它包含有两份文件分配表,这是出于系统冗余考虑,尽管它很少使用,即使是磁盘修复工具也很少使用它。它是分区信息的映射表,指示簇是如何存储的。 ### 根目录区域 它是在根目录中存储文件和目录信息的目录表。在FAT32下它可以存在分区中的任何位置,但是在早期的版本中它永远紧随FAT区域之后。 ### 数据区域 这是实际的文件和目录数据存储的区域,它占据了分区的绝大部分。通过简单地在FAT中添加文件链接的个数可以任意增加文件大小和子目录个数(只要有空簇存在)。然而需要注意的是每个簇只能被一个文件占有,这样的话如果在32KB大小的簇中有一个1KB大小的文件,那么31KB的空间就浪费掉了。 赏 Wechat Pay Alipay 移植FATFS 文件系统基本概念