「NTFS」「FAT32」「exFAT」の違い、ファイルシステムについて

USBフラッシュメモリーや外付けHDD/SSDを購入すると、説明書に「FAT32」「NTFS」「exFAT」という単語がでてきます。

これはHDDやSSD、USBフラッシュメモリーなどの「記憶装置」に記録されているデジタルデータをOSが管理するためのシステムである「ファイルシステム」の違いを示しています。

データを管理する根底となるシステムのため、これらを知っておかないと「データが保存できない!」というトラブルが発生します。

「FAT32」「NTFS」「exFAT」の違いを知って、用途に応じて適切にデータを管理できるようになってみましょう。

広告

ファイルシステムとは

記憶装置に記録されてるデジタルデータを管理するためのシステムを「ファイルシステム」といいます。

記憶装置というのは「HDD」「SSD」「USBフラッシュメモリー」などデータを記録する装置のことを指します。ファイルシステムはWindows、MacOS、Android、iOS、Linuxなど多くのOSに実装されている重要な機能で、OSは各記憶装置内のデータをこのファイルシステムによって管理しています。

このファイルシステムにより、ユーザーは記憶装置のどの場所にデータが保存されているのかを物理的位置として指定するのではなく、「ファイル」や「フォルダ」といった抽象化されたデータとして操作することができるようになっています。

このファイルシステムがなければ、ユーザーは保存されたデータが一体どこにあるのかを態々セクター番号等で指定しなくてはならず、操作性が著しく悪くなってしまいます。

また、一般的にデータは細切れの状態で記憶装置に保存されていため(断片化)、細切れ状態のデータをまとめて1つのデータとして扱うのも大変な労力がかかることになります。

私たちユーザーがセクター番号などの面倒なことを意識せず感覚的にデータを操作できているのは、このファイルシステムがしっかり機能しているからです。

ファイルシステムがあることで、OSや私たちユーザーは簡単にデータを管理できるようになっています。エクスプローラーもこのファイルシステムへアクセスしてフォルダやファイルを表示しています。

ファイルシステムの確認方法

ファイルシステムには多くの種類があり、それぞれ管理方法や特徴が異なりますので、まずは利用しているファイルシステムが何なのかを確認する方法を覚えていきます。

※Windows 11での解説となりますが、以前のWindowsでも概ね同じ操作で確認できます。

最初に「PC」を開いて認識されている各ドライブを表示します。

確認したいドライブ(記憶装置・領域)を右クリックして、メニュー下の方にある「プロパティ」を選択します。

ファイルシステムを確認したいドライブを右クリックし、メニューから「プロパティ」を選択します。

ドライブのプロパティが表示されるので「全般」タブを選び、その中にある「ファイルシステム」という項目を確認します。ここにドライブのファイルシステムが表示されます。

「全般」ダブ内にある「ファイル システム」という項目で確認できます。画像では「NTFS」となっています。

「トラック」「セクター」「クラスター」

各ファイルシステムの詳細へ移る前に「トラック」「セクター」「クラスター」という言葉について確認します。記憶装置やファイルシステムを理解するために必要な単語です。

トラック

トラック【track】は、通常ディスク型の記憶装置(HDD、フロッピー、CDなど)において使われる用語で、記憶装置における記録単位のことを指します。

HDDなどの磁気ディスクは円盤状の記憶装置です。この円盤を「プラッタ」と呼び、データを読み取る磁気ヘッドがプラッタを1周した分を1トラックとしています。HDDの構造については以下の記事を参考にどうぞ。

関連記事

今、HDDに変わる新しい記憶媒体として注目されているものに「SSD」というものがあります。最近は多くのパソコンでも導入されているので名前を見かける方も多いでしょう。 パソコンに詳しい人は自分ですでに導入されている人もいらっしゃるかと思います[…]

HDDの構造上からくる定義ですので、円盤状の構造を持たないSSDでは基本的にこの考えはありません。以下、富士通のサイトでわかりやすい図がありましたので載せておきます。

広告

セクター

セクター【sector】とは、記憶装置における最小の記録単位のことです。

伝統的には「セクター」と呼ぶと、ディスク型の記憶装置におけるトラックの一部を指していますが、ディスクを持たない「SSD」にもセクターという概念はあります。

各セクターにはある一定量のデータが格納されています。現在主流のセクターサイズは「512Byte」と「4KB(4096Byte)」の2つです。この範囲内で細切れのデータが保存されています。

クラスター

