fstabとは
2025/11/16
Linuxにおけるfstabの役割
fstabとは
/etc/fstab(file systems table)は、Linuxシステムにおいてファイルシステムのマウント情報を定義する重要な設定ファイルです。システム起動時に自動的にマウントするファイルシステムや、その際のオプションを指定します。
主な役割
自動マウントの管理
- システム起動時に必要なファイルシステムを自動的にマウント
- ルートファイルシステム、swap領域、追加ストレージなどの設定を一元管理
マウントオプションの指定
- 各ファイルシステムに対する詳細な動作設定
- セキュリティ、パフォーマンス、互換性の調整
システム管理の簡素化
mountコマンドでデバイス名のみでマウント可能に- 一貫性のあるマウント設定を維持
fstabの書式
各行は6つのフィールドで構成されます:
<device> <mount point> <fs type> <options> <dump> <pass>
各フィールドの詳細
第1フィールド:デバイス
デバイスの指定方法には複数あります:
- デバイスファイル:
/dev/sda1 - UUID:
UUID=550e8400-e29b-41d4-a716-446655440000 - ラベル:
LABEL=ROOT - ネットワークファイルシステム:
server:/export/home
UUIDを使用する利点は、デバイス名が変更されても影響を受けないことです。
第2フィールド:マウントポイント
ファイルシステムをマウントするディレクトリパスを指定します。swapの場合はnoneを指定。
第3フィールド:ファイルシステムタイプ
ext4:Linux標準ファイルシステムxfs:高性能ファイルシステムbtrfs:次世代ファイルシステムvfat:FAT32(USBメモリなど)ntfs:Windows NTFSnfs:ネットワークファイルシステムswap:スワップ領域auto:自動検出
第4フィールド:マウントオプション
カンマ区切りで複数指定可能:
基本オプション
defaults:標準オプション(rw,suid,dev,exec,auto,nouser,async)ro/rw:読み取り専用/読み書き可能noauto:起動時に自動マウントしないuser/nouser:一般ユーザのマウント許可/禁止
セキュリティ関連
nosuid:SUIDビットを無効化nodev:デバイスファイルを無効化noexec:実行ファイルの実行を禁止
パフォーマンス関連
async/sync:非同期/同期I/Onoatime:アクセス時刻を更新しない(パフォーマンス向上)nodiratime:ディレクトリのアクセス時刻を更新しないrelatime:アクセス時刻の更新を制限
第5フィールド:dump
0:バックアップ不要1:dumpコマンドでバックアップ対象
第6フィールド:pass(fsckの順序)
0:チェックしない1:ルートファイルシステム(最優先)2:その他のファイルシステム
設定例
典型的なfstabの例:
# <device> <mount point> <type> <options> <dump> <pass>
UUID=8f2d4c6a-9b1e-4d8a-b3c5-1a2b3c4d5e6f / ext4 defaults 1 1
UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /boot ext4 defaults 1 2
UUID=12345678-90ab-cdef-1234-567890abcdef swap swap defaults 0 0
UUID=fedcba98-7654-3210-fedc-ba9876543210 /home ext4 defaults,noatime 1 2
# 外部ストレージ
/dev/sdb1 /mnt/backup ext4 noauto,user 0 0
# ネットワークドライブ
192.168.1.100:/share /mnt/nfs nfs defaults,_netdev 0 0
# Windows共有
//192.168.1.101/share /mnt/smb cifs credentials=/home/user/.smbcreds,uid=1000,gid=1000,iocharset=utf8 0 0
# tmpfs(メモリ上のファイルシステム)
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=2G 0 0
実用的な設定のポイント
UUIDの確認方法
blkid
# または
lsblk -f
fstab編集時の注意点
- 編集前にバックアップを作成
- 編集後は
mount -aで構文エラーをチェック - ルートファイルシステムの設定は特に慎重に
トラブルシューティング
- 起動時にエラーが発生した場合、シングルユーザーモードまたはレスキューモードで修正
systemctl statusでマウント失敗の詳細を確認_netdevオプションでネットワークドライブの起動順序を制御
セキュリティ考慮事項
- 外部メディアには
nosuid,nodev,noexecを設定 - 機密データを含むパーティションには適切な権限設定
- NFSやCIFSの認証情報は別ファイルで管理
まとめ
fstabは、Linuxシステムの起動と運用において中核的な役割を果たす設定ファイルです.