ExFAT

exFAT（イーエックスファット、Extended File Allocation Table）は、マイクロソフトによって2006年に導入されたプロプライエタリなファイルシステムである。USBフラッシュドライブやSDカードなどのフラッシュドライブ向けに最適化がされている。 データ構造のオーバーヘッドによりNTFSが適切ではない用途に使用することができる。 32 GiBを超えるメモリーカード規格であるSDXC/SDUCメモリーカードやメモリースティックXCの標準ファイルシステムに採用されている。 2019年8月28日、マイクロソフトはexFATの仕様を初めて公開した。 Windows Embedded CE 6.0で初めて導入され、デスクトップ向けにはWindows Vista SP1 で初めて導入された。Windows XP と Windows Server 2003 は更新プログラムをインストールする必要がある。 Macにおいては、2010年にAppleにより、SDXCカードスロットの付いたMac miniとiMacがリリースされ付属する専用Mac OS X v10.6.4が対応した後、Mac OS X v10.6.5以降で対応している。 Linuxにおいては、有志がLinux Kernel Mailing Listにおいてパッチの開発を行っていたが、現在ではTuxera（英語版、中国語版）がマイクロソフトと知的所有権の合意のもと、Linuxシステム向けのドライバを開発している。また、exfatプロジェクトによってFUSEを利用した実装による読み書き可能なexFATドライバが公開されているほか、FUSEを利用しない実装についても、Dynamic Kernel Module Support（英語版）を利用したカーネルモジュールとして公開されている。 2009年12月10日にMicrosoftが特許を保有するexFAT技術のライセンス提供を開始。ただしLinuxへの導入には反対。 2019年8月28日にexFATの仕様が公開され、今後のLinux System Definitionの改定でOINメンバーがexFATの特許を利用できるようにすると発表した。これを受けて、LinuxカーネルにexFATを組み込む作業が開始され、同年11月24日リリースのバージョン5.4においてサポートされた。 従来のFile Allocation Table (FAT) ファイルシステムに対する優位点としては以下のものがある。 大きなディスクサイズに対するスケーラビリティ。 理論上の最大ファイルサイズは264バイト (16EiB)。従来は最大 232バイト (4GiB)。 理論上の最大クラスタサイズは2255セクタ。実装上の限界は32MiB。 空き領域ビットマップの導入による、空き領域割り当てと削除のパフォーマンス向上。 1つのディレクトリで最大2,796,202のファイル格納をサポート。 アクセス制御リストのサポート（Windows Vista SP1/7 RTMでは未サポート）。 Transaction-Safe FAT File System (TFAT) のサポート（WinCEでのオプション機能）。 特定のデバイスの特性に合わせてファイルシステムをカスタマイズできるようにするためのOEM定義のパラメータを用意。 UTCタイムスタンプが導入（Windows Vista SP2から） 修正時刻のタイムスタンプの分解能が従来の2秒から10ミリ秒になったことによる、いわゆる2秒問題（NTFSなどからファイルをコピーした際に修正時刻が最大2秒ずれる問題）の解決。 従来のFATファイルシステムに対する欠点としては以下のものがある。 exFATを使うデバイスは、Windows VistaのReadyBoostを利用できない。なお、Windows 7以降では利用可能。 ライセンスが不明確である。なお、MicrosoftはFATの一部に関する特許を取得している。 Windows XPにおいてOSをインストールするファイルシステムとしては利用できない。 Windows標準のユーティリティを使用してDVD-RAMをフォーマットすることはできない。ただし、サードパーティ製ツールを使用してexFATフォーマットされたDVD-RAMメディアの読み書きは可能である。 Vivek P. Kamath, Dennis R. Adler, Ralph A. Lipe, ほか。（1996年11月26日）アメリカ合衆国特許第 7,542,999号 Extended file system。 [脚注の使い方] ^ a b c d e Nick Adman (2019年8月27日). “exFAT file system specification”. Microsoft Corporation. 2019年9月3日閲覧。 ^ a b マイクロソフト. “Windows XP 用の更新プログラム (KB955704)”. 2017年11月1日時点のオリジナルよりアーカイブ。2008年1月28日閲覧。 (x86) マイクロソフト. “Windows XP x64 Edition 用の更新プログラム (KB955704)”. 2015年3月6日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (x64) ^ a b マイクロソフト. “Windows Server 2003 用更新プログラム (KB955704)”. 2016年1月12日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (x86) マイクロソフト. “Windows Server 2003 x64 Edition 用更新プログラム (KB955704)”. 2016年3月8日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (x64) マイクロソフト. “Windows Server 2003 for Itanium-based Systems 用更新プログラム (KB955704)”. 2017年11月1日時点のオリジナルよりアーカイブ。2009年8月26日閲覧。 (IA64) ^ corbet (2019年11月25日). “The 5.4 kernel has been released”. LWN.net. 2019年12月1日閲覧。 ^ Brandon LeBlanc (2007年8月28日). “Vista SP1 Whitepaper” (英語). マイクロソフト. 2007年8月28日閲覧。 ^ “Mac OS X 10.6.5 Notes: exFAT Support, AirPrint, Flash Player Vulnerability Fixes”. 2010年11月28日閲覧。 ^ 海上忍 (2009年2月2日). “MS以外で初の対応? LinuxでexFAT読み取り用のパッチが公開”. 毎日コミュニケーションズ. 2017年10月8日閲覧。 ^ 末岡洋子 (2013年1月22日). “FUSEベースのMicrosoft「exFAT」実装、「fuse-exfat 1.0」がリリース”. SOURCEFORGE.JP Magazine. 2014年12月31日閲覧。 ^ “Native Linux Kernel Module Is Out For Microsoft exFAT - Phoronix” (2013年6月25日). 2017年10月8日閲覧。 ^ John Gossman (2019年8月28日). “exFAT in the Linux kernel? Yes!”. Microsoft. 2019年9月2日閲覧。 ^ Valdis Klētnieks (2019年8月28日). “staging: exfat: add exfat filesystem code to staging”. git.kernel.org. 2019年9月2日閲覧。 ^ Ryan Smith (2008年2月27日). “Second Shot: Windows Vista SP1” (英語). Anandtech. 2008年2月6日閲覧。 ^ Mike Nash (2008年10月24日). “Windows Vista Service Pack 2 Beta” (英語). The Windows Blog. 2008年2月6日閲覧。 ^ “exFAT Versus FAT32 Versus NTFS” (英語) (2008年2月27日). 2008年7月6日閲覧。 ^ Windows 7 評価ガイド 基本的な機能の提供 ^ Elizabeth Montalbano (2006年1月11日). “Microsoft FAT patents upheld” (英語). Computerworld. 2008年2月22日閲覧。[リンク切れ] フラッシュファイルシステム exFAT file system specification - Microsoft Docs （英語） exFAT ファイルシステムの仕様 - Microsoft Docs （日本語） exfat - GitHub (FUSEによる実装) Personal Storage: Opportunities and challenges for pocket-sized storage devices in the Windows world （英語） （Microsoft PowerPoint プレゼンテーション） TFAT Overview （英語） Extended FAT File System （英語） exFAT 構造解析