ExFAT全称为Extended File Allocation Table File System,即扩展文件分配表,是微软在Windows Embeded 6.0(包括Windows CE 6.0、Windows Mobile)中引入的一种适合于闪存的文件系统。
微软在Windows CE 6.0中首次推出ExFAT后,也逐渐把ExFAT应用于桌面系统中。桌面系统是从Windows Vista SP1首先开始支持ExFAT,而Windows XP目前还没有直接提供对ExFAT的支持,如果想在Windows XP中使用ExFAT文件系统,用户需要到微软官方网站下载一个特殊补丁。该补丁不是必打的补丁,仅仅是为了提供对ExFAT文件系统格式的支持。Windows XP中支持ExFAT文件系统的补丁名称为“KB955704”,官方下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=1cbe3906-ddd1-4ca2-b727-c2dff5e30f61。
将Windows XP打上“KB955704”补丁,就可以将优盘或者是硬盘的分区格式化成ExFAT文件系统了,如图4-516所示。另外,Windows 7和Windows 8都可以支持ExFAT文件系统。
图4-516就是在打了“KB955704”补丁的Windows XP上格式化的界面,“文件系统”选项当中已经有“ExFAT”这一项了。
ExFAT是为闪存介质而生的,如优盘、数码卡等。现在闪存介质的容量越来越大,FAT文件系统能够管理的空间有限,而NTFS文件系统又不适合使用在闪存介质上。NTFS文件系统是日志型文件系统,需要记录详细的读/写操作,对闪存介质的芯片磨损比较大,要不断读/写,正是基于这些考虑,微软推出了ExFAT文件系统。
ExFAT文件系统跟原来的FAT文件系统相比,主要有以下特点:
(1)支持更大的分区
原来的FAT16文件系统最大可以支持4GB的分区,FAT32文件系统最大支持32GB的分区,而微软官方网站提供的信息称:ExFAT理论上最大可以支持64ZB的分区,系统建议支持的最大分区为512TB。
(2)支持更大的文件
原来的FAT16、FAT32文件系统对单个文件的大小最大支持4GB,而微软官方网站提供的信息称:ExFAT理论上最大可以支持64ZB的文件,系统建议支持的最大文件为512TB。
(3)支持更大的簇大小
原来的FAT16、FAT32文件系统支持最大的簇大小为64KB,而ExFAT能够支持最大32MB的簇大小。图4-517是在Windows 7系统上对一个8GB优盘格式化的界面。
从图4-517可以看出,格式化时可选的簇大小范围是512B~32MB,范围非常大。更大的簇大小可以使系统对大文件的处理变得高效。
(4)支持访问控制列表
访问控制列表(Access Control Lists)是类似于NTFS文件系统中权限控制的一种功能。
(5)支持TFAT
TFAT(Transaction-Safe FAT,安全FAT文件系统)的作用是保证操作的完整性,是为了弥补FAT系统缺陷而生的。就拿一个FAT格式的优盘来说,如果在复制或移动、建立文件或目录时,突然将优盘拔掉或是突然断电等因素都会造成数据的中断,也就是无法保证数据完整地写入到优盘中。而在TFAT的支持下,文件在传输时采用双索引机制,即当文件从一个设备移动到另一个设备时,首先在目标设备中建立一个临时索引,直到传输完毕之后这个临时索引才转存为标准的索引,然后再将原文件删去,从而避免了移动过程中可能遭遇的数据丢失问题。
(6)支持快速分配的簇位图功能
(7)更好的磁盘连续布局功能
(8)支持通用协调时间(UTC)的时间戳
(9)增加了台式计算机与移动媒体之间的兼容性
虽然ExFAT有这么多优越性,但要被广泛接受还需要有较长的时间,它更多的是一项立足于未来的技术。因为至少ExFAT首先需要被各个设备支持才行。操作系统方面,只有最新的Windows 7和Windows 8才可以支持ExFAT,Windows XP则需要打专门的补丁,而Mac、Linux、UNIX等操作系统暂时还不能支持。至于数码相机、智能手机等设备,可以通过固件升级来支持ExFAT,但这也得等到厂商推出相应的固件才行。