exFAT

较适合于闪存的文件系统

exFATExtensible File Allocation Table),是微軟公司(Microsoft)開發的一種較適合於快閃記憶體檔案系統。最先從該公司的Windows Embedded CE 6.0作業系統引入這種檔案系統,後又延伸到Windows Vista Service Pack 1作業系統中[3]。exFAT在微軟發布其規範之前一直是專有的,微軟在其設計的幾個要素上擁有專利[4]exFAT 文件系统是 FAT 系列文件系统中 FAT32 的后继系统[5]

exFAT
开发者微軟
全称Extended File Allocation Table
发布2006年11月 (Windows Embedded CE 6.0)
分区标识0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
结构
目录内容Table
文件分配位陣列連結串列
坏块集群標記
限制
最大文件尺寸64 ZiB,建议512 TiB[1]
最大文件数量單一目錄最多2,796,202[2]
最长文件名255個字元(UTF-16)
最大卷容量64ZiB,建議512TiB[1]
功能
日期范围1980年1月1日至2107年12月31日
属性唯讀、隱藏、系統、磁碟區標籤、子目錄、封存
文件系统权限
操作系统支持

整個FAT家族(包括exFAT)都適合應用在較少記憶體與需要省電的嵌入式裝置,FAT32文件系統有單一檔案大小不能超過4 GB的限制,在不適合應用NTFS的情況,可以考慮使用exFAT。

Windows 8及更高版本的系统原生支持exFAT启动,同时支持以特殊方式安装在exFAT分区中运行。[6]

優點

exFAT相較於之前FAT檔案系統的優勢在於:

  • 可拓展至更大磁碟大小,理论上64ZiB,推荐最大512TiB,相较32位限制的FAT32分区的2TB(每扇区512字节)。
  • 理論的檔案大小限制為264 - 1位元組(16 exbibytes - 1),而FAT32檔案系统中單一檔案限制大小為232 - 1位元組(4 GiB)。對於單檔超過4 GB的使用者來說,exFAT提供了很好的解決方案。
  • 叢集大小最大可為每扇區225位元組,最大32 MB。
  • 由於採用了空餘空間尋址,空間分配和刪除的性能得以改進。
  • 在單一檔案夾內支援超過216個檔案。
  • 支援存取控制清單(但在Windows Vista SP1中尚未支援)[7]
  • 提供給OEM的可定義參數可以使這個檔案系統適應不同特色的設備。
  • 支持熱插拔資料完整無損機制Transaction-Safe FAT(TFAT,在WinCE中可選的功能)。
  • 時間戳記能夠使用UTC[8]時間而不僅僅是所在時區(從Vista SP2開始)

缺點

exFAT比過去的FAT文件系統的劣勢在於:

  • 某些舊設備(如个人数码助理(PDA)和数码相机)無法使用exFAT格式的記憶卡。
  • 使用exFAT的設備將不能用Windows VistaReadyBoost功能。(Windows 7 以上版本中的新的exFAT系統支援ReadyBoost[9]
  • 專利授權方式不明確。夏普RIM[10]任天堂分别和微軟达成了exFAT授權協議。存在專利費。微軟曾經為FAT的一部分申請專利。[11]曾经有用户从三星的Android中分离出不基于FUSE实现的exFAT内核模块代码并按照Linux的GPL协议释放出来,被认为三星得到微软支持下开发的。[12]之后三星也正式释放了相应模块代码。
    • 2019年8月,微软公开了exFAT的技术文档,并支持将exFAT功能整合到Linux内核[13]。Linux内核将于版本5.4中提供初步支持[14][15]
  • Windows XP SP3之前的舊版Windows暂时不支援exFAT,Windows XP可以安裝修改更新KB955704來支援exFAT[16],Linux作業系統需要通过第三方开发的文件系统驱动来支援exFAT(例如,谷歌公司的exfat工具[17]、FUSE exfat、exfat-nofuse[18]、sdfat),Mac OS X可透過升級至10.6.5來全面支援exFAT[19]
  • UEFI不支持exFAT,只支持FATFAT32NTFS,格式化为exFAT的EFI启动磁盘将无法被识别。然而现今支持EFI引导安装的主流操作系统,其安装文件都存在单个文件大于4GB的情况(如Windows 10install.wimLinux发行版放置系统文件的SquashFS映像)仅能使用NTFS,显然不能再使用FATFAT32

參見

參考資料

  1. ^ 1.0 1.1 KB955704. 2009-01-27 [2009-01-28]. (原始内容存档于2011-05-24). Description of the exFAT file system driver update package [for 32-bit XP] 
  2. ^ US application 20,090,164,440  contains Microsoft exFAT specification (revision 1.00)
  3. ^ Brandon LeBlanc. Vista SP1白皮書. 微軟. 2007-08-28 [2007-08-28]. (原始内容存档于2007-09-02). 
  4. ^ Microsoft. exFAT Specification. August 28, 2019 [2021-01-02]. (原始内容存档于2020-07-19). 
  5. ^ exFAT 文件系统规范. [2021-12-13]. (原始内容存档于2021-12-13). 
  6. ^ 在exFAT分区中安装并启动Windows系统 - IT之家. www.ithome.com. 2019-06-23 [2019-06-23] (中文). 
  7. ^ Anandtech - Second Shot: Windows Vista SP1. [2009-01-28]. (原始内容存档于2008-12-02). 
  8. ^ Mike Nash: Windows Vista Service Pack 2 Beta页面存档备份,存于互联网档案馆),The Windows Blog
  9. ^ exFAT Versus FAT32 Versus NTFS. [2008-07-06]. (原始内容存档于2013-02-02). 
  10. ^ RIM获微软exFAT专利授权协议:用于存储技术. [2012-09-19]. (原始内容存档于2012-09-20). 
  11. ^ Elizabeth Montalbano. Microsoft FAT patents upheld. Computerworld. 2006-01-11 [2008-02-22]. (原始内容存档于2012-06-05). 
  12. ^ Samsung Properly Open-Sources exFAT File-System - Phoronix. www.phoronix.com. [2019-04-03]. (原始内容存档于2019-04-03). 
  13. ^ Microsoft wants to bring exFAT to the Linux kernel. TechCrunch. [2019-09-11]. (原始内容存档于2019-10-16) (美国英语). 
  14. ^ cnBeta. [图]Linux Kernel 5.4正式版发布:支持exFAT 引入内核锁定功能 - Linux. cnBeta.COM. [2019-11-26]. (原始内容存档于2019-11-25) (中文(中国大陆)). 
  15. ^ Prakash, Abhishek. Linux Kernel 5.4 Released! Brings ExFAT & Lockdown to Linux. https://itsfoss.com/. [2019-11-26]. (原始内容存档于2019-12-08) (美国英语). 
  16. ^ KB955704. [2009-01-28]. (原始内容存档于2011-05-24). 
  17. ^ exfat - Free exFAT file system implementation. [2012-09-19]. (原始内容存档于2012-09-22). 
  18. ^ exfat-nofuse 的 GitHub 项目主页. [2019-09-14]. (原始内容存档于2019-03-26). 
  19. ^ Mac OS X 10.6.5 正式支援 exFAT-蘋果中文知識網. [2011-03-05]. (原始内容存档于2011-02-27). 

外部連結