近年の記憶装置の大容量化に伴いセクター数が膨大になってきており、セクター単位で管理していては効率は下がってしまうため、いくつかのセクターをまとめたものを定義しました。

これをクラスター【cluster】と呼びます。また、クラスターの容量を「クラスター サイズ」または「アロケーション ユニット サイズ」といいます。

元々「クラスター」という言葉には「集団」「群れ」「束」という意味があるので、他の分野でもクラスターと呼ぶことがありますが、ここでは「ディスククラスター」のことを指しています。

ファイルやディレクトリに対して「クラスター」を割り当てて、ファイルシステムはこのクラスター単位で管理を行います。

どれだけのセクターをまとめて扱うかはファイルシステムやボリュームのサイズによって異なります。

Windowsの場合、「標準のアロケーションユニットサイズ」で自動設定されるクラスターサイズはボリュームのサイズ(記憶装置の容量)で異なります。

例えば、「Windows 7」以降のOSで「1GB ~ 2TB」までの容量を持つ記憶装置の場合、規定値となるクラスターサイズは「4KB」になります。

詳細はMicrosoftの公式サイトでご確認ください。

FAT32

ファイル・アロケーション・テーブル【File Allocation Table:FAT】で32bit化されたものを「FAT32」といいます。ビット数の違いで「FAT16」「FAT12」などもありますが、最近の主なFATは32bitですのでこれを解説します。

主にWindows 98/Meで使用されていたファイルシステムですが、以降のOSでも継続してサポートされています。現在最新のWindowsである「Windows 11」でも利用できますし、そのほか「MacOS」や「Linux」など別のOSでも利用できます。

主な仕様

  • 原則最大2TBまでのボリュームサイズを管理可能
  • 最大4GBまでのファイルサイズを管理可能
  • クラスタ-サイズ(アロケーション ユニット サイズ)は512Byte ~ 64KBまで
  • 最大ファイル名長は255文字まで
  • 圧縮、暗号化機能なし

基本的に最大ボリュームサイズは2TBまで

FAT32は総セクター数を32bitで管理できます。実際は4bit分を別に予約しているので、実質FAT32は28bit分を使ってデータを管理しています。

つまり ” 理論上 ” は記憶領域に対し 2の28乗=268,435,456 個にセクタを分割して管理できます。ただ、色々実装上の問題もあったようで、事実上の管理できるクラスター数は4,177,928個となっています。

セクターサイズが「512Byte/セクター」の場合だと、管理できるデータ容量は「4,177,928 × 512Byte = 2,139,099,136Byte」となり、FAT32で扱えるボリュームサイズは2TBまでという制限がかかります。

一言でいうと、2TB以上の容量を持った記憶装置は扱えないということです。

512Byteのセクターを4個まとめて2KBの論理セクターとして扱う機能を使えば、最大8TBまでは一応扱えるようですが、一般的には2TB以上容量を持つ商品の場合は「exFAT」や「NTFS」へフォーマットされているか、あるいはそもそもフォーマットされておらず自分でフォーマットするようなものになっており、無理をしてまで「FAT32」が使われることはあまりありません。

また、ファイルシステムの他に「パーティションテーブル」と呼ばれる別のシステムでも2TBのボリューム容量上限にひっかかることがありますが、こちらはまた別問題となりますので、もし2TBの容量を持ったディスクなのにうまく認識しない場合は、「ファイルシステム」と「パーティションテーブル(GPTになっているかどうか)」の両面で確認してみるとよいでしょう。

4GB以上のファイルは扱えない

FAT32でフォーマットされた記憶装置を使うときに抜けがちな注意点です。

FAT32では仕様上4GB以上のファイルを扱うことができません。32bit値ではこれ以上のデータを管理できないためです。

「FAT32」にフォーマットした記憶装置へ4GB以上のデータを保存しようとしても「ファイルが大きすぎます」というエラーが発生して保存できません。

フロッピー時代なら4GBという大容量のファイルなど珍しかったのですが、最近はTVなども録画して記録できるため、簡単に4GB以上のファイルができてしまいます。この制限を知らずにいると「新しく買ったHDDやUSBフラッシュメモリーに保存しようとしてもできない!」というトラブルが発生します。

これを回避するためには後述する「NTFS」や「exFAT」というファイルシステムにフォーマットすることが必要になります。

Windowsの標準機能でフォーマットすると32GBまでしか認識しない

これはWindowsの仕様で、OSの標準機能でフォーマットすると32GBまでしか認識・フォーマットできません。

