fstabとは?Linuxで起動時に自動マウントする設定方法

Linux

Linuxで追加ディスクやパーティションを起動時に自動でマウントしたい場合は、/etc/fstabを設定します。

前回までに、mountでファイルシステムをマウントする方法、umountでマウントを解除する方法、findmntで現在のマウント状態を確認する方法を解説しました。

ただし、mountコマンドで手動マウントしただけでは、再起動後に自動でマウントされるとは限りません。

再起動後も同じディスクを同じ場所へマウントしたい場合に使う設定ファイルが、/etc/fstabです。

この記事では、Linux初心者でも安全に作業できるように、/etc/fstabの役割、基本的な書き方、UUIDの確認方法、設定後にmount -aで確認する方法、よく使うオプション、設定ミス時の注意点まで実例付きで解説します。

  1. fstabとは
  2. /etc/fstabを使う理由
  3. fstabを編集する前の注意点
  4. 現在のfstabを確認する方法
  5. fstabの基本書式
  6. fstabの6項目を詳しく解説
    1. 1. デバイス指定
    2. 2. マウントポイント
    3. 3. ファイルシステム種類
    4. 4. マウントオプション
    5. 5. dump
    6. 6. fsckのチェック順序
  7. UUIDを確認する方法
  8. マウントポイントを作成する方法
  9. 追加ディスクをfstabで自動マウントする基本手順
    1. 1. ディスク構成を確認する
    2. 2. UUIDを確認する
    3. 3. マウントポイントを作成する
    4. 4. fstabをバックアップする
    5. 5. fstabを編集する
    6. 6. 設定を確認する
    7. 7. マウント状態を確認する
  10. mount -aで設定を確認する方法
  11. マウント状態を確認する方法
  12. defaultsオプションとは
  13. nofailオプションとは
  14. 読み取り専用で自動マウントする方法
  15. noexec・nosuid・nodevオプション
  16. noautoオプションとは
  17. systemd環境で便利なx-systemd.automount
  18. swapをfstabに書く例
  19. tmpfsをfstabに書く例
  20. fstabとmountコマンドの関係
  21. fstabとfindmntの関係
  22. fstab・mount・umount・findmntの違い
  23. fstabでよくあるエラーと対処法
    1. mount point does not exist
    2. wrong fs type, bad option, bad superblock
    3. bad option
    4. UUIDが間違っている
    5. 起動時に止まる・緊急モードになる
  24. fstabを安全に編集するチェックリスト
  25. よくある質問
    1. fstabは何に使いますか?
    2. fstabを編集する前に何をすればよいですか?
    3. fstabを編集したら再起動して確認すればよいですか?
    4. UUIDはどうやって確認しますか?
    5. デバイス名ではなくUUIDを使う理由は何ですか?
    6. nofailは何ですか?
    7. fstabに書いたのにマウントされません
    8. fstabとmountコマンドの違いは何ですか?
    9. UbuntuやCentOS Streamでも使えますか?
  26. まとめ

fstabとは

fstabは、Linuxで起動時にマウントするファイルシステムを定義する設定ファイルです。

正式なファイルパスは次のとおりです。

/etc/fstab

fstabには、どのディスクやパーティションを、どのディレクトリへ、どのファイルシステム種類で、どのオプションを使ってマウントするかを記述します。

主に次のような場面で使用します。

  • 追加ディスクを再起動後も自動でマウントしたいとき
  • データ用ディスクを/dataへ固定したいとき
  • バックアップ用ディスクを決まった場所へマウントしたいとき
  • 読み取り専用や実行禁止などのマウントオプションを指定したいとき
  • VPSやLinuxサーバーでディスク構成を管理したいとき

/etc/fstabを使う理由

mountコマンドで手動マウントした場合、その設定は基本的に一時的なものです。

sudo mount /dev/sdb1 /data

このようにマウントしても、再起動後にはマウントされていない状態に戻ることがあります。

再起動後も自動でマウントしたい場合は、/etc/fstabに設定を書きます。

UUID=5555-6666-7777-8888 /data ext4 defaults 0 2

これにより、システム起動時に指定したファイルシステムが自動でマウントされます。

fstabを編集する前の注意点

/etc/fstabは重要な設定ファイルです。

設定を間違えると、起動時にマウントエラーが出たり、環境によっては起動処理で止まったりする可能性があります。

編集前には、必ずバックアップを作成しておきましょう。

sudo cp /etc/fstab /etc/fstab.bak

また、編集後にいきなり再起動するのではなく、必ずmount -aで設定を確認します。

sudo mount -a

エラーが出た場合は、再起動前に修正してください。

現在のfstabを確認する方法

/etc/fstabの内容は、catコマンドなどで確認できます。

