てきとうなメモ

本の感想とか技術メモとか

WindowsのFAT32の32GB制限

以下の記事を読んだ。

Windows 11でFAT32のサイズが最大2TBまで拡大。謎の制約が30年経て解除されたが・・・

ちなみに、FAT32に対して32GBの制限が設けられている理由はWindows 95開発時にフォーマット機能とGUIを開発したDavid Plummer氏が設定した仮の値であり、技術的な制約により設定された値でもないとのことです。これがなぜ30年に渡り踏襲されてしまっていたのかは不明ですが、ついにFAT32に設けられていたこの謎の縛りが30年の時を経て解除されるというちょっとした歴史的な瞬間に立ち会えることになりそうです。

で、何で32GBの制限にしたのだろうかと思って調べてみると、Dave Plummer氏の動画に辿り着いた。

www.youtube.com

動画によると、

  • FAT32クラスタ数が最大で4M程度という制限があり、ディスクサイズを増やすと、1クラスタのサイズが大きくなる
  • ファイルはクラスタ単位で管理されるので、1クラスタのサイズが増えるとスペースの無駄になる。よってあまり大きなサイズにしたくない
  • 当時テストに使ったメモリカードが16MBで、手に入れることのできた最大サイズだった。これを1000倍して、さらに2倍にすれば、NT 4.0の生存期間中は十分だろうと考えた。

とのこと。

あと、あくまでWindows Shell(GUI)のフォーマット機能の話なので、32GB以上をフォーマットしたい場合は、コマンドラインか3rd partyのツールを使えと言っているので、現状でもformatコマンドで32GB以上フォーマットできるように聞こえる。

となると以下の今回のアップデートが何を指すのかよくわからなくなるが。。。

Announcing Windows 11 Insider Preview Build 27686 (Canary Channel) | Windows Insider Blog

When formatting disks from the command line using the format command, we’ve increased the FAT32 size limit from 32GB to 2TB.