---
title: ファイルシステム
description: 利用可能なファイルシステムの説明と推奨事項 (ext4, f2fs, btrfs, xfs, zfs)
---

CachyOS は5種類のファイルシステムに対応しており、自分の用途に合ったものをえらぶことができます。ここではそれぞれのファイルシステムのメリットやデメリット、そしてどんな人におすすめかを説明します。各ファイルシステムに必要なツールは CachyOS にプリインストールされています。

:::note
BTRFS が CachyOS のデフォルトかつおすすめのファイルシステムです。迷ったらこれをえらんでください。
:::

## XFS

XFS は Silicon Graphics, Inc. が開発したジャーナリングファイルシステムです。1993 年に開発、2001 年に Linux に移植され、現在ほとんどの Linux ディストリビューションで広くサポートされています。

### メリット

- 速度と極限のスケーラビリティを考えて設計
- 信頼性が高く、データの破損を防ぐためにさまざまな技術を搭載
- エクステントベースの設計と遅延アロケーション手法により、断片化に強い

### デメリット

- サイズの縮小不可

### ユーザー空間ツール

XFS ファイルシステムを管理するユーザー空間ツールを含むパッケージは `xfsprogs` です。

### どんな人におすすめ？

XFS は高度な機能を必要とせず、シンプルで高速かつ信頼性の高いファイルシステムを求めるユーザーにおすすめです。

## BTRFS

BTRFS は 2007 年に作られ、2013 年に Linux カーネルで安定したと宣言されたモダンなコピーオンライト (COW) ファイルシステムです。広くサポートされており、たくさんの高度な機能があることで知られています。

### メリット

- 透過的な圧縮あり
  - BTRFS はユーザーの操作なしにファイルを透過的に圧縮し、大幅な容量節約を実現します。**CachyOS ではデフォルトで ZSTD 圧縮レベル 3 が適用されています。**
- スナップショット機能あり
  - BTRFS は COW の特性を活かし、ディスク容量をほとんど消費することなくサブボリュームのスナップショットを作成できます。
- サブボリューム機能によってファイルシステムを細かく管理可能
- 拡張・縮小が可能
- 開発が活発につづいている

### デメリット

- デフラグやバランシングが必要な場合あり
- 前述の断片化により、回転式ドライブでの性能低下あり

### ユーザー空間ツール

Btrfs のユーザー空間ツールパッケージは `btrfs-progs` です。

### サブボリューム構成

CachyOS ではスナップショット機能をすぐに使えるよう、標準でサブボリューム構成に設定されています。

- Subvol @ = /
- Subvol @home = /home
- Subvol @root = /root
- Subvol @srv = /srv
- Subvol @cache = /var/cache
- Subvol @tmp = /var/tmp
- Subvol @log = /var/log

### どんな人におすすめ？

BTRFS はスナップショット/バックアップ機能と透過的な圧縮を必要とするユーザーにおすすめです。 

## EXT4

EXT4 (第4拡張ファイルシステム) は最も広く使われている Linux ファイルシステムです。EXT4 は 2008 年に Linux カーネルで安定となりました。

### メリット

- 状況によって XFS と同等以上の速度を発揮
- たくさんの人にえらばれており、豊富なリソースへのアクセスが容易
- 本当に信頼性が高く、長年にわたる実績あり
- 拡張・縮小が可能
  - 縮小はオフラインでのみサポートされており、ファイルシステムのアンマウントが必要です。

### デメリット

- ほかのファイルシステムにはある高度な機能が少ない

### ユーザー空間ツール

ext4 を管理するパッケージは `e2fsprogs` です。

### どんな人におすすめ？

EXT4 はもっともシンプルで一般的なファイルシステムを求めるユーザーにおすすめです。

## ZFS

ZFS は 2005 年に Sun Microsystems によって開発された高機能なファイルシステムです。多くの機能がありますが、CDDL ライセンスのため Linux カーネルに含めることができず、別途モジュールのインストールが必要です。

:::caution
ZFS はライセンスの互換性の問題から、リアルタイムカーネルとの併用はできません。
:::

### メリット

- プールストレージ (zpool)
- COW によるスナップショット
- 圧縮
- Raid-Z 対応
- ARC キャッシュにより、頻繁にアクセスするファイルの読み取りがとても高速

### デメリット

- zpool や ARC などの機能により、使いこなすのが大変
- ARC を効果的に使うには大量の RAM が必要
- Linux カーネルに含まれていないため、サードパーティのカーネルモジュール (OpenZFS) に依存
- リアルタイムプリエンプションと互換性なし

### 必要なツール

CachyOS は各カーネルバージョン向けにコンパイル済みの ZFS モジュールを提供しています。
ユーザー空間ツールとして `zfs-utils` が必要です。

### どんな人におすすめ？

ZFS はプールストレージや ARC キャッシュなどの高度な機能を活用したい上級者向けです。

## F2FS

F2FS (Flash-Friendly File System) は Samsung が Linux カーネル向けに開発したフラッシュファイルシステムです。現代のストレージに使われている NAND フラッシュに特化して設計されています。

### メリット

- フラッシュフレンドリーな設計
- 透過的な圧縮によりディスク書き込みを削減 (現時点ではユーザーが容量節約の恩恵を受けることはできない)
- ウェアレベリングが優秀なため、NAND フラッシュの寿命を保てる

### デメリット

- サイズの縮小不可
- 現時点で圧縮による容量節約はユーザーは利用不可、将来的に追加される可能性あり
- fsck (ファイルシステムチェック) が比較的弱い
- ファイルシステムを作成したカーネルより古いバージョンにダウングレードすると問題が発生する場合あり
- MBR/BIOS システムで GRUB と併用する場合に回避策が必要

### ユーザー空間ツール

F2FS の主なツールは `f2fs-tools` です。

### どんな人におすすめ？

- F2FS は NAND フラッシュデバイスの寿命をできるだけ伸ばしたいユーザーにおすすめです。
- MBR/BIOS システムで F2FS を使う場合は、GRUB のような回避策が不要な Limine をおすすめします。

## まとめ

安定していてスナップショットや圧縮など便利な機能が充実しているデフォルトの **BTRFS** を使ってください。シンプルで高速なファイルシステムが必要なら **XFS** または **EXT4** をえらんでください。