cat /etc/fstab

コメントや空行を除いて見たい場合は、次のように実行できます。

grep -v '^#' /etc/fstab | grep -v '^$'

編集する場合は、vinanoなどのエディターを使います。

sudo vi /etc/fstab

初心者でviに慣れていない場合は、nanoを使うと編集しやすいです。

sudo nano /etc/fstab

fstabの基本書式

/etc/fstabの1行は、基本的に次の6つの項目で構成されています。

デバイス マウントポイント ファイルシステム種類 オプション dump fsck

実際の例です。

UUID=5555-6666-7777-8888 /data ext4 defaults 0 2

各項目はスペースまたはタブで区切ります。

項目 意味
UUID=5555... マウントするファイルシステム
/data マウントポイント
ext4 ファイルシステム種類
defaults マウントオプション
0 dumpの対象にするか
2 起動時fsckの順序

fstabの6項目を詳しく解説

1. デバイス指定

1つ目の項目には、マウントする対象を指定します。

よく使う指定方法は次のとおりです。

指定方法 特徴
デバイス名 /dev/sdb1 分かりやすいが変わる可能性がある
UUID UUID=5555-6666 自動マウント設定でよく使う
LABEL LABEL=data ラベル名で指定できる

安定した設定にしたい場合は、UUIDを使うのが一般的です。

2. マウントポイント

2つ目の項目には、接続先のディレクトリを指定します。

/data

このディレクトリが存在しないとマウントできません。

事前に作成しておきます。

sudo mkdir -p /data

3. ファイルシステム種類

3つ目の項目には、ファイルシステムの種類を指定します。

代表的な種類は次のとおりです。

種類 用途例
ext4 Linuxでよく使われるファイルシステム
xfs CentOS Stream、Rocky Linux、AlmaLinuxなどでよく使われる
vfat USBメモリやFAT形式
ntfs Windows系ディスク
swap スワップ領域
tmpfs メモリ上の一時ファイルシステム

種類はlsblk -fblkidで確認できます。

lsblk -f
sudo blkid /dev/sdb1

4. マウントオプション

4つ目の項目には、マウント時のオプションを指定します。

基本的にはdefaultsを使うことが多いです。

defaults

複数のオプションを指定する場合は、カンマ区切りで書きます。

defaults,nofail

5. dump

5つ目の項目は、dumpバックアップの対象にするかを指定します。

現在の一般的な環境では、0にすることが多いです。

0

6. fsckのチェック順序

6つ目の項目は、起動時にfsckでチェックする順序を指定します。

意味
0 チェックしない
1 ルートファイルシステム向け
2 その他のファイルシステム向け

ext4の追加ディスクでは2が使われることがあります。

XFSでは通常0にすることが多いです。

UUIDを確認する方法

/etc/fstabでは、UUID指定がよく使われます。

UUIDは、blkidで確認できます。

sudo blkid /dev/sdb1

実行結果の例です。

/dev/sdb1: UUID="5555-6666-7777-8888" TYPE="ext4"

この場合、/etc/fstabには次のように書けます。

UUID=5555-6666-7777-8888 /data ext4 defaults 0 2

lsblk -fでも確認できます。

lsblk -f

マウントポイントを作成する方法

自動マウント先のディレクトリが存在しない場合は、先に作成します。

sudo mkdir -p /data

必要に応じて所有者や権限を変更します。

sudo chown user:user /data
sudo chmod 755 /data

サーバー用途では、サービスが書き込むディレクトリの権限に注意してください。

追加ディスクをfstabで自動マウントする基本手順

追加ディスクを/dataへ自動マウントする基本的な流れは次のとおりです。

1. ディスク構成を確認する

lsblk -f

2. UUIDを確認する

sudo blkid /dev/sdb1

3. マウントポイントを作成する

sudo mkdir -p /data

4. fstabをバックアップする

sudo cp /etc/fstab /etc/fstab.bak

5. fstabを編集する

sudo vi /etc/fstab

次のような行を追加します。

UUID=5555-6666-7777-8888 /data ext4 defaults 0 2

6. 設定を確認する

sudo mount -a

7. マウント状態を確認する

findmnt /data
df -h /data
lsblk

ここまで問題がなければ、再起動後も自動でマウントされる設定になっています。

mount -aで設定を確認する方法

/etc/fstabを編集したら、すぐに再起動するのではなく、まずmount -aを実行します。

sudo mount -a

mount -aは、/etc/fstabに書かれた設定をもとに、未マウントのファイルシステムをまとめてマウントします。

設定に誤りがある場合、ここでエラーが表示されることがあります。

エラーが出た場合は、/etc/fstabを修正してから再度確認します。

sudo vi /etc/fstab
sudo mount -a

