Linuxで追加ディスクやパーティションを起動時に自動でマウントしたい場合は、/etc/fstabを設定します。
前回までに、mountでファイルシステムをマウントする方法、umountでマウントを解除する方法、findmntで現在のマウント状態を確認する方法を解説しました。
ただし、mountコマンドで手動マウントしただけでは、再起動後に自動でマウントされるとは限りません。
再起動後も同じディスクを同じ場所へマウントしたい場合に使う設定ファイルが、/etc/fstabです。
この記事では、Linux初心者でも安全に作業できるように、/etc/fstabの役割、基本的な書き方、UUIDの確認方法、設定後にmount -aで確認する方法、よく使うオプション、設定ミス時の注意点まで実例付きで解説します。
- fstabとは
- /etc/fstabを使う理由
- fstabを編集する前の注意点
- 現在のfstabを確認する方法
- fstabの基本書式
- fstabの6項目を詳しく解説
- UUIDを確認する方法
- マウントポイントを作成する方法
- 追加ディスクをfstabで自動マウントする基本手順
- mount -aで設定を確認する方法
- マウント状態を確認する方法
- defaultsオプションとは
- nofailオプションとは
- 読み取り専用で自動マウントする方法
- noexec・nosuid・nodevオプション
- noautoオプションとは
- systemd環境で便利なx-systemd.automount
- swapをfstabに書く例
- tmpfsをfstabに書く例
- fstabとmountコマンドの関係
- fstabとfindmntの関係
- fstab・mount・umount・findmntの違い
- fstabでよくあるエラーと対処法
- fstabを安全に編集するチェックリスト
- よくある質問
- まとめ
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 '^$'
編集する場合は、viやnanoなどのエディターを使います。
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 -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
TYPEがext4なのに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はblkidやlsblk -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、マウントポイント、ファイルシステム種類、オプションを確認しながら、慎重に設定しましょう。




コメント