FAT32が2 ^ 28クラスター以下に制限されているのはなぜですか?


31

FAT16では、最大クラスターサイズが32Kの場合、最大パーティションサイズは2GBです。

これは、アドレス可能なユニットの数にクラスターサイズを掛けて計算されます。

(2 16アロケーションユニット)*(2 15バイト/クラスター)= 2 GiB

ただし、FAT32では、同じ計算を行うと、2 32個のクラスターを使用するときに、8 TiBの最大値よりもはるかに大きな数が得られます。

(2 32アロケーションユニット)*(クラスターサイズ)

512バイトのクラスターサイズを使用する場合、すでに2 TiBに到達しています。

XP TechNetの記事で、Microsoft は次のように述べています。

FAT32ボリュームで可能なクラスターの最大数は268,435,445であり、クラスターごとに最大32 KBがあり、ファイルアロケーションテーブル(FAT)に必要なスペースもあります。

この2のプットの最大クラスタサイズ28 - 11

FAT16で2 16だったのに、なぜFAT32のクラスターの最大数は2 32ではなく2 28 -11 ですか?

回答:


49

FAT32 32ビットではなく28ビットのみを使用します。4ビットは「将来の使用のために予約されています」。

したがって、FAT32パーティションの最大クラスター数は268,435,455(2 28 -1)です

参照

VFATは賢いシステムでしたが、FAT16の制限に対処しませんでした。その結果、Windows 95 OSR2で新しいファイルシステム(VFATの場合のようにFAT管理が向上しただけでなく)が登場しました。FAT32と呼ばれるこのファイルシステムは、FATエントリに32ビット値を使用します。実際、4ビットは将来の使用のために予約されているため、28ビットのみが使用されます。

FAT32ファイルシステムの登場により、パーティションあたりのクラスターの最大数は65535から268,435,455(2 28 -1)に増加しました。したがって、FAT32では、より大きなパーティション(最大8テラバイト)が許可されます。FAT32パーティションの理論上の最大サイズは8 TBですが、MicrosoftはNTFSを促進するためにWindows 9xシステムでは32 GBに自発的に制限しています。


3
すばらしい:Dそれはまさに私が見つけようとしていたことです。また、グーグルのFAT28は、「将来の使用のために予約されています」が、実際には使用されなかったことを示しています。
QMord

56
それが「未来」の通常の意味です。
ラッセルボロゴーブ

2
@ RussellBorogove、40年経っても?
-Pacerier

12
@Pacerierはソフトウェアへようこそ。サプライズを軽減するために、ゆがんだ部屋を持つことをお勧めします!
ガスドール

5
@Pacerier:FAT32は...唯一の20歳
ダニエル・トリノ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.