fstab編集後にいきなり再起動するのは避け、必ずmount -aで確認しましょう。

マウント状態を確認する方法

mount -aでエラーが出なかったら、実際にマウントされているか確認します。

findmnt /data

実行結果の例です。

TARGET SOURCE    FSTYPE OPTIONS
/data  /dev/sdb1 ext4   rw,relatime

容量も確認します。

df -h /data

ディスク構成も確認できます。

lsblk

defaultsオプションとは

defaultsは、標準的なマウントオプションをまとめて指定するものです。

UUID=5555-6666-7777-8888 /data ext4 defaults 0 2

通常のデータ用ディスクでは、まずdefaultsで設定することが多いです。

ただし、セキュリティや運用方針に応じて、追加オプションを指定する場合もあります。

nofailオプションとは

nofailは、対象のディスクが存在しない場合でも起動処理を継続しやすくするためのオプションです。

UUID=5555-6666-7777-8888 /data ext4 defaults,nofail 0 2

外付けディスクや、常に接続されているとは限らないストレージではnofailを検討します。

ただし、システムに必須のディスクに安易にnofailを付けると、異常に気づきにくくなる場合があります。

読み取り専用で自動マウントする方法

読み取り専用でマウントしたい場合は、roを指定します。

UUID=5555-6666-7777-8888 /data ext4 ro 0 2

読み書き可能にする場合は、rwを指定します。

UUID=5555-6666-7777-8888 /data ext4 rw 0 2

通常のデータ用ディスクでは、defaultsを使うことが多いです。

noexec・nosuid・nodevオプション

セキュリティを意識する場合、次のようなオプションを使うことがあります。

オプション 意味
noexec 実行ファイルの実行を禁止する
nosuid SUID/SGIDビットの効果を無効にする
nodev デバイスファイルを無効にする

例です。

UUID=5555-6666-7777-8888 /data ext4 defaults,noexec,nosuid,nodev 0 2

一時ファイル置き場やアップロード領域などでは検討されることがあります。

ただし、アプリケーションが実行ファイルを必要とする場所にnoexecを付けると、正常に動作しない場合があります。

noautoオプションとは

noautoを指定すると、起動時やmount -aでは自動マウントされません。

UUID=5555-6666-7777-8888 /data ext4 noauto 0 2

設定は残しておきたいが、自動ではマウントしたくない場合に使います。

手動でマウントする場合は、マウントポイントだけで実行できる場合があります。

sudo mount /data

systemd環境で便利なx-systemd.automount

systemdを使うLinux環境では、x-systemd.automountを使って、アクセスされたときに自動マウントする設定ができます。

UUID=5555-6666-7777-8888 /data ext4 defaults,nofail,x-systemd.automount 0 2

起動時にすぐマウントするのではなく、必要になったタイミングでマウントしたい場合に使われます。

サーバーや外部ストレージの構成によっては便利ですが、まずは通常のdefaults設定を理解してから使うとよいでしょう。

swapをfstabに書く例

スワップ領域も/etc/fstabに設定できます。

UUID=9999-aaaa-bbbb-cccc none swap sw 0 0

スワップの場合、マウントポイントにはnoneを指定することがあります。

現在のスワップ状態は次のコマンドで確認できます。

swapon --show
free -h

tmpfsをfstabに書く例

tmpfs/etc/fstabに書くこともできます。

tmpfs /mnt/tmp tmpfs defaults,size=512M 0 0

この例では、/mnt/tmpに最大512MBのtmpfsをマウントします。

tmpfsはメモリを使うため、サイズ指定には注意してください。

fstabとmountコマンドの関係

/etc/fstabに設定を書いておくと、マウントポイントだけを指定してmountできる場合があります。

たとえば、次の設定があるとします。

UUID=5555-6666-7777-8888 /data ext4 defaults 0 2

この場合、次のように実行できます。

sudo mount /data

mount/etc/fstabを参照し、対応するUUIDやファイルシステム種類を使ってマウントします。

fstabとfindmntの関係

findmntを使うと、現在のマウント状態や/etc/fstabの設定を確認できます。

現在のマウント状態を確認する場合です。

findmnt /data

/etc/fstabの設定内容を確認する場合です。

findmnt --fstab

/etc/fstabに書かれていることと、現在実際にマウントされていることは別です。

設定と現在状態を混同しないようにしましょう。

fstab・mount・umount・findmntの違い

項目 役割
/etc/fstab 起動時やmount -aで使うマウント設定ファイル
mount ファイルシステムをマウントするコマンド
umount マウントを解除するコマンド
findmnt マウント状態を確認するコマンド
lsblk ディスク・パーティション構成を確認するコマンド
blkid UUIDやファイルシステム種類を確認するコマンド

