名前

fstab - ファイルシステムの静的な情報

書式

/etc/fstab

説明

ファイル fstab には、 システムがマウントするファイルシステムに関しての情報が記述されています。 fstab は各種プログラムから読み込みが行われるだけであり、 書き込まれることはありません。 したがってこのファイルを適切に作成して保守するのは、 システム管理者の仕事となります。 fstab に書かれるレコード順は重要です。 fsck(8), mount(8), umount(8) では、 各処理を行う際にこの記述順に処理を進めるためです。

各ファイルシステムはそれぞれ 1 行に記述します。 各行におけるフィールドは、 タブまたは空白によって区切ります。 '#' で始まる行はコメントです。 空行は無視されます。

以下に示すのは、 fstab エントリの特徴的な例です。

LABEL=t-home2   /home      ext4    defaults,auto_da_alloc      0  2

第 1 フィールド (fs_spec)

このフィールドが表すのは、 マウント対象とするブロックスペシャルデバイス、 リモートファイルシステム、ループデバイスに対するファイルシステムイメージ、 有効化されているスワップファイルまたはスワップパーティションです。

通常のマウントの場合、 マウントするデバイスのブロックスペシャルデバイスノード (mknod(2) により生成されたもの)、 あるいはそれに対するリンクをここに指定します。 たとえば /dev/cdrom/dev/sdb7 などとします。 NFS マウントの場合、 このフィールドは <host>: <dir> といった書式であり、 たとえば knuth.aeb.nl:/ のようにします。 ストレージのないファイルシステムに対しては、 どのような文字列でも指定できます。 これはたとえば df(1) の出力に表示されます。 procfs に対しては通常 proc とします。 tmpfs に対しては mem, none, tmpfs とします。 これ以外の特別のファイルシステム、 たとえば udevsysfs は、通常は fstab に記述しません。

デバイス名の代わりに、 LABEL=<label> または UUID=<uuid> とすることができます。 デバイス名は、 そのままハードウェア検出の順番を決定するものとなるため、 ディスクを追加、削除した場合には、 その順番が変更されることになります。 したがってここに示す記述方法が推奨されます。 たとえば 'LABEL=Boot' や 'UUID=3e6be9de-8139-11d1-9106-a43f08d823a6' とします (ファイルシステムに LABEL を設定するには、 ファイルシステム固有のツール、 e2label(8), xfs_admin(8), fatlabel(8) などを用いてください)。

PARTUUID=PARTLABEL= を使うこともできます。 このパーティション識別子は、 たとえば GUID パーティションテーブル (GPT) においてサポートされています。

デバイス識別子についての詳細は、 mount(8), blkid(8), lsblk(8) を参照してください。

なお mount(8) では UUID を文字列として扱います。 UUID を文字列として表記する際には、 英小文字で表記することが基本です。 ただし FAT のボリューム ID や NTFS ファイルシステムでは、 英大文字が用いられます (たとえば UUID="A40D-85E7" や UUID="61DB7756DB7779B3" です)。

第 2 フィールド (fs_file)

このフィールドには、 ファイルシステムに対してのマウントポイント (ターゲット) を記述します。 スワップパーティションの場合は、 このフィールドは `none' と指定します。 マウントポイントに空白やタブを含む場合は、 `\040' と '\011' によって囲みます。

第 3 フィールド (fs_vfstype)

このフィールドにはファイルシステムのタイプを記述します。 Linux では以下のようにサポートされるファイルシステムタイプが多数あります。 ext4, xfs, btrfs, f2fs, vfat, ntfs, hfsplus, tmpfs, sysfs, proc, iso9660, udf, squashfs, nfs, cifs, その他。 詳しくは mount(8) を参照してください。

エントリーとして swap を指定すると、 ファイルまたはパーティションをスワップのために用いることを意味します。 swapon(8) 参照。 エントリー none は、 バインドマウントまたは移動 (move) マウントに対して用います。

複数のタイプは、 カンマ区切りリストとして指定することができます。

mount(8) と umount(8) においては、 ファイルシステムの subtypes がサポートされています。 サブタイプは、 サフィックス '.subtype' によって定義されます。 たとえば 'fuse.sshfs' とします。 fstab の第 1 フィールドにプリフィックスをつけるのではなく (たとえば 'sshfs#example.com' は非推奨となっています)、 サブタイプ記述を行うことが推奨されます。

第 4 フィールド (fs_mntops)

このフィールドは、 ファイルシステムに関連づいたマウントオプションを表します。

これはカンマで区切ったオプションのリストとして記述します。 最低でもマウントタイプ (ro または rw) を含めます。 さらにファイルシステムに対して適当な追加プションを指定します (パフォーマンスをチューニングするオプションなどがあります)。 詳しくは mount(8) や swapon(8) を参照してください。

ファイルシステムに依存しない基本オプションは、 以下のとおりです。

defaults

デフォルトオプション、 つまり rw, suid, dev, exec, auto, nouser, async を用います。

noauto

mount -a が指定された場合 (たとえば起動時) はマウントしません。

user

ユーザーによるマウントを許可します。

owner

デバイス所有者によるマウントを許可します。

comment

または x-<name> であり、 tstab 管理プログラム向けに利用します。

nofail

デバイスが存在していなくても、 そのデバイスに関するエラーを報告しません。

第 5 フィールド (fs_freq)

このフィールドは dump(8) が使用するものであり、 ダンプを必要とするファイルシステムを定めます。 未指定の場合のデフォルトはゼロです (ダンプは行われません)。

第 6 フィールド (fs_passno)

このフィールドは fsck(8) が使用するものであり、 起動時にファイルシステムのチェックを行う順を定めるものです。 ルートファイルシステムは、 fs_passno に 1 を指定します。 他のファイルシステムは fs_passno を 2 に指定します。 1 つのドライブ内にあるファイルシステムは、 順番にチェックされます。 異なるドライブ上のファイルシステムは、 ハードウェアにおいて利用可能な並行処理機能を通じて、 同時にチェックされます。 未指定の場合のデフォルトはゼロです (ファイルシステムのチェックは行われません)。

ファイル

/etc/fstab, <fstab.h>

ファイルからレコードを正しく読むには、 getmntent(3) または libmount ルーチンを使ってください。

ファイルシステムタイプ (3 番めのフィールド) におけるキーワード ignore の指定は、 マウントユーティリティーをベースとする純粋な libmount においてサポートされなくなりました (util-linux v2.22 以降)。

開発履歴

この fstab ファイル形式の原型は 4.0BSD で導入されました。

関連項目

getmntent(3), fs(5), findmnt(8), mount(8), swapon(8)

バグ報告

バグ報告は、 以下にある issue トラッカーを利用してください。 <https://github.com/util-linux/util-linux/issues>.

入手方法

fstab は util-linux パッケージの一部であり、 以下からダウンロードできます。 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.