web-dev-qa-db-ja.com

VFATとFAT32ファイルシステムの違いは何ですか?

私はネットを検索しましたが、説得力のある答えが見つかりませんでした。ファイルシステムVFATとFAT32は同じですか、またはそれらに違いはありますか?

61
user1004985

http://technet.Microsoft.com/en-us/library/cc750354.aspx からコピー

FATとは

FATはファイルシステムの奇妙な名前のように聞こえるかもしれませんが、実際にはFile Allocation Tableの頭字語です。 1981年に導入されたFATは、コンピューター用語では古くからあります。その時代のため、Microsoft WindowsNT®、Windows 98、Macintosh OS、およびUNIXの一部のバージョンを含むほとんどのオペレーティングシステムは、FATをサポートしています。

FATファイルシステムは、ファイル名を8.3命名規則に制限します。つまり、ファイル名はピリオドの前に8文字以下、後に3文字以下にすることができます。 FATファイルシステムのファイル名も文字または数字で始まる必要があり、スペースを含めることはできません。ファイル名は大文字と小文字が区別されません。

VFATはどうですか?

VFATと呼ばれるファイルシステムについても聞いたことがあるかもしれません。 VFATはFATファイルシステムの拡張であり、Windows 95で導入されました。VFATはFATとの下位互換性を維持しますが、規則を緩和します。たとえば、VFATファイル名には、最大255文字、スペース、および複数のピリオドを含めることができます。 VFATはファイル名の大文字と小文字を区別しますが、大文字と小文字は区別されません。

VFATで長いファイル名(8.3より長い)を作成すると、ファイルシステムは実際に2つの異なるファイル名を作成します。 1つは実際の長いファイル名です。この名前は、Windows 95、Windows 98、およびWindows NT(4.0以降)に表示されます。 2番目のファイル名はMS-DOS®エイリアスと呼ばれます。 MS-DOSエイリアスは、長いファイル名の短縮形です。ファイルシステムは、長いファイル名の最初の6文字(スペースはカウントしない)を取得し、その後にチルダ[〜]と数値トレーラーを続けることにより、MS-DOSエイリアスを作成します。たとえば、ファイル名Brien's Document.txtのエイリアスはBRIEN '〜1.txtになります。

興味深い副作用は、VFATが長いファイル名を保存する方法から生じます。 VFATで長いファイル名を作成すると、MS-DOSエイリアスに1つのディレクトリエントリが使用され、長いファイル名の13文字ごとに別のエントリが使用されます。理論的には、1つの長いファイル名で最大21個のディレクトリエントリを占有できます。ルートディレクトリには512ファイルの制限がありますが、ルートディレクトリで最大長の長いファイル名を使用する場合、この制限を24ファイルに減らすことができます。したがって、ルートディレクトリでは長いファイル名を非常に控えめに使用する必要があります。他のディレクトリはこの制限の影響を受けません。

なぜVFATを検討しているのか疑問に思われるかもしれません。その理由は、FATよりも一般的になっていることですが、前述の違いは別として、VFATにも同じ制限があります。 Windows NTにパーティションをFATとしてフォーマットするように指示すると、実際にはパーティションがVFATとしてフォーマットされます。 Windows NT 4.0で真のFATパーティションができるのは、MS-DOSなどの別のオペレーティングシステムを使用してパーティションをフォーマットするときだけです。

FAT32

FAT32は、実際にはFATおよびVFATの拡張機能であり、Windows 95 OEM Service Release 2(OSR2)で初めて導入されました。 FAT32はVFATファイルシステムを大幅に強化しますが、欠点があります。

FAT32の最大の利点は、ハードディスクの空き容量が劇的に増加することです。この点を説明するために、FATパーティション(FAT16パーティションとも呼ばれる)では、パーティションごとに特定の数のクラスターのみが許可されることを考慮してください。したがって、パーティションサイズが大きくなると、クラスターサイズも大きくする必要があります。たとえば、512 MBのFATパーティションのクラスターサイズは8Kですが、2 GBのパーティションのクラスターサイズは32Kです。

FATファイルシステムが単一クラスターの増分でのみ機能することを考慮するまで、これは大したことのように聞こえないかもしれません。たとえば、2 GBのパーティションでは、1バイトのファイルがクラスター全体を占有するため、32Kを消費します。つまり、ファイルが消費する容量の約32,000倍です。このルールは、ハードディスク上のすべてのファイルに適用されるため、どのくらいのスペースが無駄になるかを確認できます。

パーティションをFAT32に変換すると、クラスターサイズが小さくなります(2 GBのパーティションサイズの制限を克服します)。 8 GB以下のパーティションの場合、クラスターサイズはわずか4Kに削減されます。ご想像のとおり、パーティションにFAT32に変換することで、特にパーティションに多数の小さなファイルが含まれている場合、数百メガバイトを取り戻すことは珍しくありません。

注:quote/article(1999)のこのセクションは古くなっています。以下の情報引用を更新しました。

前述したように、FAT32には制限があります。残念ながら、Windows 98およびOSR2バージョンのWindows 95以外のオペレーティングシステムとは互換性がありません。ただし、Windows 2000はFAT32パーティションを読み取ることができます。

他の欠点は、ディスクユーティリティとウイルス対策ソフトウェアがFAT32に対応している必要があることです。そうしないと、新しいファイル構造をエラーとして解釈し、修正しようとするため、プロセス内のデータが破壊される可能性があります。

最後に、FAT32への変換は一方向のプロセスです。 FAT32に変換した後、パーティションをFAT16に戻すことはできません。したがって、FAT32に変換する前に、コンピューターをデュアルブート環境で使用するかどうかを検討する必要があります。また、Windows NTなどの他のオペレーティングシステムはFAT32パーティションを直接読み取ることはできませんが、ネットワーク経由で読み取ることはできます。したがって、FAT32パーティションに保存されている情報を、古いオペレーティングシステムを実行しているネットワーク上の他のコンピューターと共有しても問題はありません。

Doktor-J (コメントが失われた場合に期限切れの回答を更新するために同化された)によるコメントで言及された更新:

最新のオペレーティングシステム(WinXP/Vista/7/8、MacOS X、すべてではないにしてもほとんどのLinuxバリアント)は、最後から2番目の段落が示す内容とは反対に、FAT32を読み取ることができることを指摘したいと思います。

元の記事は1999年に作成され、MicrosoftのWebサイトに投稿されていたため、Microsoft以外のオペレーティングシステムとは関係ありませんでした。

その段落によって「除外」されるオペレーティングシステムは、おそらく元のWindows 95、Windows NT 4.0、Windows 3.1、DOSなどです。

69
Abhishek