8.2. /etc/fstab ファイルの生成

/etc/fstab ファイルは、種々のプログラムがファイルシステムのマウント状況を確認するために利用するファイルです。 ファイルシステムがデフォルトでどこにマウントされ、それがどういう順序であるか、マウント前に (整合性エラーなどの) チェックを行うかどうか、という設定が行われます。 新しいファイルシステムに対する設定は以下のようにして生成します。

cat > /etc/fstab << "EOF"
# Begin /etc/fstab

# file system  mount-point  type     options             dump  fsck
#                                                              order

/dev/<xxx>     /            <fff>    defaults            1     1
/dev/<yyy>     swap         swap     pri=1               0     0

# End /etc/fstab
EOF

<xxx><yyy><fff> の部分はシステムに合わせて正しい記述に書き換えてください。 例えば sda2sda5ext4 といったものです。 上のファイルの6行分の記述内容の詳細は man 5 fstab により確認してください。

MS-DOS や Windows において利用されるファイルシステム (例えば vfat、ntfs、smbfs、cifs、iso9660、udf) では、ファイル名称内に用いられた非アスキー文字を正しく認識させるために、マウントオプションとしてiocharsetを指定することが必要となります。 オプションに設定する値は利用するロケールとすることが必要で、カーネルが理解できる形でなければなりません。 またこれを動作させるために、対応するキャラクタセット定義 (File systems ->Native Language Support にあります) をカーネルに組み入れるか、モジュールとしてビルドすることが必要です。 vfat や smbfs ファイルシステムを用いるなら、さらにcodepageオプションも必要です。 このオプションには、国情報に基づいて MS-DOS にて用いられるコードページ番号をセットします。 例えば USB フラッシュドライブをマウントし ru_RU.KOI8-R をセットするユーザーであれば /etc/fstab ファイルの設定は以下のようになります。

noauto,user,quiet,showexec,iocharset=koi8r,codepage=866

ru_RU.UTF-8 をセットするなら以下のように変わります。

noauto,user,quiet,showexec,iocharset=utf8,codepage=866
[注記]

注記

後者の設定では、カーネルが以下のようなメッセージを出力します。

FAT: utf8 is not a recommended IO charset for FAT filesystems,
    filesystem will be case sensitive!

否定的な設定を勧めるメッセージですが、これは無視して構いません。 iocharsetオプションに他の設定を行ったとしても UTF-8 ロケールでは結局はファイル名の表示を正しく処理できないためです。

ファイルシステムによっては codepage と iocharset のデフォルト値をカーネルにおいて設定することもできます。 カーネルにおいて対応する設定はDefault NLS Option(CONFIG_NLS_DEFAULT)Default Remote NLS Option(CONFIG_SMB_NLS_DEFAULT)、Default codepage for FAT(CONFIG_FAT_DEFAULT_CODEPAGE)、Default iocharset for FAT(CONFIG_FAT_DEFAULT_IOCHARSET) です。 なお ntfs ファイルシステムに対しては、カーネルのコンパイル時に設定する項目はありません。

特定のハードディスクにおいて ext3 ファイルシステムでの電源供給不足時の信頼性を向上させることができます。 これは /etc/fstab での定義においてマウントオプション barrier=1 を指定します。 ハードディスクがこのオプションをサポートしているかどうかは hdparm を実行することで確認できます。 例えば以下のコマンドを実行します。

hdparm -I /dev/sda | grep NCQ

何かが出力されたら、このオプションがサポートされていることを意味します。

論理ボリュームマネージャー (Logical Volume Management; LVM) に基づいたパーティションでは barrier オプションは利用できません。