例えば「64GB」のUSBフラッシュメモリーを「FAT32」でフォーマットすると、Windowsの仕様から「32GB」の容量までしか認識されなくなります。「FAT32」の規格上は確かに2TBまで扱えるのですが、Windowsで32GBより大きい容量の記憶装置をフォーマットする場合は、サードパーティ製のフォーマッタを利用することになります。

「64GB」のUSBフラッシュメモリーを「FAT32」でフォーマットすると、Windowsの仕様から「32GB」の容量までしか認識されなくなります。

NTFS

NT File System【NTFS】とは、Windows NT系の標準ファイルシステムで、現在のWindowsの主流ファイルシステムです。

NT系のシステムのためWindows NT以降のOS(2000/XP以降)で利用することができますが、Windows 95、Windows 98などでは利用できません。

主な仕様

  • 2TB以上のボリュームサイズを管理可能
  • 最新のWindowsで最大8PBのファイルサイズを管理可能
  • クラスタサイズ(アロケーション ユニット サイズ)は512Byte~2048KBまで
  • 最大ファイル名長は255文字まで(Unicode)
  • 圧縮、暗号化機能などの実装あり

大容量ディスク、ファイルをサポート

NTFSは理論上 2の64乗-1 クラスタ のボリューム(16EBまで)を管理可能ですが、こちらもコンピューターの性能上から制限がかかっています。

とはいえ、Windows 10 バージョン 1709 以降であれば、クラスターサイズ「2048 KB」の場合に「8 PB(ペタバイト)」(ファイルサイズも同様)までサポートされました。「ペタ」は「テラ」の1000倍です。制限されているとはいえ、異次元の容量までサポートされています。

新しい記録装置はセクターサイズ「4KB」に対応しているものがあり、OSと記憶装置の両方で4Kネイティブに対応していれば、より効率的に大容量装置を管理できるようになります。

Windows 7以降のOSで、「16TB」までの容量を持った記憶装置をNTFSにてフォーマットすると、「標準のアロケーションユニットサイズ(規定クラスターサイズ)」は「4KB」となります。逆に言うと、「16TB」までは標準設定で十分対応できる容量であり、もっと容量の大きい記憶装置であってもクラスターサイズを大きく設定することで扱えるようになります。

Windows 7以降のOSで「32GB」のUSBフラッシュメモリーを「標準のアロケーションユニットサイズ」に設定しフォーマットすると「4KB(4096Byte)」で設定されました。

FAT32から大幅に機能改善

NTFSはFAT32から大幅に機能改善されました。

  • ファイルやディレクトリに対して暗号化することができる
  • ファイル単位でNTFS圧縮機能が使える(透過的な圧縮)
  • ファイル名はUnicodeで最大255文字
  • 検索・アクセス速度の改善
  • 何らかの障害が発生してもデータの不整合を起こしにくい(ジャーナリングファイルシステム)
  • 不良セクタの認識でクラスタの代替が可能。耐障害性の向上。
  • アカウントごとにアクセス権を設定可能

以上が主な改善点です。

アカウントごとにアクセス権が設定可能になり、それぞれがファイルやディレクトリに対して暗号化することができるようになりました。また、リソース(データ資源)の消費を減らすため標準で透過的な圧縮も可能となっています。

障害耐性も向上し、何らかの障害が発生したとしてもデータの損失、破損、不整合が発生しにくくなっています。

その他、アカウントごとにディスク容量を制限できる「ディスククォータ」、ディレクトリに他のドライブをマウント(結合)できる「ドライブマウント」なども可能になりました。

広告

exFAT

exFAT(イーエックスファット)【Extended File Allocation Table】は、従来のFATをベースに改良されたファイルシステムです。

USBフラッシュメモリーやSDカードなどのフラッシュデバイスに対して最適化されたファイルシステムです。

主な仕様

  • 2TB以上のボリュームサイズを管理可能(512 TBまで)
  • 理論上最大16EB(エクサバイト)のファイルサイズを管理可能
  • クラスタサイズ(アロケーション ユニット サイズ)は512 Byte ~ 32 MBまで
  • 最大ファイル名長は255文字まで(Unicode)
  • FATファイルシステムの欠点を多く解決

世の中の扱うデータが急速に大容量化へ向かっている中、大きいボリュームもファイルサイズも扱えない従来のFATファイルシステムでは不便が多くなってきました。

「exFAT」は、USBフラッシュメモリーやカメラのSDカードなど、NTFSのような高度なデータ構造は必要としないけど、大きなデータを扱う必要がある記憶装置に対して最適化されています。

USBフラッシュやSDカードなどに最適化

大容量ディスクとファイルサイズをサポートしたのが最大のメリットでしょう。最新のWindowsを利用していれば「512TBまでのボリュームサイズ」「128PiBまでのファイルサイズ」をサポートしていますので、一般的な用途において実用上の制限はほとんど無くなったと考えてよいでしょう。

外付けHDD/SSDなどを、あまり移動させずパソコンの拡張ドライブのような形で運用する場合は「NTFS」にしても問題ないのですが、USBフラッシュメモリーやSDカードなど持ち運んで色々な端末に接続するような場合には「NTFS」より「exFAT」でフォーマットした方が効率的にデータを管理できる場合があります。

ただ、FATという名前は付いていますが従来のFAT32と互換性はないため、FAT32しかサポートしていない機器ではexFATを使うことはできません。

因みに、「32GB」のUSBフラッシュメモリーで「標準のアロケーションユニットサイズ」に設定しフォーマットすると「128 KB」が標準として設定されました。「32GB ~ 256TB」まではこのクラスターサイズになるようです。

「32GB」のUSBフラッシュメモリーを「exFAT」で「標準のアロケーションユニットサイズ」に設定すると「128KB」が標準として設定されました。

MacOSも対応しているため、Windowsとの併用が可能

「exFAT」はAppleのMacOSも対応しているので、WindowsとMac両方で記憶装置を共有する場合は「exFAT」が最有力候補になります。

NTFSだとMacOSではうまく読み込めない場合があります。「FAT32」も対応はしていますが、流石にデータ容量の制限が厳しいので大容量データを扱うのであれば「exFAT」にしておくのが無難な選択になります。

まとめ - どのファイルシステムにすればよいか

今回は「FAT32」「NTFS」「exTAT」の3つを簡単にご紹介いたしました。一般的な使い分けとしては以下のような感じになるでしょうか。

パソコンの拡張ドライブとして使う → 「NTFS」

パソコン内蔵のHDDやSSDでは容量が足りなくなってきたときに「外付けHDD/SSD」などをご購入されるかと思いますが、主に据え置きで基本的にずっとWindowsPCに繋げていることが多い場合には「NTFS」でよいと思います。

WindowsPCでは内蔵のディスクはNTFSで管理されていることが多いので、その拡張という意味が強ければ同じシステムを使った方が色々便利です。NTFSは様々なファイル管理機能を持っているので、これらを利用できるようになるのもメリットです。

ある程度持ち運ぶことがある場合でも、相手がWindowsであれば「NTFS」でフォーマットしてもよいと思います。ただし、相手側と自分側のWindowsのバージョンが大きく異なるとファイルが消えてしまうなどのトラブルが発生する場合があるので、その場合は「exFAT」で運用するとよいでしょう。(NTFS内にあるLFSバージョンの違いによるトラブルが昔ありました。)

また、MacはNTFSを基本サポートしていないのでこちらも注意が必要です。

USBメモリやSDカード、よく持ち運ぶデバイス → 「exFAT」

持ち運びが多いリムーバブルディスクである「USBフラッシュメモリー」「SDカード」などでは「exFAT」を利用するのが現状おすすめです。元々このようなフラッシュデバイスに対して最適化されたファイルシステムですし、FAT32では制限が多すぎるため、汎用性という意味でもこちらが使いやすいかと思います。

ポータブルHDD/SSDなどでよく持ち運ぶデバイスの場合も、大容量をサポートした「exFAT」でフォーマットするのが無難な選択です。

また、上記にも書きましたがOSのバージョンが大きく異なる環境を行き来するような使い方をする場合も「exFAT」を利用した方が安全かと思います。MacOSもサポートしているので、両OSで使いたい場合でも「exFAT」が候補になります。

古いシステムも含めて色んな環境で使う → 「FAT32」

色々設計は古い「FAT32」ですが、昔から存在していることから互換性においてはそれなりに優秀で、古いOSやシステムであっても何とか認識してくれるファイルシステムになっています。

特に堅牢性などを必要としないシステムだと現在でも「FAT32で使用してください」となっている商品や機能もあるので、これらの場合には「FAT32」を使うとよいでしょう。

逆に言えば、これらに該当しなければ「FAT32」を使う意味はあまりなく、「NTFS」「exFAT」のいずれかを使えば問題ございません。

▼ 更新履歴

  • :内容を更新
  • :内容を更新
  • :初出
広告