Linux PC でパーティションをフォーマットするとき、さまざまなファイルシステムのオプションを目にすることでしょう。 これらのオプションに圧倒される必要はありません。 どの Linux ファイル システムを使用すべきかわからない場合、簡単な答えがあります。 よくわからない場合は Ext4 を使用する
すぐに、さまざまなファイル システムの違いを説明しますが、よくわからない場合は、Ext4 を使用することです。 これは、古い Ext3 ファイル システムの改良版です。 それは、Ext4 が強固で安定しているということです。
将来、Linux ディストリビューションは徐々に BtrFS に移行していくでしょう。 BtrFS はまだ最先端で、多くの開発が行われているため、実稼働システムでは避けたほうがよいでしょう。 データ破損やその他の問題のリスクは、速度向上の可能性に見合うものではありません。 FAT32、exFAT、および NTFS の違いは何ですか。
ただし、この「Ext4 を使用する」というアドバイスは、Linux システム パーティションおよび Linux だけがアクセスできるその他のディスク上のパーティションにのみ適用されることに注意してください。 他のオペレーティング システムと共有する外付けドライブをフォーマットする場合、Windows、macOS、およびその他のデバイスは Ext4 ファイル システムを読み取れないため、Ext4 を使用するべきではありません。 Linux で外付けドライブをフォーマットする場合は、exFAT または FAT32 を使用します。
Linux のメイン起動ドライブにパーティションを設定する場合、それらのパーティションを設定するときに、少なくとも数 GB のサイズのスワップパーティションを作成することもお勧めします。 このパーティションは “スワップ領域 “として使われます。 Windowsのページングファイルに似ています。 LinuxはRAMが一杯になるとスワップスペースにメモリをスワップします。
What Is Journaling?
ファイルシステムを選ぶときに気づくことは、「ジャーナリング」ファイルシステムとしてマークされるものとされないものがあるということでしょう。 これは重要です。
ジャーナリングは、クラッシュや突然の電源断によるデータの破損を防ぐために設計されています。 例えば、システムがディスクにファイルを書き込んでいる途中で、突然電源が落ちたとします。 ジャーナルがなければ、ファイルが完全にディスクに書き込まれたかどうか、コンピュータは知ることができません。
ジャーナルがあれば、コンピューターはジャーナルにあるファイルをディスクに書き込もうとしていることを記録し、そのファイルをディスクに書き込み、その後、ジャーナルからそのジョブを削除することができます。 ファイルを書き込んでいる途中で電源が落ちた場合、Linux は起動時にファイル システムのジャーナルをチェックし、部分的に完了したジョブを再開することになります。 これにより、データの損失やファイルの破損を防ぐことができます。
ジャーナリングはディスク書き込みパフォーマンスをほんの少し遅くしますが、デスクトップやラップトップでは十分にその価値があります。 あなたが考えるほど多くのオーバーヘッドではありません。 ファイル全体がジャーナルに書き込まれるわけではありません。 代わりに、ファイルのメタデータ、inode、またはディスクの場所のみがディスクに書き込まれる前にジャーナルに記録されます。
すべての最新のファイルシステムはジャーナリングをサポートしており、デスクトップやラップトップを設定する際には、ジャーナリングをサポートするファイルシステムを使用したいと思うでしょう。 また、ジャーナリングによる高いオーバーヘッドと追加の書き込みを望まないリムーバブルフラッシュドライブにも最適です。
Linux ファイルシステムの違いは何ですか
Microsoft が Windows、Apple が macOS を開発する一方で、Linux はコミュニティによって開発されるオープンソースのプロジェクトです。 スキルと時間があれば、誰でも (あるいはどんな会社でも)、新しい Linux ファイル システムを作成することができます。 それが、これほど多くの選択肢がある理由の一つです。 以下はその違いです。
- Ext は “Extended file system” の略で、Linux 用に特別に作られた最初のものです。 これは 4 回の大きな改訂がありました。 “Ext” はファイルシステムの最初のバージョンで、1992年に導入されました。 当時使われていたMinixファイルシステムからの大きなアップグレードでしたが、重要な機能が欠けています。 多くの Linux ディストリビューションはもはや Ext をサポートしていません。
- Ext2 はジャーナリングファイルシステムではありません。 導入されたとき、拡張ファイル属性と 2 テラバイトのドライブをサポートする最初のファイルシステムでした。 Ext2 はジャーナルを持たないため、ディスクへの書き込みが少なく、USB ドライブのようなフラッシュメモリに便利です。 しかし、exFAT や FAT32 のようなファイルシステムもジャーナリングを使用せず、異なるオペレーティングシステムとの互換性がより高いため、何らかの理由で必要だとわかっていない限り、Ext2 を避けることをおすすめします。 Ext3 は Ext2 との後方互換性を保つように設計されており、パーティションをフォーマットすることなく Ext2 と Ext3 の間で変換することができます。 Ext4 よりも長い歴史がありますが、Ext4 は 2008 年から存在し、広くテストされています。 現時点では、Ext4 を使用する方が良いでしょう。
- Ext4 も後方互換性があるように設計されています。 Ext4 ファイル システムを Ext3 としてマウントしたり、Ext2 または Ext3 ファイル システムを Ext4 としてマウントしたりすることができます。 ファイルの断片化を減らし、より大きなボリュームとファイルを可能にし、フラッシュ メモリの寿命を改善するために遅延割り当てを使用する新しい機能が含まれています。 これは、Ext ファイルシステムの最新バージョンで、ほとんどの Linux ディストリビューションのデフォルトです。
- BtrFS、「バター」または「ベター」FS と発音され、元々は Oracle によってデザインされました。 これは「B-Tree File System」の略で、ドライブプーリング、オンザフライスナップショット、透過的圧縮、およびオンラインデフラグを可能にします。 これは、いくつかのLinuxディストリビューションがデフォルトで使用していたファイルシステムであるReiserFSに見られる多くのアイデアを共有している。 BtrFS は Ext シリーズのファイルシステムとは一線を画すように設計されています。 Ext4 ファイルシステムのメンテナである Ted Ts’o は、Ext4 は短期的な解決策であり、BtrFS が前進する道であると信じています。 BtrFS がさらにテストされ、今後数年のうちにエンタープライズ・サーバーと消費者向けデスクトップ Linux ディストリビューションの両方でデフォルトになることを期待しています。
- ReiserFS は 2001 年に登場したとき、Linux ファイルシステムにとって大きな飛躍であり、Ext が決して実装できなかった多くの新機能が含まれていました。 ReiserFS は 2004 年に Reiser4 に置き換えられましたが、これは最初のリリースでは不完全または不足していた多くの機能を改善したものでした。 しかし、Reiser4の開発は、主要な開発者であるHans Reiserが2008年に刑務所に送られた後、停滞してしまった。 Reiser4はいまだにメインのLinuxカーネルに搭載されておらず、搭載される見込みもない。 BtrFS は長期的にはより良い選択です。
RELATED: Ubuntu に ZFS をインストールして使用する方法 (そして、なぜそうしたいのか)
- ZFS は Sun Microsystems が Solaris 用に設計し、現在は Oracle が所有するものです。 ZFS はドライブプーリング、スナップショット、およびダイナミックディスクストライピングを含む多くの先進的な機能をサポートしています-BtrFS はこれらの機能の多くをデフォルトで Linux にもたらします。 各ファイルはチェックサムを持っているので、ZFSはファイルが壊れているかどうかを見分けることができます。 Sun は Sun CDDL ライセンスの下で ZFS をオープンソースにしました。つまり、これは Linux カーネルに含めることはできません。 しかし、どのLinuxディストリビューションにもZFSのサポートをインストールすることができます。 UbuntuもUbuntu 16.04から公式のZFSサポートを提供するようになりました。 Ubuntu はデフォルトでコンテナに ZFS を使用します。
- XFS は 1994 年に Silicon Graphics 社が SGI IRX オペレーティングシステム用に開発し、2001 年に Linux に移植されました。 これは、ファイルの断片化を助けるために遅延割り当てを使用し、マウントされたスナップショットを許可しないなど、ある意味で Ext4 と似ています。 その場で拡大することはできても、縮小することはできない。 XFS は大きなファイルを扱うときには良い性能を発揮しますが、小さなファイルを多数扱うときには他のファイルシステムよりも性能が低下します。
- JFS (Journaled File System) は、1990 年に IBM によって IBM AIX オペレーティングシステム用に開発され、後に Linux に移植されました。 CPU使用率が低く、大容量ファイルでも小容量ファイルでも良好なパフォーマンスを誇る。 JFSのパーティションは動的にサイズ変更することができますが、縮小することはできません。 非常によく計画され、ほとんどの主要ディストリビューションでサポートされていますが、AIX用に設計されたため、Linuxサーバーでの実稼働テストはExtほど広範ではありません。 Ext4 はより一般的に使用され、より広くテストされています。
- Swap はドライブをフォーマットする際のオプションですが、実際のファイルシステムではありません。 これは仮想メモリとして使用され、ファイルシステム構造は持っていません。 内容を見るためにマウントすることはできません。 スワップは、LinuxカーネルがRAMに収まりきらないデータを一時的に保存するための「スクラッチスペース」として使用されます。 また、ハイバネーションにも使用されます。 Windows ではページングファイルをメインシステムパーティションにファイルとして保存しますが、Linux ではスワップスペース用に別の空きパーティションを確保するだけです。
Related: FAT32、exFAT、および NTFS の違いは何ですか。
- FAT16、FAT32、および exFAT: Microsoft の FAT ファイル システムは、Linux でドライブをフォーマットする際にしばしば選択されるものです。 これらのファイルシステムはジャーナルを含まないので、外付けUSBドライブに理想的です。 Windows、macOS、Linux、その他のデバイスなど、あらゆるオペレーティング・システムが読み込めるデファクト・スタンダード(事実上の標準)です。 このため、他のオペレーティング・システムで使用する外付けドライブをフォーマットする際に使用するファイル・システムとして理想的です。 exFAT は、FAT32 とは異なり、4 GB を超えるサイズのファイルと 8 TB を超えるサイズのパーティションをサポートしているので、理想的なオプションです。
Linux ファイル システムには、組み込みデバイスや SD カードのフラッシュ ストレージ用に特別設計されたファイル システムなど、他にもさまざまなものがあります。 しかし、これらは、Linux を使用する際に最も頻繁に目にするオプションです。