自動マウント設定では、これらを組み合わせて使います。

lsblk -f
sudo blkid /dev/sdb1
sudo vi /etc/fstab
sudo mount -a
findmnt /data

fstabでよくあるエラーと対処法

mount point does not exist

mount: /data: mount point does not exist.

マウントポイントのディレクトリが存在していません。

先に作成します。

sudo mkdir -p /data

wrong fs type, bad option, bad superblock

mount: wrong fs type, bad option, bad superblock on /dev/sdb1

ファイルシステム種類の指定ミス、未フォーマット、破損、必要なパッケージ不足などが考えられます。

まず確認します。

lsblk -f
sudo blkid /dev/sdb1

TYPEext4なのにxfsと書いている、またはその逆になっていないか確認してください。

bad option

mount: bad option

/etc/fstabに指定したマウントオプションが間違っている可能性があります。

スペルミスや不要なスペース、カンマ区切りの間違いを確認します。

defaults,nofail

オプション同士はスペースではなくカンマで区切ります。

UUIDが間違っている

UUIDが間違っていると、対象のファイルシステムを見つけられません。

正しいUUIDを確認します。

sudo blkid
lsblk -f

/etc/fstabのUUIDと一致しているか確認してください。

起動時に止まる・緊急モードになる

/etc/fstabの設定ミスにより、起動時にマウントできず、緊急モードになることがあります。

対策として、編集前にバックアップを作り、編集後は必ずmount -aで確認します。

sudo cp /etc/fstab /etc/fstab.bak
sudo mount -a

外付けディスクなど、接続されていない可能性があるものにはnofailを検討します。

fstabを安全に編集するチェックリスト

  • /etc/fstabを編集する前にバックアップを取る
  • lsblk -fで対象デバイスを確認する
  • blkidでUUIDとTYPEを確認する
  • マウントポイントが存在するか確認する
  • ファイルシステム種類を間違えない
  • オプションはカンマ区切りで書く
  • 編集後はsudo mount -aで確認する
  • エラーが出たまま再起動しない

よくある質問

fstabは何に使いますか?

/etc/fstabは、Linuxで起動時に自動マウントするファイルシステムを設定するために使います。

fstabを編集する前に何をすればよいですか?

必ずバックアップを作成してください。

sudo cp /etc/fstab /etc/fstab.bak

fstabを編集したら再起動して確認すればよいですか?

いきなり再起動するのは避けましょう。まずmount -aで設定を確認します。

sudo mount -a

UUIDはどうやって確認しますか?

blkidまたはlsblk -fで確認できます。

sudo blkid /dev/sdb1
lsblk -f

デバイス名ではなくUUIDを使う理由は何ですか?

/dev/sdb1のようなデバイス名は接続順で変わる場合があります。UUIDは同じファイルシステムを識別しやすいため、自動マウント設定でよく使われます。

nofailは何ですか?

対象ディスクが存在しない場合でも、起動処理を継続しやすくするためのオプションです。外付けディスクや任意接続のストレージで検討されます。

fstabに書いたのにマウントされません

UUID、ファイルシステム種類、マウントポイント、オプションのいずれかが間違っている可能性があります。次のコマンドで確認してください。

lsblk -f
sudo blkid
sudo mount -a
findmnt /data

fstabとmountコマンドの違いは何ですか?

/etc/fstabは自動マウントの設定ファイルです。mountは実際にファイルシステムをマウントするコマンドです。

UbuntuやCentOS Streamでも使えますか?

はい。Ubuntu、Debian、CentOS Stream、Rocky Linux、AlmaLinuxなど、多くのLinuxディストリビューションで利用できます。

まとめ

/etc/fstabは、Linuxで起動時にファイルシステムを自動マウントするための設定ファイルです。

基本的な書式は次のとおりです。

デバイス マウントポイント ファイルシステム種類 オプション dump fsck

追加ディスクを/dataへ自動マウントする例です。

UUID=5555-6666-7777-8888 /data ext4 defaults 0 2

UUIDはblkidlsblk -fで確認できます。

sudo blkid /dev/sdb1
lsblk -f

/etc/fstabを編集する前には、必ずバックアップを作成しましょう。

sudo cp /etc/fstab /etc/fstab.bak

編集後は、いきなり再起動せず、mount -aで設定を確認します。

sudo mount -a

マウント状態はfindmnt、容量はdf -h、ディスク構成はlsblkで確認できます。

findmnt /data
df -h /data
lsblk

/etc/fstabは便利ですが、設定ミスが起動トラブルにつながることもあります。UUID、マウントポイント、ファイルシステム種類、オプションを確認しながら、慎重に設定しましょう。

コメント

タイトルとURLをコピーしました