NTFS,FAT32,exFAT,APFS,XFS等のファイルシステムの違いと特徴

NTFS,FAT32,exFAT,APFS,XFS等のファイルシステムの違いと特徴 ナレッジ

WindowsやMac、Linuxなどを弄っていると、ファイルシステムの違いで色々と注意しなければならないことがある。

USBメモリや外付けストレージ、NASなどを新規で購入して利用する際には、どのファイルシステムでフォーマットするべきか?に悩むこともしばしば。

そんなときのために、それぞれのファイルシステム違いと特徴をまとめておきます。

ファイルシステムとフォーマット

ファイルシステムとフォーマットを超簡単に説明します。

ファイルシステムとは?

ファイルシステムとは、コンピューターがSSD、HDD、USBメモリ、SDカードなどの記憶媒体にデータ(ファイル)を格納および管理する際に利用される仕組みのことで、OSの機能のひとつです。

そして、今では誰でも日常的にごく当たり前のように使っている「フォーマット」という言葉には、厳密に言うと「論理フォーマット」と「物理フォーマット」という2つの種類があります。

論理フォーマットとは?

「論理フォーマット」というのは、OSのファイルシステムに合わせて記憶媒体の管理情報や構造情報をリセットし、OSのファイルシステムに沿ったかたちで、新しくデータを論理的な位置に格納できるようにすることです。

一般のユーザーがOS上で行う「フォーマット」とは、この「論理フォーマット」のことを言います。

物理フォーマットとは?

フォーマットには「物理フォーマット」というものもあり、これは記憶媒体を製造しているメーカーが記憶媒体の記憶領域を区分けし、区画整理をして、その後にどのようなファイルシステムでもデータを格納できる場所(セクタ)を構成することを言います。

代表的なファイルシステム

NTFS(NT File System)

Windowsの代表的なファイルシステムです。

■利点
最大16EB(エクサバイト)の大容量のボリューム(パーティション)およびファイルサイズに対応し、Windowsのみで利用するならこのファイルシステムが一番です。圧縮機能やファイル暗号化機能も備えています。
LinuxでもUbuntuでは標準で利用できます。RHEL系の場合は ntfs-3g パッケージを dnf, yum などでインストールすることで利用できます。

■欠点
Macだと読み取り専用(リードオンリー)になってしまい、Macで読み書きをしたい場合は別途NTFSで読み書きを行うアプリが必要になります。

FAT32(File Allocation Table 32)

USBメモリなどを購入するとデフォルトでこのファイルシステムになっているケースが多いです。

■利点
Windows、Mac、Linuxを問わず、さまざまなOSで利用できます。

■欠点
汎用性は高いですが、以下のような制約があります。

  • ボリュームサイズ(パーティションサイズ)は最大2TBまで
  • 最大ファイルサイズは4GBまで
  • 圧縮機能やファイル暗号化機能は無し

exFAT(Extended File Allocation Table)

FAT32の欠点を補い、様々なOSのリムーバブルメディアでの利用を想定して開発されたファイルシステムです。

■利点

  • Windows、Macで利用できます。
  • Linux(Linux kernel 5.4以降)では fuse-exfatexfat-utils パッケージを dnf, yum, aptなどでインストールすることで利用できます。
  • 理論上だと最大ボリュームサイズは64ZiB(ゼビバイト)、最大ファイルサイズは16EiB(エクスビバイト)まで対応し、現在の通常利用では事実上制限無し。

■欠点

  • 古いOSには対応していない。(FAT32との互換性は無し)
  • 圧縮機能やファイル暗号化機能は無し

HFS+(Hierarchical File System Plus)

Mac OS 8.1からmacOS 10.12(Sierra)まで採用されたファイルシステムです。

Linux(Linux kernel 2.4.22以降)では読み書き可能ですが、Windowsで読み書きする場合は、HFS+を読み書きするためのアプリが必要になります。

APFS(Apple File System)

macOS 10.13(High Sierra)から採用されているファイルシステムです。

WindowsやLinuxで読み書きする場合は、APFSを読み書きするためのアプリが必要になります。

ext4(fourth extended file system)

Linux(Ubuntuなど)で利用されているファイルシステムです。

WindowsやmacOSで読み書きする場合は、ext4を読み書きするためのアプリが必要になります。

XFS(eXtents File System)

Linux(RHELやCentOSなど)で利用されているファイルシステムです。

WindowsやmacOSで読み書きする場合は、XFSを読み書きするためのアプリが必要になります。

Btrfs(B-tree file system)

オラクルが発表した比較的新しいファイルシステム。耐障害性、修復機能に優れ、スナップショット機能が備わっているため、主に一部のNASなどで利用されています。

ファイルシステムの比較表

ファイルシステム名 Windows
対応
macOS
対応
Linux
対応
備考
NTFS △※ Windowsのみの環境ならこれ一択(※macOSは読込みのみ。書き込むには専用のアプリが必要)
FAT32 環境を選ばないが、ボリュームとファイルサイズの上限に注意
exFAT 古いOSを利用しない環境ならリムーバブルメディアはこれ一択
HFS+ × 古いMacを利用する環境じゃなければ今はほとんど利用しない
APFS × × macOSのみの環境ならパフォーマンスはexFATよりAPFS のほうが上
ext4 × × Linuxにおいてはext​シリーズは長い実績がある
XFS × × RHEL系ならこれ
Btrfs 将来性に期待
上記の表で「×」印が付いている場合でも、対応外のファイルシステムにアクセスできる機能を持つ専用のアプリが有料・無料を問わず沢山ありますので、それらをインストールして利用すれば読み書きは可能です。

まとめ

色々なファイルシステムにはそれぞれ短所と長所があります。

現時点では、リムーバブルメディアを利用するなら総合的にexFATがベストですが、自分が普段利用するOSや、仕事での利用の有無などを考慮し、自分の環境に適したフォーマットを選びましょう。

以上で解決です。