/etc/fstab
/etc/fstab は、起動時にどのファイルシステムをどこに、どのようなオプションでマウントするかを Linux に指示するファイルです。各行は 1 つのファイルシステムまたはスワップ領域を記述します。記述を誤るとシステムが正常に起動しなくなる可能性があるため、変更を加えた場合は再起動前にテストを行う必要があります。
16 つのフィールド
各行には 6 つのフィールドがあります。デバイス(例: UUID=...)、マウントポイント、ファイルシステムタイプ(ext4、xfs、vfat、swap)、マウントオプション(例: defaults、noatime、nofail)、dump フィールド(通常は 0)、および fsck の順序(ルートファイルシステムは 1、その他は 2、チェックをスキップする場合は 0)です。
2UUID を使用する理由
ディスクの追加や順序の変更が行われると、/dev/sdb1 のようなデバイス名は変わる可能性があります。UUID または LABEL を使用すればファイルシステム自体を特定できるため、正しいものがマウントされます。UUID は blkid または lsblk -f で確認できます。
3nofail と systemd
systemd を使用している場合、fstab の各行は起動時にマウントユニットに変換されます。'nofail' オプションを指定すると、USB ドライブのような必須ではないディスクが見つからない場合でも、起動処理を継続させることができます。
fstab エントリの追加とテスト方法
- ファイルシステムの UUID を確認する:
lsblk -f - マウントポイントを作成する(例):
sudo mkdir -p /mnt/data - ファイルをバックアップする:
sudo cp /etc/fstab /etc/fstab.bak - 以下の形式で行を追加する: UUID=<uuid>
/mnt/dataext4 defaults,nofail 0 2 - ファイルをチェックする:
sudo findmnt --verify - 再起動せずにリストされたすべてをマウントする:
sudo mount -a
注意点
- ルートまたは
/bootの行にエラーがあると、システムが緊急モードで起動する可能性があります。 - 正常に動作しているファイルのコピーを保持し、再起動前に mount -a でテストしてください。
関連記事
- lsblk とブロックデバイスlsblk を使用してディスクやパーティションを一覧表示し、サイズ、ファイルシステム、マウントポイントを読み取り、新しいディスクを安全に識別する方法。
- LinuxのSwap領域Swapとは何か、freeコマンドやswaponコマンドでの確認方法、Swapファイルの追加方法、vm.swappinessの設定変更について解説します。
- df (disk free)dfコマンドの出力の読み方、一般ユーザーにおいてAvailがゼロになる前にUse%が100%に達する理由、およびdf -iを使用してinodeを確認する方法について解説します。
出典
- fstab(5) マニュアルページ man7.org
- findmnt(8) マニュアルページ man7.org
最終確認: