/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>
の部分はシステムに合わせて正しい記述に書き換えてください。 例えば sda2
、sda5
、ext4
といったものです。
上記各行の6項目の記述内容については man 5
fstab により確認してください。
MS-DOS や Windows において利用されるファイルシステム(つまり
vfat、ntfs、smbfs、cifs、iso9660、udfなど)では、ファイル名称内に用いられた非アスキー文字を正しく認識させるために、特別なマウントオプション「utf8」の指定が必要になります。
UTF-8 以外のロケールの場合 iocharset
オプションには、文字ロケールと同じ値を設定することが必要であり、カーネルが理解できる形でなければなりません。
またこれを動作させるために、対応するキャラクターセット定義(File systems ->Native Language
Support にあります)をカーネルに組み入れるか、モジュールとしてビルドすることが必要です。 ただし iocharset=utf8
というオプション指定によって文字ロケールを UTF-8
とした場合、ファイルシステムの英大文字小文字は区別されるようになります。 これを避けるのであれば、iocharset=utf8
ではなく特別なオプション utf8
を指定します。 vfat や smbfs
ファイルシステムを用いるなら、さらに「codepage」オプションも必要です。 このオプションには、国情報に基づいて MS-DOS
にて用いられるコードページ番号をセットします。 例えば USB フラッシュドライブをマウントし ru_RU.KOI8-R
をセットするユーザーであれば /etc/fstab
ファイルの設定は以下のようになります。
noauto,user,quiet,showexec,codepage=866,iocharset=koi8r
ru_RU.UTF-8 をセットするなら以下のように変わります。
noauto,user,quiet,showexec,codepage=866,utf8
iocharset
オプションは iso8859-1
に対してのデフォルト設定です。
(その場合、ファイルシステムの英大文字小文字は区別されません。) utf8
オプションは、ファイル名称が UTF-8 ロケール内にて正しく認識されるように、カーネルが 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
オプションは利用できません。