Windowsで大容量のUSBドライブやSDカードをFAT32でフォーマットしようとすると、32GBの壁に阻まれる。この制限はFAT32の技術的な限界だと多くのユーザーが信じてきた。だが実態は違う。1994年、Microsoft社内でフォーマットダイアログを移植していた一人の開発者が、ある雨の木曜日の朝に「32GBで十分だろう」と決めた。その判断が30年間、世界中のWindowsマシンに残り続けていたのだ。
MicrosoftはWindows 11 Insider Preview(Dev Channel Build 26300.8170 / Beta Channel Build 26220.8165)で、コマンドラインからのFAT32フォーマット上限を2TBに引き上げた。2024年8月の初アナウンスから約20ヶ月、ようやくDev/Beta両チャネルのInsiderに届いた変更だ。
コマンドライン限定で2TB、GUIは32GBのまま
今回の変更で拡張されるのは、formatコマンドを使ったコマンドラインからのFAT32フォーマットに限られる。Windowsのディスク管理やエクスプローラーの右クリックメニューに表示されるGUIベースのフォーマットツールでは、32GBの上限がそのまま維持される。つまり、2TBのFAT32ボリュームを作成したければ、コマンドプロンプトかPowerShellを開く必要がある。
GUIフォーマットツールは内部的に異なるAPIパスを通っており、今回の変更はコマンドラインのフォーマットユーティリティのみに適用された。FAT32が扱えるファイルサイズの上限は1ファイルあたり4GBで、この制限は今回の変更に含まれていない。4GB超の単一ファイルを扱うなら、引き続きNTFSやexFATを選択する必要がある。
対象となるBuildはDev Channelの26300.8170とBeta Channelの26220.8165だ。ただしControlled Feature Rollout(CFR)の対象であり、現時点ではInsiderの一部にしか展開されていない。手元のInsider環境で変更が反映されていなくても、段階的なロールアウトの結果であり、正常な状態だ。
「1994年の雨の木曜日」——30年間残った一人の判断
この32GB制限の起源を知る人物がいる。元Microsoft開発者のDave Plummerだ。彼は2024年3月のXへの投稿で、制限が生まれた経緯を証言している。
cluster slackとは、ファイルシステムがディスク上にデータを格納する際に生じる空きスペースの無駄遣いを指す。FAT32ではクラスタサイズが大きくなるほど、小さなファイルの末尾に使われない領域が増える。Plummerはこの無駄が許容範囲に収まるラインとして32GBを選んだが、FAT32の仕様そのものにその制約は存在しない。
「1994年の雨の木曜日の朝、このフォーマットダイアログを書いた。Windows 9xのUIコードをNTに移植していた。FATボリュームのフォーマットサイズをどこで制限するかを決める必要があり、cluster slackを考慮した結果、32GBという値に行き着いた。その判断は完全に任意のものだった。それが30年間、永続的な副作用として残り続けた。"一時的な"チェックインには気をつけろということだ」とPlummerは述べた。
FAT32のブートセクタは32ビットフィールドでセクタ数を記録する。512バイトセクタの場合、理論上限は2TBだ。4096バイトセクタなら16TBまで表現できる。Plummerの32GBという判断はあくまでWindowsフォーマットユーティリティ側の実装上の制限であり、FAT32という規格そのものの限界ではなかった。LinuxやmacOSのサードパーティツールが以前から32GB超のFAT32ボリュームを作成できていたのは、この仕様を正しく実装していたからだ。
FAT32が2026年にも消えない理由
FAT32は1996年のWindows 95 OSR2で導入された。その源流は1977年まで遡る。後継のexFATやNTFSが普及した今も、FAT32は特定の環境で代替不可能な役割を持ち続けている。マザーボードのBIOSアップデートではUEFIファームウェアがFAT32フォーマットのUSBドライブを要求し、exFATやNTFSを認識しないファームウェアが今も珍しくない。ゲーム機も同様で、Nintendo SwitchのmicroSDカードはFAT32を標準サポートする。産業用の組み込みシステムや医療機器のデータロガーも、軽量で枯れたFAT32に依存している。
exFATはファイルサイズ制限がなく(実質的に16EB)、フラッシュストレージに最適化された設計を持つ。大容量のSDXCカードのデフォルトフォーマットでもある。だがexFATのライセンス体系は2019年までMicrosoftの特許下にあり、組み込み分野での採用が遅れた。2019年に仕様がOpen Invention Networkに寄贈されLinuxカーネル5.4で公式サポートされた後も、すでにFAT32で設計されたハードウェアエコシステムは一夜で切り替わらない。今回の2TB制限解除は、そうした既存のFAT32依存環境にとって実用上の恩恵が大きい。256GBや512GBのUSBドライブをFAT32でフォーマットする場面で、サードパーティツールを使わずにWindows標準コマンドで完結する。
ストレージ設定の読み込みも高速化
FAT32の変更と同じInsider Buildには、ストレージ管理全般の改善も盛り込まれている。Windows Latestの実機テストによれば、設定アプリの「ストレージ」ページの読み込み速度が劇的に改善された。130GB、292GB、409GBのドライブを接続した環境で、従来は最大15秒かかっていたページの表示がほぼ瞬時に完了するようになった。
この改善は、ストレージ設定がディスク情報を列挙・計算するプロセスの最適化によるものだ。従来はページを開くたびにすべてのドライブの使用状況をスキャンしていたが、キャッシュやバックグラウンド処理への移行によって体感速度が向上したと考えられる。UACプロンプトの挙動にも変更が加わり、一時ファイルの確認時のみダイアログが表示される仕様になった。ストレージ管理を頻繁に利用するユーザーにとっては、日常的な使い勝手の改善になる。
正式版への道筋と残された課題
2024年8月15日、MicrosoftはCanary Channel(Build 27686)でFAT32の2TB対応を最初に発表した。そこから約20ヶ月を経て、Dev/Betaの両チャネルに展開が拡大した形だ。Canaryは最も実験的なチャネルであり、そこからDev・Betaへの昇格は安定性の検証が進んだことを意味する。正式版(stable)への展開時期は未定で、MicrosoftはCFRによる段階的な展開を続けながら問題が発見された場合にロールバックできる体制を維持している。
GUIフォーマットツールの32GB制限が維持されている点は、一般ユーザーへの影響を最小限に抑えたい意図がうかがえる。コマンドラインを使わないユーザーには、この変更は事実上見えない。Windows Insiderを通じた段階的な検証を経て、GUIへの適用まで視野に入れているとすれば、完全な「制限解除」まではまだ道がある。30年前にDave Plummerが「一時的なつもり」で設定した値が、ようやくFAT32の本来の仕様に追いついた——ただしコマンドプロンプトからに限り、という但し書き付きで。
Sources