exFATは、FATをベースにして、より大きなボリュームサイズやファイルサイズをサポートした、パーソナルストレージ向きのファイルシステムだ。NTFSよりもシンプルで実装しやすく、SDXCメモリカードやデジタル機器などでのサポートも進んでいる。FATとの具体的な違いをまとめる。
対象OS:Windows Vista / Windows 7 / Windows 8 / Windows Server 2008 / Windows Server 2008 R2 / Windows Server 2012
Windows OSで利用できるファイルシステムにはFAT(File Allocation Table)やNTFS、exFAT、ReFSなどさまざまなものがある。Windows OSで現在一番広く使われているファイルシステムはNTFSだが、リムーバブルデバイス(特にUSBメモリや、SDカードのようなメモリカード)ではまだFATがよく使われている。
FATファイルシステムは非常にシンプルなアーキテクチャを持ち、PC以外でもさまざまな機器(デジカメやICレコーダー、音楽プレーヤー、携帯電話など)で利用できる。しかしもともとは30年以上も前に開発されたものをベースにしているため、大容量のメモリカードやUSBメモリデバイスの普及により、限界も見えてきた。そこで新しくexFATというファイルシステムが開発され、普及し始めている(64GB以上のSDXCカードはあらかじめexFAT形式でフォーマットされて出荷されている)。本TIPSではFATとexFATの違いについてまとめておく。これ以外のNTFSやReFSの違い、ファイルシステムごとのファイルサイズの制限などについては、以下のTIPSも参照していただきたい。
「exFAT(extended FAT)」とは、FATファイルシステムをベースに、主に大容量サポートとパフォーマンス改善を目的に開発された、パーソナルストレージ向けの新しいファイルシステムである(古い資料では「FAT64」と記述されていることもあった)。従来のFATでは、サポートされているディスク(ボリューム)サイズは最大32GB(OSによっては最大128GBまで作成できる)という制限があり、大容量化している現在のストレージデバイスの機能を引き出すことができなかった。またFATではファイルサイズが最大4GBという制約もあり、例えば大きくなりがちなビデオファイルを1ファイルにして扱うこともできなかった(ビットレートが25Mbit/sの動画ビデオなら、20分ほどで4GBに達する)。これらの問題を解消し、さまざまな改良を施したのがexFATである。主な特長を次に示す。
ただしFATと名前は付いているが、実際にはexFATは従来のFAT16やFAT32と互換性はない。FATしかサポートしていない機器ではexFATを使うことはできない。
exFATは、もともとはWindows CE用に開発されたものであるが、現在ではWindows Vista SP1以降のWindows OSで利用できる。Windows XP SP2/SP3およびWindows Server 2003 SP2では、以下のWebページで配布されているパッケージを追加インストールすれば利用できる。
以下にFATとexFATの仕様の違いを示しておく。
機能 | FAT | exFAT | (参考)NTFS |
---|---|---|---|
最大ファイルサイズ(理論値) | 2の32乗−1bytes(4GB) | 2の64乗−1bytes(16EB) | 2の64乗−1bytes(16EB) |
クラスタサイズ | 512/1K/2K/4K/8K/16K/32K/64KB | 512/1K/2K/4K/8K/16K/32K/64K/128K/256K/512K/1M/2M/4M/8M/16M/32MB(理論上は2の255乗セクタまで可能) | 512/1K/2K/4K/8K/16K/32K/64KB |
デフォルトクラスタサイズ | ボリュームサイズによって可変。詳細は「NTFS、FAT、または exFAT のデフォルトのクラスター サイズ」(マイクロソフト サポート技術情報)参照 | ||
最大ボリュームサイズ | FAT12:32MB FAT16:2G/4GB FAT32:32GB ※Windows 9x/Meでは128GBまでのFAT32ボリュームを作成可能 ※FAT32の理論上の最大サイズは2TBまで |
理論上は2の32乗クラスタまで/実装上は256TBまで | 理論上は2の64乗bytes(16EB)まで/実装上は256TBまで |
最大クラスタ数 | 4087(FAT16)/65,526(FAT16)/4,177,918(FAT32) ※FAT32の理論上の最大サイズは2の32乗クラスタまで |
理論上は2の32乗クラスタまで | 理論上は2の64乗クラスタまで/実装上は2の32乗クラスタまで |
ファイル圧縮 | × | × | ○ |
ファイル暗号化 | × | × | ○ |
BitLockerによるボリューム全体の暗号化 | ○ | ○ | ○ |
フロッピーサポート | FAT12 | × | × |
リムーバブルデバイスサポート | ○ | ○ | ○ |
トランザクション処理 | × | ×(現状では未実装。将来追加される可能性がある) | ○ |
アクセス制御リスト(ACL) | × | ×(現状では未実装。将来追加される可能性がある) | ○ |
最大パス名 | 255文字 | 255文字 | 255文字 |
大文字/小文字の区別 | なし | なし | 可能(デフォルトではオフ) |
ファイルの作成日時属性 | ○(0.01秒単位) | ○(0.01秒単位) | ○ |
ファイルの更新日時属性 | ○(偶数秒のみ記録) | ○(0.01秒単位) | ○ |
ファイルの最終アクセス日時属性 | 日付情報のみ(時刻情報はなし) | ○(偶数秒のみ記録) | ○(Windows Vista/Windows Server 2008以降は、デフォルトでは最終アクセス時刻は記録しない。TIPS参照) |
8.3形式の短縮名サポート | ○ | × | ○ |
リパースポイント | × | × | ○ |
ジャンクション | × | × | ○ |
ハードリンク | × | × | ○ |
シンボリックリンク | × | × | ○ |
スパースファイル | × | × | ○ |
マウントポイント | × | × | ○ |
代替ストリーム | × | × | ○ |
サポートOS | 全てのWindows OS | Windows Vista SP1/Windows Server 2008以降 | 全てのWindows OS |
Windows OSのインストール用 | 不可 | 不可 | ○ |
Windows OS標準のデフラグツール | 適用可能 | 適用不可 | 適用可能 |
FATとexFATの仕様 Windows XP以降のWindows OSを対象にまとめてみた。なお一部の値は実装依存であり、Windows OSのバージョンによって変わることがある。特に記述のない限り、Windows 8/Windows Server 2012での制限値を示す。以下の情報も参照のこと。 ・File System Functionality Comparison[英語](MSDNサイト) |
ボリュームをexFAT形式でフォーマットするには、単にボリュームを選択して右クリックし、ポップアップメニューから[フォーマット]を選択すればよい。ファイルシステムとして「exFAT」を選択し、必要なら[アロケーション ユニット サイズ]でクラスタサイズを選択できる。
ディスクサイズが大きすぎたりする場合は、ファイルシステムの選択肢に「exFAT」が出てこないことがあるようだが、その場合はコマンドプロンプトを開き、「format e: /q /fs:exfat」のように/fsオプションを指定すると、強制的にexFAT形式でフォーマットできることがある。クラスタサイズを指定する場合は「format e: /q /fs:exfat /a:64k」のように、/aオプションを使って最後にクラスタサイズを指定する。指定可能なサイズの表記は「format /?」を実行すれば確認できる。
C:\>format e: /q /fs:exfat /a:64k ……exFAT形式でフォーマットしてみる
ファイル システムの種類は EXFAT です。
警告: ハード ディスクのドライブ E: のデータは
失われます。
フォーマットしますか (Y/N)? y
クイック フォーマットしています 16381M バイト
ボリューム ラベルを入力してください。
(半角で 15 文字、全角で 7 文字以内)
必要なければ、Enter キーを押してください:
ファイル アロケーション テーブル (FAT) を初期化しています...
ファイル システム構造を作成します。
フォーマットは完了しました。
16.0 GB: 全ディスク領域
16.0 GB: 使用可能領域
65,536 バイト : アロケーション ユニット サイズ
262,061 個 : 利用可能アロケーション ユニット
32 ビット : FAT エントリ
ボリューム シリアル番号は 0CEE-2240 です
C:\>defrag e: ……exFATをデフラグしてみる
Microsoft ディスク デフラグ ツール
Copyright (c) 2007 Microsoft Corp.
(E:) の 最適化 を起動しています...
このボリュームは最適化できません。 (0x8900000D)
……デフラグできないと表示される。クラスタサイズが大きいのでデフラグする必要もないだろう(※USBフラッシュメモリをデフラグすると書き込み回数が大幅に増え、寿命が短くなるので注意)
C:\>
USBメモリやリムーバブルデバイスを利用する場合、exFATとFATという2つの形式が利用できるが、これらの使い分けは実はあまり深く考える必要はない。FATとNTFSのように大きく機能が違うわけではないからだ。基本的には容量が32GB以下ならFAT(FAT32)、それより大きければexFATを選択すればよいが、単独のファイルが4GBを超える可能性がある場合(ビデオデータなどを記録する場合)は、32GB以下でもexFATにするとよいだろう。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.