MOUNT
Section: System Administration (8)
Updated: August 2015
Index
Return to Main Contents
名前
mount - ファイルシステムをマウントする
書式
mount
[-l|-h|-V]
mount -a
[-fFnrsvw]
[-t
fstype]
[-O
optlist]
mount
[-fnrsvw]
[-o
options]
device|dir
mount
[-fnrsvw]
[-t
fstype]
[-o
options]
device dir
説明
Unix のシステムにおいては、アクセスできるファイルはすべて 1 つの大きな
ツリー構造にまとめられている。
これは
/
をルート (root:根) とする階層構造をなしている。
これらのファイル群は複数のデバイスにわたって配置することができる。
mount
コマンドはあるデバイス上のファイルシステムを
この大きなツリー構造に接続するために用いられる。
逆に接続を解除する際には
umount(8)
コマンドが用いられる。
ファイルシステムは、データをどのようにデバイスに格納するかを
制御するために使われる。
また、ネットワークや他のサービスで仮想的な方法で提供するかを
制御するために使われる。
mount
コマンドの標準形は次の通りである:
-
mount -t type device dir
これは
device
上にあるファイルシステム (タイプ
type)
をディレクトリ
dir
に接続するよう、カーネルに伝える。
-t type は、オプションである。
mount
コマンドは通常はファイルシステムを検知できる。
デフォルトでは、ファイルシステムをマウントするには、root 権限が必要である。
詳細は「スーパーユーザー以外でのマウント」のセクションを参照すること。
このファイルシステムがマウントされている間は、ディレクトリ
dir
のもとの中身 (もしあれば)、ディレクトリ自身の所有者、
パーミッションモードは見えなくなる。
dir
によって指定されるパスは
device
上のファイルシステムのルートを参照することになる。
ディレクトリまたはデバイスのみが指定された場合、以下のようになる:
-
mount /dir
mount は
/etc/fstab
ファイルのマウントポイントを調べる (なければ、デバイスを調べる)。
--target
または
--source
オプションを使って指定した引き数が曖昧になるのを防ぐことができる。
例えば:
-
mount --target /mountpoint
同じファイルシステムを複数回マウントできる。
同様なケースで (例えばネットワークファイルシステムで) 同じファイルシステムを
同じマウントポイントで複数回マウントできる。
マウントコマンドはこの挙動を制御するポリシーを実装していない。
全ての挙動はカーネルで制御され、通常はファイルシステムドライバの仕様である。
例外は、--all であり、このオプションが指定された場合、
既にマウントされているファイルシステムは無視される
(詳細は以下の --all を参照すること)。
マウントのリスト表示
リスト表示モードは後方互換のためにのみ維持されている。
特にスクリプトにおいては、より強力でカスタマイズ可能な出力には、
findmnt(8)
を使うこと。
マウントポイント名に含まれる制御文字は、'?' に置換される点に注意すること。
以下のコマンドでは、(タイプ
type
の) 全てのマウントされたファイルシステムのリストを表示する:
-
mount [-l] [-t type/]
オプション -l を付けると、ラベルをリストに追加する。
下記を参照すること。
デバイスとファイルシステムの指定
ほとんどの場合、デバイスは (ブロックスペシャルデバイスの) ファイル名で
指定する (例:
/dev/sda1)。
しかし例外もある。例えば NFS を通してマウントする場合には、
device
は
knuth.cwi.nl:/dir
のようになる。
ブロックスペシャルデバイスの指定には、ボリュームラベルや UUID を
用いることができる (以下の -L および -U オプションを見よ)。
また、パーティションラベル、または UUID を用いることができる。
パーティション識別子は、例えば、GUID パーティションテーブル (GPT) をサポートする。
ディスクパーティションのデバイス名は不安定である。
ハードウェアの認識でデバイスの追加や削除を行った場合、
名前が変わる可能性がある。
これが、ファイルシステムやパーティションの識別子に、
UUID やラベルを使うのを強く推奨する理由である。
コマンド lsblk --fs は、利用可能なブロックデバイスの
ファイルシステム、ラベル、UUID の概要を表示する。
コマンド blkid -p <device> は、
指定されたデバイス上のファイルシステムの詳細を表示する。
デバイスを移動、共有、コピーする場合、
UUID とラベルが実際に一意である保証がないことを忘れてはいけない。
システム上で UUID が実際に一意であるかを検証するには、
lsblk -o +UUID,PARTUUID
を使うこと。
/etc/fstab
ファイルでは、
/dev/disk/by-{label,uuid,partuuid,partlabel}
udev シンボリックリンクより、
タグ (例えば UUID=uuid) を使った設定が推奨される。
タグは、より読みやすく、堅牢で、移植性が高い。
mount(8)
は内部的に udev シンボリックリンクを使っているので、
/etc/fstab でシンボリックリンクを使うのは、タグを使うのに比べて、
何の利点もない。
より詳細は
libblkid(3)
を参照すること。
mount(8)
は UUID を文字列として使っている点に注意すること。
コマンドライン、または
fstab(5)
から指定された UUID は内部的なバイナリ表現に変換されない。
UUID の文字列表現は、小文字になる。
proc
ファイルシステムはスペシャルデバイスには関連付けられていないので、
マウントする際には
proc
のような適当なキーワードをデバイス指定の代わりに用いる。
(通常用いられている
none
はあまりお勧めできない:
mount
が `none already mounted' というエラーメッセージを出すことになるので、
混乱の原因となりかねない。)
ファイル /etc/fstab, /etc/mtab, /proc/mounts
ファイル
/etc/fstab
(fstab(5)
を見よ) は、それぞれのデバイスが通常マウントされる場所を、
オプションとともに記述したものである。
fstab(5)
ファイルのデフォルトの場所は、
--fstab path
コマンドラインオプションで上書きできる
(より詳細は下記を参照すること)。
コマンド
-
mount -a
[-t
type]
[-O
optlist]
が (通常は起動スクリプトから) 実行されると、
fstab
に記述されているすべてのファイルシステムが
(適当なオプションの有無に関わらず、それぞれ適当なタイプで) マウントされる。
ただしキーワード
noauto
を含む行はマウントされない。
-F
オプションを指定すると mount は fork し、
それぞれのファイルシステムが同時にマウントされる。
fstab
または
mtab
で指定されたファイルシステムをマウントする場合、
コマンドラインにはデバイス、またはマウントポイントを指定すれば充分である。
プログラム
mount
と
umount
は、現在マウントされているファイルシステムをファイル
/etc/mtab
で昔から管理している。
伝統的な通常の
/etc/mtab
のサポートはコンパイル時にデフォルトで完全に無効化できる。
なぜなら、現在の Linux システムはで、代わりに
/proc/mounts
へのシンボリックリンクにする方が良いからである。
ユーザ空間で管理されている通常の mtab ファイルは、
名前空間、コンテナ、その他の先進的な Linux 機能とともに使う場合には、
信頼性を持って動作できない。
通常の mtab のサポートが有効である場合、
ファイルもシンボリックリンクと同様に使うことができる。
mount
に引き数を何も指定しない場合、
マウントされているファイルシステムが表示される。
/etc/fstab
で指定されているマウントオプションを上書きしたい場合、
-o を使う必要がある:
-
mount device|dir -o options
コマンドラインで指定されたマウントオプションは、
/etc/fstab
で指定されたオプションのリストに追加される。
このデフォルトの動作は、コマンドラインオプション
--options-mode で変更できる。
通常の挙動では、衝突するオプションがある場合、最後のオプションが勝つ。
device
(または LABEL, UUID, PARTUUID, PARTLABEL) と
dir
の両方が指定された場合、
mount
プログラムは
/etc/fstab
ファイルを読み込まない。
例えば、デバイス
foo を /dir
にマウントする場合、以下のように指定する:
-
mount /dev/foo /dir
このデフォルトの挙動は、コマンドラインオプション
--options-source-force
で変更し、fstab から設定を読み込ませることができる。
ルート以外のユーザーでは、
mount
は常に fstab の設定を読み込む。
スーパーユーザー以外でのマウント
通常はスーパーユーザーのみがマウントを行うことができるが、
fstab
中の行に
user
オプションが含まれていれば、その行で指定されているファイルシステムは
誰でもマウントすることができる。
したがって
-
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
という行があれば、誰でも挿入された CDROM 上の iso9660 ファイルシステムを
-
mount /cd
によってマウントできる。
mount は root 以外のユーザーにはとても厳格で、
fstab が解析されたり、ヘルパープログラムが実行される前に、
コマンドラインで指定された全てのパスが検証される。
ファイルシステムを指定するために、有効なマウントポイントを使うことが
強く推奨される。
さもないと、mount は失敗する。
例えば、NFS や CIFS のマウント元をコマンドラインから指定するのは、
良くない考えである。
詳細は
fstab(5)
を参照のこと。
ファイルシステムをマウントしたユーザーだけが、
それをアンマウントすることができる。
他のユーザーでもアンマウントを行えるようにしたい場合は、
fstab
の行の指定を
user
の代わりに
users
とすること。
owner
オプションは
user
オプションと似ているが、ユーザーがそのスペシャルファイルの
所有者でなければならないという制限がある。
これはたとえばログインスクリプトがコンソールのユーザーを
/dev/fd
の所有者にする場合、このデバイスに用いると便利だろう。
group
オプションは (訳註:
user
オプションと) 似ているが、ユーザーがそのスペシャルファイルの
グループのメンバでなければならないという制限がある。
bind マウント操作
ファイル階層の一部をどこか別の場所に再マウントすることができる。
使い方は以下の通りである:
-
mount --bind
olddir newdir
もしくは、fstab エントリで、このオプションを使う:
-
/olddir
/newdir
none bind
この呼び出しの後、同じ内容を 2 つの場所でアクセスできる。
"bind" がカーネル VFS にセカンドクラスまたはスペシャルノードを
作成しないという点を理解することが重要である。
"bind" は、単にファイルシステムをアタッチする別の操作である。
"bind" 操作でアタッチされたファイルシステムの情報を格納する場所はない。
olddir と newdir は独立であり、
olddir はアンマウントできる。
1 つのファイル (を 1 つのファイル) に再マウントできる。
bind マウントを使って通常ディレクトリからマウントポイントを作ることができる。
例えば:
-
mount --bind foo foo
bind マウントコールで 1 つのファイルシステム (の一部) のみをアタッチし、
サブマウントはできない。
次のようにして、サブマウントを含む全てのファイル階層は、
2 つ目の場所にアタッチできる:
-
mount --rbind
olddir newdir
カーネルによって管理されるファイルシステムのマウントオプションは、
元々のマウントポイントのマウントオプションと同じである点に注意すること。
ユーザー空間のマウントオプション (例えば、_netdev) は、
mount(8)
によってコピーされず、
mount のコマンドラインオプションで明示的に指定する必要がある。
mount(8)
は v2.27 以降で、関連するオプションを
--bind
と一緒に渡すことで、マウントオプションを変更することができる。
例えば:
-
mount -o bind,ro foo foo
この機能は、Linux カーネルではサポートされておらず、
追加の mount(2) の再マウントシステムコールを発行することで、
ユーザー空間で実装されている。
この方法はアトミックではない。
読み込みのみの bind マウントを作成する別の (昔からの) 方法は、
再マウント操作を使うことである。
例えば:
-
mount --bind
olddir newdir
mount -o remount,bind,ro
olddir newdir
読み込みのみの bind は読み込みのみのマウントポイント (VFS エントリ) を作成するが、
元々のファイルシステムのスーパーブロックは書き込み可能のままである。
つまり、
olddir
は書き込み可能であるが、
newdir
は読み込みのみということである。
nosuid, nodev, noexec, noatime, nodiratime, relatime VFS エントリフラグを、
"remount,bind" 操作で変更することができる。
他の (例えば、ファイルシステム固有のフラグ) は黙って無視される。
マウントオプションを (例えば -o rbind,ro で) 再帰的に変更することはできない。
mount(8)
は v2.31 以降で、
再マウント操作時
("-o remount" がコマンドラインで指定されている場合) に
/etc/fstab
に指定された bind フラグを無視するようになった。
コマンドラインで再マウントをする場合、
マウントオプションを完全に制御する必要がある。
以前のバージョンでは、bind フラグは常に適用され、
bind を操作することなしに、
マウントオプションを再定義することができなかった。
この
mount(8)
の挙動は、"remount,bind" が
/etc/fstab
ファイルに指定されている場合に、影響しない。
move 操作
マウントされたツリー
を (纏めて) 他の場所に移動することが可能になった。
使い方は以下の通りである:
-
mount --move
olddir newdir
これにより、前に
olddir
に現れていた内容が、
newdir
でアクセスできる。
ファイルの物理的な場所は変更されない。
olddir
がマウントポイントになる点に注意すること。
shared マウント以下にあった move マウントオプションは、
無効でありサポートされない。
現在の伝搬されているフラグを見るには、
findmnt -o TARGET,PROPAGATION
を使うこと。
共有 (shared) サブツリー操作
Linux 2.6.15 からマウントとサブマウントを
shared, private, slave, unbindable としてマークできる。
共有 (shared) マウントはマウントのミラーを作成するために提供される。
ミラーのマウントとアンマウントは、他のミラーに伝搬 (propagation) される。
スレーブ (slave) マウントはマスターからの伝搬は受けるが、逆の伝搬は受けない。
プライベート (private) マウントは伝搬をさせない。
バインド不可 (unbindable) マウントは bind 操作でクローンされないプライベートマウントである。
詳細な意味は、カーネルソースツリーの
Documentation/filesystems/sharedsubtree.txt
ファイルにドキュメント化されている。
サポートされている操作は、以下の通り:
-
mount --make-shared mountpoint
mount --make-slave mountpoint
mount --make-private mountpoint
mount --make-unbindable mountpoint
以下のコマンドは、指定されたマウントポイント以下の
全てのマウントのタイプを再帰的に変更する。
-
mount --make-rshared mountpoint
mount --make-rslave mountpoint
mount --make-rprivate mountpoint
mount --make-runbindable mountpoint
mount(8)
は、--make-* 操作が要求された場合、
fstab(5)
を読まない。
全ての必要な情報はコマンドラインで指定しなければならない。
Linux カーネルは、1 回の
mount(2)
システムコールで複数の伝搬フラグを変更できない。
そして、このフラグは他のマウントオプションや操作と組み合わせることが
できない。
util-linux 2.23 以降で mount コマンドは、
1 回の mount(8) 呼び出しで、
より多くの伝搬オプション (トポロジー) 変更が可能で、
他のマウントオプションと一緒に指定できる。
この機能は「実験的」である。
伝搬フラグは、先に呼び出されたマウント操作が成功した場合、
追加の mount(2) システムコールを呼び出すことで適用できる。
この利用方法はアトミックではない点に注意すること。
伝搬フラグを
fstab(5)
でマウントオプション
(private,
slave,
shared,
unbindable,
rprivate,
rslave,
rshared,
runbindable)
を指定できる。
例:
-
mount --make-private --make-unbindable /dev/sda1 /foo
は、以下と同じである:
-
mount /dev/sda1 /foox
mount --make-private /foo
mount --make-unbindable /foo
コマンドラインオプション
mount
の実行時に用いられるオプションは以下のようにして決定される。
まずそのファイルシステムに特有のオプションが
fstab
中の対応する行から抽出される。
次にコマンドラインの
-o
引き数によって指定されたオプション、最後に
-r または -w
オプションが指定されている場合には、それらが適用される。
コマンド mount は、/sbin/mount.suffix マウントヘルパーに
全てのオプションを渡すわけではない。
mount とマウントヘルパーのインタフェースは、
以下の外部ヘルパーのセクションで記載されている。
mount
コマンドで利用できるコマンドラインオプションは以下の通り:
- -a, --all
-
fstab
に記載されている (指定したタイプの) ファイルシステムを
(noauto
キーワードが含まれている行を除き) すべてマウントする。
ファイルシステムは
fstab
の順番に従ってマウントされる。
mount コマンドは、ファイルシステムのマウント元とマウント先
(加えて、bind マウントまたは btrfs についてはファイルシステムのルート) を比較し、
既にマウントされているファイルシステムを検知する。
既にマウントされているファイルシステムのカーネルテーブルは、
mount --all でキャッシュされる。
これは、複製された fstab エントリがマウントされるという意味である。
オプション --all は、再マウント操作でも使うことができる。
この場合、全てのフィルタ (-t と -O) は、
既にマウントされているファイルシステムのテーブルに適用される。
mount -a を
fstab
のチェックに使うのは、良くない方法である点に注意すること。
推奨される方法は、findmnt --verify を使うことである。
- -B, --bind
-
サブツリーをどこか別の場所に再マウントする
(それにより、ファイルシステムの内容は両方の場所で利用可能になる)。
上記の bind マウント を参照すること。
- -c, --no-canonicalize
-
パスを正則化 (canonicalize) しない。
マウントコマンドは、全てのパスを (コマンドラインからであっても、fstab からであっても)
デフォルトで正則化する。
このオプションは、正則化した絶対パスに対して、
-f
フラグとともに使うことができる。
このオプションは、mount -i を呼び出すマウントヘルパーのために、
設計されている。
このコマンドラインオプションを通常のマウント操作として
使わないことを、強く推奨する。
mount(8) は、このオプションを
/sbin/mount.type ヘルパーに渡さない。
- -F, --fork
-
(-a
とともに用いる)
それぞれのデバイスごとに fork して新しい mount プロセスを生成する。
別々のデバイス、別々の NFS サーバに対するマウントを並行して行うことになる。
利点は動作が高速になること、
また NFS タイムアウトが並行して計測されることである。
逆に欠点としては、マウントの順序が規定されないことである。
したがって、
/usr
と
/usr/spool
の両方を同時にマウントするときには、このオプションを用いることは
できない。
- -f, --fake
-
実際のシステムコール以外を除いてすべての動作をする。
もうちょっとわかりやすく言うと、
ファイルシステムのマウント動作を「行うふり」をする。
このオプションは
-v
フラグとともに用いると便利で、
mount
コマンドが行おうとすることを確認できる。
また以前に -n オプションを用いてマウントされたデバイスのエントリーを
/etc/mtab
に書き込む目的にも用いることができる。
-f オプションは、/etc/mtab の既存のレコードをチェックし、
レコードが既に存在する場合、失敗する。
(通常のフェイクでないマウントがチェックされる。このチェックは、
カーネルで行われる。)
- -i, --internal-only
-
/sbin/mount.filesystem ヘルパがあっても、呼び出さない。
- -L, --label label
-
指定した
label
を持つパーティションをマウントする。
- -l, --show-labels
-
ラベルを mount の出力に追加する。
これを行うには、mount にディスクデバイスの読み取り権限が必要である
(つまり set-user-ID root されている必要がある)。
このような ext2, ext3, ext4 のラベルを設定するには
e2label(8)
ユーティリティを用いればよい。
また、XFS のラベルを設定するには
xfs_admin(8)
を用いればよい。
reiserfs のラベルを設定するには
reiserfstune(8)
を用いればよい。
- -M, --move
-
サブツリーをどこか別の場所に移動する。
上記のサブセクション move 操作 を参照すること。
- -n, --no-mtab
-
マウントの際に
/etc/mtab
に書き込みを行わない。
これが必要になるのは、例えば
/etc
がリードオンリーのファイルシステムの場合などである。
- -N, --namespace ns
-
ns で指定された名前空間でマウントを実行する。
ns はその名前空間で実行されているプロセスの PID、
または名前空間を表すスペシャルファイルである。
mount(8)
は、/etc/fstab を読んで /etc/mtab に書き込み (または /run/mount に書き込み)、
mount(2)
システムコールを呼び出し、名前空間を切り替える。
さもなければ、元々の名前空間で実行する。
これは、切り替え先の名前空間には、
mount(2)
コマンドを実行するのに必要なライブラリや他に要求されるものを
含んでいる必要がないことを意味する。
より詳細な情報は、namespaces(7) を参照すること。
- -O, --test-opts opts
-
-a
オプションを適用するファイルシステムを制限する。
その点については、
-O
が
-a
なしで指定できない点を除けば、
-t
オプションに似ている。
例えば、コマンド:
-
-
mount -a -O no_netdev
はオプション
_netdev
が
/etc/fstab
ファイルのオプションフィールドで指定されている
ファイルシステム以外の全てのファイルシステムをマウントする。
-t
オプションが厳密にマッチする点が異なる。
no
をオプションの前に付けると、残りオプションは無効にされない。
-t
と
-O
オプションは機能が足し合わされる。
つまり、コマンド
-
mount -a -t ext2 -O _netdev
は -netdev オプションが付けられた ext2 ファイルシステムをマウントし、
ext2 ファイルシステム、または _netdev オプションのいずれかの場合は、
マウントしない。
- -o, --options opts
-
指定されたマウントオプションを使う。
opts 引き数はカンマ区切りのリストである。
例:
-
-
mount LABEL=mydisk -o noatime,nodev,nosuid
より詳細は
ファイルシステム非依存のマウントオプション
と
ファイルシステム独自のマウントオプション
のセクションを参照すること。
- --options-mode mode
-
コマンドラインからのオプションを、fstab/mtab のオプションとどのように組み合わせるかを制御する。
mode は
ignore, append, prepend, replace
のいずれかである。
例えば、append は、fstab のオプションはコマンドラインから
指定されたオプションに足し合わされる。
デフォルト値は prepend である。-- これは、コマンドラインオプションが
fstab オプションの後に評価されることを意味する。
オプションが衝突する場合、最後のオプションが勝つ点に注意すること。
- --options-source source
-
デフォルトオプションの指定元。
source は
fstab, mtab, disable
をカンマ区切りのリストで指定したものである。
disable は
fstab と mtab
を無効化し、--options-source-force を無効化する。
デフォルト値は fstab,mtab である。
- --options-source-force
-
device と dir の両方が指定された場合も、
fstab/mtab からのオプションを使う。
- -R, --rbind
-
サブツリーと利用可能な全てのサブマウントを、どこか他の場所に
再マウントする
(その内容は両方の場所で利用可能にする)。
上記のサブセクション bind マウント を参照すること。
- -r, --read-only
-
ファイルシステムを読み込みのみでマウントする。
別名は
-o ro
である。
ファイルシステムタイプとファイルシステムの状態とカーネルの
挙動により、システムがデバイスに書き込むことができる場合もある。
例えば、ext3 と ext4 では、ファイルシステムがダーティである場合、ジャーナルを再生する。
このような書き込みアクセスを防止するには、
ext3 または ext4 ファイルシステムを ro,noload マウントオプションでマウントするか、
デバイス自身を読み込みのみのモードに設定する。
blockdev(8)
コマンドを参照すること。
- -s
-
ずさんな (sloppy) マウントオプションについて、失敗させるのではなく、大目に見る。
ファイルシステムタイプでサポートされていないマウントオプションを
無視する。
全てのファイルシステムが、このオプションをサポートしている
わけではない。
現在、mount.nfs マウントヘルパーでのみサポートされている。
- --source device
-
マウントコマンドの引き数が 1 つだけ指定された場合、
その引き数はマウント先 (マウントポイント) またはマウント元 (デバイス) として
解釈される。
このオプションは引き数が明示的にマウント元であることを定義できる。
- --target directory
-
マウントコマンドの引き数が 1 つだけ指定された場合、
その引き数はマウント先 (マウントポイント) またはマウント元 (デバイス) として
解釈される。
このオプションは引き数が明示的にマウント先であることを定義できる。
- -T, --fstab path
-
別の fstab ファイルを指定する。
path がディレクトリの場合、ディレクトリ内のファイルは
strverscmp(3)
でソートされ、"." で始まるファイルと、
.fstab 拡張子のないファイルは無視される。
このオプションは複数回指定できる。
このオプションは、ほぼ initramfs または chroot スクリプトのために設計されており、
追加の設定は、標準のシステム設定の範囲を越えて指定されている。
mount(8) はオプション --fstab を
/sbin/mount.type ヘルパーに渡さない点に注意すること。
つまり、別の fstab ファイルはヘルパーから見えない。
これは通常のマウントでは問題なく、(root 以外の) ユーザーによるマウントは、
ユーザーの権限をチェックするために、fstab が常に必要がある。
- -t, --types fstype
-
-t
に続く引き数はファイルシステムタイプを指定するのに用いられる。
現在サポートされているファイルシステムは動作しているカーネルに
依存する。
完全なファイルシステムのリストは、
/proc/filesystems
と
/lib/modules/$(uname -r)/kernel/fs
を参照すること。
もっとも一般的なファイルシステムは、ext2, ext3, ext4,
xfs, btrfs, vfat, sysfs, proc, nfs, cifs である。
プログラム
mount
と
umount
はファイルシステムのサブタイプををサポートする。
サブタイプは '.subtype' サフィックスで定義される。
例えば、'fuse.sshfs' のようになる。
マウント元にプレフィックスを足すよりは、サブタイプの記法を使う方が
推奨される (例えば 'sshfs#example.com' は推奨されない)。
-t
オプションが与えられなかった場合や、
auto
タイプが指定された場合、
mount
は適切なタイプを推測する。
mount
はファイルシステムタイプの推測に blkid ライブラリを使う。
このプローブに失敗すると、mount はファイル
/etc/filesystems
を読み込もうとする。
さらにこのファイルがなければ
/proc/filesystems
を読み込もうとする。
そして、読み込んだファイルにリストされているファイルシステムが
テストされる。
ただし "nodev" ラベルの付いているもの (すなわち
devpts,
proc,
nfs)
はテストから除かれる。
/etc/filesystems
が * のみの行で終わっている場合、
mount
はその後に
/proc/filesystems
を読み込む。
マウントを試す際、
全てのファイルシステムタイプがマウントオプション
silent が指定されてマウントされる。
auto
タイプはフロッピーを一般ユーザーがマウントする場合に特に
便利であろう。
プローブの順序を変更したい場合
(例えば msdos の前に vfat の試行をしたい場合や
ext2 の前に ext3 を試行したい場合) や、
カーネルモジュールの自動ローダを利用している場合には、
/etc/filesystems
ファイルを作っておくと便利である。
複数のタイプをコンマで区切ったリストで指定することもできる。
オプション
-t
は
/etc/fstab
エントリと同様に指定できる。
オプション
-t
のファイルシステムタイプのリストは、
no
をプレフィックスにして、そのファイルシステムタイプに対して
何もしないことを指定する。
プレフィックス
no
は
/etc/fstab
エントリに指定された場合も何もしない。
プレフィックス
no
は
オプションとともに指定すると意味がある。
例えば以下のコマンド:
-
-
mount -a -t nomsdos,smbfs
は
msdos
および
smbfs
を除くすべてのファイルシステムをマウントする。
大部分のタイプに対して、全ての
mount
プログラムは単純に
mount(2)
システムコールを発行するだけであり、ファイルシステムタイプについての
詳細な知識は必要ない。
一方で、(nfs, nfs4, cifs, smbfs, ncpfs のような) いくつかのタイプでは、
アドホックなコードが必要である。
nfs, nfs4, cifs, smbfs, ncpfs ファイルシステムについては、
別々のマウントプログラムがある。
全てのタイプを統一された方法で扱えるようにするため、
mount は、タイプ
type
が指定されて呼び出された場合、(存在すれば) プログラム
/sbin/mount.type
を実行する。
smbmount
プログラムはバージョン毎には別の呼び出し方があるので、
/sbin/mount.smbfs
は、望ましい呼び出しを実現するためのシェルスクリプトにする
必要がある。
- -U, --uuid uuid
-
指定された
uuid
を持つパーティションをマウントする。
- -v, --verbose
-
詳細なモード。
- -w, --rw, --read-write
-
ファイルシステムを読み書きモードでマウントする。
読み書きモードはカーネルのデフォルトである。
別名は
-o rw
である。
コマンドラインで -w を指定した場合、mount に
書き込み禁止されたデバイスに読み込みのみのマウントを試させない。
デフォルトでは、読み書きフラグでの mount システムコールが失敗した場合、
読み込みのみのマウントを試す。
- -V, --version
-
バージョン情報を表示して、終了する。
- -h, --help
-
ヘルプを表示して、終了する。
ファイルシステム非依存のマウントオプション
オプションの指定を行うには、
-o
フラグに続けて各オプションをコンマで区切った文字列を書く。
オプションには、
/etc/fstab
の中でのみ意味を持つものもある。
これらのオプションのいくつかは、システムカーネルでデフォルトで
有効または無効にされる。
現在の設定を見るには、/proc/mounts のオプションを参照すること。
ファイルシステムにはファイルシステム毎のデフォルトの
マウントオプションがある
(例えば extN ファイルシステムについては
tune2fs -l の出力を参照すること)。
以下のオプションはマウントされるすべての
ファイルシステムに適用できるものである
(但し、全てのファイルシステムがこれらのオプションを引き受けるとは限らない。
例えば、
sync
オプションは現在 ext2, ext3, ext4, fat, vfat, ufs, xfs でのみ効果をもつ):
- async
-
そのファイルシステムに対するすべての I/O が非同期 (asynchronous) に行われる。
(sync
オプションも参照すること。)
- atime
-
noatime 機能を使わない。
よって、i ノードアクセス時刻はデフォルトでカーネルが制御する。
relatime と
strictatime
マウントオプションの説明を参照すること。
- noatime
-
このファイルシステムの i ノードアクセス時刻を更新しない
(例えば、ニューススプールのアクセスを速くして、ニュースサーバーを
スピードアップする)。
これは全ての i ノードタイプ (ディレクトリを含む) に働くので、
nodiratime を暗黙のうちに指定する。
- auto
-
-a
が指定されたときにマウントされる。
- noauto
-
明示的にマウントするのみにする
(つまり、
-a
オプションでファイルシステムをマウントしない)。
-
-
context=context, fscontext=context, defcontext=context, rootcontext=context
拡張属性をサポートしないファイルシステムをマウントする際に、
context=
オプションは役立つ。
そのようなファイルシステムには、フロッピーや VFAT でフォーマットされたハードディスク、
通常は SELinux を動作させないシステム、
SELinux でないワークステーションでフォーマットされた
ext3 または ext4 のディスクなどがある。
また、フロッピーのように、信頼できないファイルシステムにも
context=
を使うことができる。
これは、以前の 2.4.<x> カーネルバージョンで、
xattr をサポートするファイルシステムを使う場合に、互換性の助けになる。
xattr がサポートされているにも関わらず、
ディスク全体が 1 つのセキュリティコンテキストであると仮定することで、
全てのファイルをラベル付けせずに時間を節約することができる。
リムーバブルメディアについて一般に使われるオプションは、
context=system_u:object_r:removable_t
である。
他の 2 つのオプションは
fscontext=
と
defcontext=
である。
この 2 つのオプションはコンテキストオプションとして、同時に 2 つを指定することができない。
これは、fscontext と defcontext はいずれかを指定できるが、
両方を指定することはできないことを意味する。
fscontext=
オプションは、xattr サポートに関わらず全てのファイルシステムに働く。
fscontext オプションは、特定のセキュリティコンテキストに対して、
非常に重要なファイルシステムラベルを設定する。
このファイルシステムラベルは、ファイルの個別のラベルとは
別にされている。
これは、ファイルシステム全体に対して、マウントやファイル作成の際の、
ある種の権限チェックを表す。
個々のファイルラベルは、まだファイル自体の xattr から取得される。
コンテキストオプションは、各ファイルについて同じラベルが
与えられるのに加え、
fscontext が提供する総計のコンテキストが実際に設定される。
defcontext=
オプションを使って、デフォルトセキュリティコンテキストを設定し、
ファイルのラベルを外すことができる。
このオプションは、ポリシーでラベルが外されたファイルの値セットを
上書きし、xattr ラベリングをサポートするファイルシステムを必要とする。
rootcontext=
オプションは、ファイルシステムまたは i ノードがユーザ空間に見える前に、
マウントされるファイルシステムのルート i ノードに明示的にラベル付けできる。
これは、ステートレスな Linux で便利なことがわかるだろう。
カーネルは、現在のコンテキストからたとえ変更されていなくても、
コンテキストオプションを含む再マウント要求を拒否する。
警告: context の値はカンマを含む可能性がある。
この場合、値を正しくクォートしなければならない。
さもないと、
mount(8)
はカンマをマウントオプションの区切り文字として解釈してしまう。
シェルがクォートを外してしまうことを忘れてはいけないので、
ダブルクォートが必要である。
例:
-
-
mount -t tmpfs none /mnt -o \
'context=system_u:object_r:tmp_t:s0:c127,c456,noexec'
より詳細は、
selinux(8)
を参照すること。
- defaults
-
デフォルトのオプション:
rw, suid, dev, exec, auto, nouser, async
を用いる。
全てのデフォルトのマウントオプションの実際の集合は、
カーネルとファイルシステムタイプに依存する点に注意すること。
より詳細は、このセクションの最初を参照すること。
- dev
-
ファイルシステム上のキャラクタ・スペシャル・デバイスや
ブロック・スペシャル・デバイスを利用できるようにする。
- nodev
-
ファイルシステム上のキャラクタ・スペシャル・デバイスや
ブロック・スペシャル・デバイスを利用できるようにしない。
- diratime
-
ファイルシステム上のディレクトリ i ノードアクセス時刻を更新する。
これがデフォルトである。
(このオプションは noatime が設定されている場合、無視される。)
- nodiratime
-
ファイルシステム上のディレクトリ i ノードアクセス時刻を更新しない。
(このオプションは noatime が設定されている場合、暗黙のうちに設定される。)
- dirsync
-
ファイルシステムの全てのディレクトリの更新が同期的 (synchronously) に行われる。
これは以下のシステムコールに影響する: creat, link, unlink, symlink,
mkdir, rmdir, mknod, rename.
- exec
-
バイナリの実行を許可する。
- noexec
-
マウントされているファイルシステム上のバイナリの直接実行を許可しない。
- group
-
通常のユーザーの属するグループのうちの 1 つが
デバイスのグループとマッチした場合に、
そのユーザーがファイルシステムをマウントするのを許可する。
このオプションはオプション
nosuid と nodev
を暗黙のうちに指定する
(ただし、オプション行で
group,dev,suid
のようにして、その後のオプションで上書きしない限り)。
- iversion
-
i ノードが修正される度に、i_version フィールドを増加させる。
- noiversion
-
i_version i ノードフィールドを増加させない。
- mand
-
このファイルシステム上での強制 (mandatory) ロックを許可する。
fcntl(2)
を参照すること。
- nomand
-
このファイルシステム上での強制 (mandatory) ロックを許可しない。
- _netdev
-
ネットワークアクセスが必要なデバイス上にあるファイルシステム
(システムでネットワークが使用可能になるまでは、
ファイルシステムをマウントさせないために使われる)。
- nofail
-
このデバイス上で、エラーがない場合は、報告しない。
- relatime
-
修正時刻や変更時刻と比較して、i ノードのアクセス時刻を更新する。
以前のアクセス時刻が、現在の修正時刻または変更時刻より前である
場合にのみ、アクセス時刻が更新される。
(noatime と似ているが、
ファイルが最後に修正されてから読まれているかを知る必要がある
mutt や他のアプリケーションを壊さない。)
Linux 2.6.30 以降では、カーネルのデフォルトの挙動は、
(noatime
が指定されていない限り) このオプションで提供される。
これまでの挙動にする場合、
strictatime
オプションを指定する必要がある。
加えて、Linux 2.6.30 以降では、
ファイルの最終アクセス時刻が 1 日より前の場合、常に更新される。
- norelatime
-
relatime
機能を使わない。
strictatime
マウントオプションも参照すること。
- strictatime
-
完全な atime 更新を明示的に許可する。
これは
relatime
または
noatime
がカーネルのデフォルトに指定された場合に利用可能になるが、
ユーザー空間で上書きすることもできる。
デフォルトのシステムマウントオプションの詳細は、
/proc/mounts を参照すること。
- nostrictatime
-
i ノードアクセス時刻の更新について、カーネルのデフォルトの挙動を使う。
- lazytime
-
メモリ内のファイル i ノードの時刻 (atime, mtime, ctime) のみを更新する。
このマウントオプションは、事前確保されたファイルに対して
頻繁なランダム書き込みを行う際の、i ノードテーブルへの書き込みの負荷を顕著に減少させる。
ディスク上のタイムスタンプの更新は、以下の場合にのみ行われる:
-
- ファイルのタイムスタンプに関係のない何らかの変更について、
i ノードが更新される必要があった場合。
- アプリケーションが
fsync(2),
syncfs(2),
sync(2)
を呼び出した場合。
- 削除されていない i ノードが、メモリから追い出された場合。
- i ノードがディスクに書かれてから、24 時間以上が経過した場合。
- nolazytime
-
lazytime 機能を使わない。
- suid
-
このファイルシステムからプログラムを実行する場合、
set-user-ID と set-group-ID ビット、
またはファイルのケーパビリティ (capability) を遵守する。
- nosuid
-
このファイルシステムからプログラムを実行する場合、
set-user-ID と set-group-ID ビット、
またはファイルのケーパビリティ (capability) を遵守しない。
- silent
-
silent フラグを有効にする。
- loud
-
silent フラグを無効にする。
- owner
-
通常のユーザーがデバイスの所有者とマッチした場合に、
そのユーザーがファイルシステムをマウントするのを許可する。
このオプションはオプション
nosuid と nodev
を暗黙のうちに指定する
(ただし、オプション行で
owner,dev,suid
のようにして、その後のオプションで上書きしない限り)。
- remount
-
すでにマウントされているファイルシステムを再マウントしようとする。
これは通常ファイルシステムのマウントフラグを変更するとき
(特にリードオンリーのファイルシステムを書き込み可能にするとき) に用いられる。
デバイスとマウントポイントを変更しない。
bind
フラグを付けた再マウント操作は特別な意味を持つ。
上記のサブセクション bind マウント を参照すること。
再マウント機能は、マウントコマンドが fstab でオプションが指定された場合に
動作する標準的な方法に従う。
これは、
device
と
dir
の両方が指定された場合に、mount が fstab (または mtab) を
読まないという意味である。
mount -o remount,rw /dev/foo /dir
この呼び出しの後、全ての古いマウントオプションは置き換えられ、
fstab (または mtab) から指定された任意のオプションは無視される。
ただし、内部的に生成され、mount コマンドで管理される
loop= オプションは例外である。
mount -o remount,rw /dir
この呼び出しの後、mount コマンドは fstab を読んで、
コマンドラインからのオプション (-o) とマージする。
fstab にマウントポイントがない場合、マウント元を指定しない再マウントが
許可される。
mount(8) は、指定されたフィルター (-O と -t) で選ばれた
全てのマウントされたファイルシステムを、--all を使って再マウントできる。
例えば:
mount --all -o remount,ro -t vfat
は、既にマウントされた読み込みのみのモードの vfat ファイルシステムを再マウントする。
各ファイルシステムは "mount -o remount,ro /dir" で再マウントされる。
これは mount コマンドが fstab または mtab ファイルを読んで、
ファイルに指定されたオプションと、コマンドラインで指定された
オプションをマージすることを意味する。
- ro
-
ファイルシステムをリードオンリーでマウントする。
- rw
-
ファイルシステムを読み書き可能なモードでマウントする。
- sync
-
そのファイルシステムに対する I/O がすべて同期的 (synchronous) に行われる。
書き込みサイクルが制限されたメディア (例えば、フラッシュドライブ) の場合、
sync はライフサイクルを短くする。
- user
-
一般ユーザーでもファイルシステムをマウントできるようにする。
マウントを行ったユーザーの名前が mtab (or to the private
libmount file in /run/mount on systems without a regular mtab) に書き込まれ、
そのユーザーがアンマウントできるようになる。
このオプションを指定すると、同時に
noexec, nosuid, nodev
が指定されたことになる。
ただし続けて指定すれば上書きは可能。
すなわち
user,exec,dev,suid
のような行を指定すればよい。
- nouser
-
一般ユーザーがファイルシステムをマウントすることを禁止する。
これがデフォルトであり、他のオプションを暗黙のうちに指定しない。
- users
-
全てのユーザーがファイルシステムをマウント・アンマウント
出来るようにする。
このオプションを指定すると、
一般ユーザーがマウントを行っていたとしても、同時に
noexec, nosuid, nodev
が指定されたことになる
(ただし続けて指定すれば上書きは可能。
すなわち
users,exec,dev,suid
のような行を指定すればよい)。
- X-*
-
"X-" をプレフィックスに付けた全てのオプションは、
コメント、またはユーザー空間のアプリケーション固有オプションとして
解釈される。
このオプションはユーザー空間 (例えば、mtab ファイル) には格納されず、
mount.type ヘルパーにも、
mount(2)
システムコールにも渡されない。
推奨される形式は X-appname.option である。
- x-*
-
X-* と似ているが、ユーザー空間に永続的に格納する。
これは、そのオプションが umount または他の操作で利用できることを意味する。
マウントオプションをユーザー空間で管理するのはトリッキーである点に
注意すること。
libmount ベースのツールを使う必要があるが、
(例えば、move マウント操作の後や、または共有されない名前空間において)
オプションが常に利用可能である保証はない。
util-linux v2.30 より前では、x-* オプションは
libmount で管理されず、ユーザー空間に格納されなかった
(機能的には今の X-* と同じである)。
しかし、(initrd, systemd などでの) 使い方が増えるに従い、
機能が拡張され、既存の fstab 設定を変更せずに利用できるようになった。
- X-mount.mkdir[=mode]
-
マウント先ディレクトリ (マウントポイント) を作成することを許可する。
オプションの引き数
mode
は、8 進数記法で、
mkdir(2)
でファイルシステムのアクセスモードを指定するのに使われる。
デフォルトのモードは 0755 である。
このオプションは root ユーザーでのみサポートされる。
このオプションは x-mount.mkdir としてもサポートされており、
この記法は mount.mkdir の v2.30 以降では推奨されない。
ファイルシステム独自のマウントオプション
最初にファイルシステムの man ページを見ること。
ext4 ファイルシステムがサポートするオプションを知りたい場合、
ext4(5)
の man ページをチェックすること。
存在しない場合は、
mount.cifs(8)
のような対応する mount のページも参照すること。
対応するユーザーランドのツールをインストールする
必要があるかもしれない。
以下のオプションは特定のファイルシステムにのみ適用される。
ファイルシステムの順に並べてある。
すべて
-o
フラグに続けて指定する。
どのようなオプションがサポートされているかは、
実行されているカーネルに少々依存する。
より詳しい情報はカーネルソースのサブディレクトリ
Documentation/filesystems
で見つけることができる。
adfs のマウントオプション
-
-
uid=,value と gid=,value
このファイルシステムのファイルの所有者とグループを設定する
(デフォルトは uid=gid=0)。
-
-
ownmask=,value と othmask=,value
それぞれ ADFS の「所有者」属性と「その他」属性に対する
パーミッションマスクを設定する
(デフォルトはそれぞれ 0700 と 0777)。
/usr/src/linux/Documentation/filesystems/adfs.txt
も参照のこと。
affs のマウントオプション
-
-
uid=,value と gid=,value
ファイルシステムのルートの所有者とグループを設定する
(デフォルトは uid=gid=0。
ただしオプション
uid
や
gid
を値なしで指定すると、カレントプロセスの UID および GID が用いられる)。
-
-
setuid=,value と setgid=,value
すべてのファイルの所有者とグループを設定する。
- mode=value
-
すべてのファイルの許可属性を
value & 0777
に設定する。
元の許可属性は無視される。
読み込みが許可されているディレクトリには検索許可の属性を付加する。
この値は 8 進数で与える。
- protect
-
ファイルシステムの保護ビットへのいかなる変更も許可しない。
- usemp
-
ファイルシステムのルートの UID と GID を
マウントポイントの UID と GID に設定する。
ただしこの設定は最初の sync または umount の際に実行され、
その後にこのオプションはクリアされる。変なの。
- verbose
-
それぞれのマウントが成功するごとにメッセージを表示する。
- prefix=string
-
リンクをたどる際にボリューム名の前に用いられるプレフィックス (prefix)。
- volume=string
-
シンボリックリンクをたどる際に '/' の前に用いられるプレフィックス。
最長 30 文字。
- reserved=value
-
デバイススタート時の未使用ブロックの数。デフォルトは 2。
- root=value
-
ルートブロックの位置を明示的に与える。
- bs=value
-
ブロックサイズを与える。有効な値は 512, 1024, 2048, 4096 のいずれか。
- grpquota|noquota|quota|usrquota
-
これらのオプションは指定可能であるが、単に無視される。
(但し、 quota ユーティリティは
/etc/fstab
にこのような文字列があると反応する)
debugfs のマウントオプション
debugfs ファイルシステムは擬似 (pseudo) ファイルシステムであり、
通例としては
/sys/kernel/debug
にマウントされる。
カーネルバージョン 3.4 では、debugfs は以下のオプションがある:
- uid=n, gid=n
-
マウントポイントの所有者とグループを設定する。
- mode=value
-
マウントポイントのモードを設定する。
devpts のマウントオプション
devpts ファイルシステムは擬似ファイルシステムで、
通例としては
/dev/pts
にマウントされる。プロセスは擬似端末 (pseudo terminal) を取得するために、
/dev/ptmx
をオープンする。
するとそのプロセスは番号を通して擬似端末を使えるようになり、
擬似端末のスレーブに
/dev/pts/<number>
経由でアクセスできるようになる。
-
-
uid=,value と gid=,value
新たに作成される PTY の所有者と所有グループを設定する。
何も指定しないと、作成したプロセスの UID と GID になる。
例えば tty グループの GID が 5 であったとすると、
gid=5
とすれば新たに作成された PTY は tty グループに属することになる。
- mode=value
-
新たに作成される PTY のモードを設定する。
デフォルトは 0600 である。
mode=620
と
gid=5
を設定すると、新たに生成される PTY は、
"mesg y" がデフォルトになる。
- newinstance
-
devpts ファイルシステムのプライベートインスタンスを作成する。
この新しいインスタンスに確保された PTY のインデックスは、
他の PTY のインスタンスのインデックスとは、独立である。
この
newinstance
オプションを指定しない devpts の全てのマウントは、
同じ PTY のインデックスを共有する (つまり、レガシーモード)。
newinstance
オプションを指定した devpts のマウントは、
PTY のインデックスのプライベートなセットを持つ。
このオプションは主に Linux カーネルでコンテナをサポートするために使われる。
これは Linux カーネルバージョン 2.6.29 以降で実装されている。
さらに、このオプションはカーネル設定で
CONFIG_DEVPTS_MULTIPLE_INSTANCES が有効にされている場合にのみ、利用できる。
このオプションを効率的に使うには、
/dev/ptmx
は
pts/ptmx
のシンボリックリンクであるべきである。
詳細はカーネルソースツリーの
Documentation/filesystems/devpts.txt
を参照すること。
- ptmxmode=value
-
devpts ファイルシステムの新しい
ptmx
デバイスノードのモードを設定する。
devpts の複数インスタンスをサポート
(上記の
newinstance
オプションを参照) すると、
各インスタンスはプライベートの
ptmx
ノードを devpts ファイルシステムのルート
(典型的には
/dev/pts/ptmx)
に持つ。
古いバージョンのカーネルとの互換性のため、新規作成された
ptmx
ノードのデフォルトモードは 0000 である。
ptmxmode=value
は
ptmx
ノードに対して、より役に立つモードを指定し、
newinstance
オプションが指定された場合に、強く推奨される。
これは Linux カーネルバージョン 2.6.29 以降で実装されている。
さらに、このオプションはカーネル設定で
CONFIG_DEVPTS_MULTIPLE_INSTANCES が有効にされている場合にのみ、利用できる。
fat のマウントオプション
(注意:
fat
は独立したファイルシステムではなく、
msdos,
umsdos,
vfat
各ファイルシステムの共通部分である。)
- blocksize={512|1024|2048}
-
ブロックサイズを設定する (デフォルトは 512)。
このオプションは古い。
-
-
uid=,value とgid=,value
すべてのファイルの所有者とグループを設定する
(デフォルトはカレントプロセスの UID と GID)。
- umask=value
-
umask を設定する (umask とは許可属性のビットマスクで、
立てないビットを立てたもの)。
デフォルトはカレントプロセスの umask。値は 8 進数で与える。
- dmask=value
-
ディレクトリにのみ適用される umask を設定する。
デフォルトはカレントプロセスの umask。
値は 8 進数で与える。
- fmask=value
-
通常のファイルにのみ適用される umask を設定する。
デフォルトはカレントプロセスの umask。
値は 8 進数で与える。
- allow_utime=value
-
このオプションは mtime/atime の権限チェックを制御する。
-
- 20
-
カレントプロセスがファイルのグループIDのグループである場合、
タイムスタンプを変更できる。
- 2
-
他のユーザーがタイムスタンプを変更できる。
デフォルトは `dmask' オプションから設定する
(ディレクトリが書き込み可能の場合、
utime(2)
も許可されている。
つまり ~dmask & 022 である。)
通常
utime(2)
はカレントプロセスがファイルの所有者であるかをチェックし、
または CAP_FOWNER ケーパビリティがあるかをチェックする。
しかし、FAT ファイルシステムはディスク上に UID/GID を持たないので、
通常のチェックはとても柔軟性がない。
このオプションを使うと、それを簡単にできる。
- check=value
-
3 つの異なるレベルの厳密さが選択できる。
-
- r[elaxed]
-
大文字と小文字を受け付け、それぞれ等価と見なす。
ロングネームの部分は切り捨てられる
(すなわち
verylongname.foobar
は
verylong.foo
となる)。
スペース文字を名前のそれぞれの部分 (本体と拡張子) に用いることができる。
- n[ormal]
-
"relaxed" と似ているが、多くの特殊文字 (*, ?, <, スペースなど) は
用いることができない。デフォルト。
- s[trict]
-
"normal" と似ているが、名前には長い部分を含むことができない。
また Linux では用いることができるが MS-DOS では受け入れられない特殊文字
(+, =, など) を用いることができない。
- codepage=value
-
FAT や VFAT ファイルシステムで、短いファイル名に変換するときに
用いる文字のコードページを設定する。
デフォルトではコードページ 437 が用いられる。
- conv=mode
-
このオプションは古く、失敗するか、無視される。
- cvf_format=module
-
自動検知の結果ではなく、CVF (Compressed Volume File:
圧縮ボリュームファイル) モジュール
cvf_module
を使うよう、ドライバに強制する。
カーネルが kmod をサポートしていれば、
cvf_format=xxx オプションとしてもオンデマンドで CVF モジュールをロードできる。
このオプションは古い。
- cvf_option=option
-
CVF モジュールに渡すオプション。
このオプションは古い。
- debug
-
debug
フラグを ON にする。
バージョン文字とファイルシステムのパラメータが表示される
(これらのデータはパラメータが一貫していないような場合にも表示される)。
- discard
-
このオプションが設定されると、ブロックが解放されると、
ブロックデバイスに discard/TRIM コマンドが発行される。
これは SSD デバイスと、スパース/thin プロビジョニングされた LUN で役立つ。
- dos1xfloppy
-
このオプションが設定されると、バックのデバイスサイズで決定される、
フォールバックのデフォルト BIOS パラメータブロック設定を使う。
これらの固定値のパラメータは、DOS 1.x で
160 kiB, 180 kiB, 320 kiB, 360 kiB フロッピーとフロッピーイメージに
仮定されるデフォルト値にマッチする。
- errors={panic|continue|remount-ro}
-
致命的なエラーの場合の FAT の挙動を指定する。
パニック、何もせずに継続する、パーティションを読み込みのみの
モードで再マウントする (デフォルトの挙動) のいずれかである。
- fat={12|16|32}
-
12 ビット fat か 16 ビット fat か 32 ビット fat かを特定する。
これは FAT 形式の自動認識ルーチンによる設定を上書きする。
用いる際には注意すること。
- iocharset=value
-
8 ビットの文字を 16 ビットの Unicode 文字に変換する (あるいはその逆)
ときに用いる文字セット (character set)。デフォルトは iso8859-1 である。
長いファイル名は、ディスクには Unicode フォーマットで保存されている。
- nfs={stale_rw|nostale_ro}
-
FAT ファイルシステムを NFS でエクスポートする場合にのみ、有効にする。
stale_rw:
このオプションを指定すると、検索を改善する NFS に関連するコードで
使われるディレクトリ i ノードのインデックス (キャッシュ) を管理する。
NFS 上の完全なファイル操作 (読み書き) がサポートされるが、
NFS サーバーでのキャッシュ追い出しが起こり、誤った
ESTALE
エラーが起きる可能性がある。
nostale_ro:
このオプションは、i ノード番号と、
FAT ディレクトリエントリにおけるディスク上のファイルの場所の
ファイルハンドルに基づいている。
これは、ファイルが i ノードキャッシュから追い出されても、
ESTALE
が返されないことを保証する。
しかし、リネーム・作成・アンリンクといった操作では、
ファイルハンドルが前に指していたファイルから別のファイルを指すので、
データ破壊を起こす可能性がある。
こういった理由により、このオプションもファイルシステムを
読み込みのみでマウントする。
後方互換を保つために '-o nfs' も受け付けられ、デフォルトは
stale_rw
である。
- tz=UTC
-
このオプションは (FAT 上の Windows で使われる) ローカル時間と
(Linux が内部的に使う) UTC のタイムスタンプの変換を行わない。
これはローカル時間の落とし穴を避けるため UTC に設定するので、
(デジタルカメラのような) デバイスをマウントする際に特に役立つ。
- time_offset=minutes
-
FAT で使われるローカル時間から UTC へのタイムスタンプ変換のオフセットを設定する。
つまり、Linux が内部的に使う UTC に変換するために、
minutes
を各タイムスタンプから差し引く。
これは、
settimeofday(2)
でカーネルに設定されているタイムゾーンが、
ファイルシステムで使われているタイムゾーンと異なる場合に役立つ。
このオプションは、夏時間 (DST) が存在する場合、
正しい時間を提供できない点に注意すること。
異なる夏時間設定のタイムスタンプでは、1 時間ずれるだろう。
- quiet
-
quiet
フラグを ON にする。
ファイルを chown や chmod しようとしたときにもエラーを返さず、単に失敗する。
用いる際には注意すること!
- rodir
-
FAT には ATTR_RO (読み込みのみ) 属性がある。
Windows ではディレクトリの ATTR_RO は単純に無視され、
アプリケーションでのみフラグとして使われる
(例えば、カスタマイズされたフォルダとして使われる)。
ATTR_RO をディレクトリの読み込みのみのフラグとして使いたい場合、
このオプションを設定すること。
- showexec
-
このオプションが設定されると、ファイル名の拡張子部分が
.EXE, .COM, .BAT である場合にのみ、ファイルの実行権限ビットが許可される。
これは、デフォルトでは設定されない。
- sys_immutable
-
このオプションが設定されると、FAT の ATTR_SYS 属性を
Linux の IMMUTABLE フラグとして扱う。
これは、デフォルトでは設定されない。
- flush
-
このオプションが設定されると、ファイルシステムは通常より早い
タイミングでディスクに書き出す。
これは、デフォルトでは設定されない。
- usefree
-
FSINFO に格納された「空きクラスタ (free clusters)」の値を使う。
これは、ディスクをスキャンせずに空きクラスタの数を決定するのに
使われる。
現在の Windows では、この情報を正しく更新しない場合があるので、
デフォルトでは使われない。
FSINFO に格納された「空きクラスタ」が正しいという保証がある場合、
このオプションでディスクのスキャンが回避できる。
- dots, nodots, dotsOK=[yes|no]
-
FAT ファイルシステムに Unix または DOS のしきたりを
強制しようとするさまざまな試み。
おそらくは用いるべきでない。
hfs のマウントオプション
- creator=cccc, type=cccc
-
新しいファイルを作成する際に、
MacOS の finder で表示されるクリエータとタイプを設定する。
デフォルト値は '????' である。
- uid=n, gid=n
-
すべてのファイルの所有者とグループを設定する
(デフォルトはカレントプロセスの UID と GID)。
- dir_umask=n, file_umask=n, umask=n
-
全てのディレクトリ・全ての通常ファイル・
全てのファイルとディレクトリに対して使用される umask を設定する。
デフォルトはカレントプロセスの umask である。
- session=n
-
マウントする CDROM のセッションを選択する。
デフォルトでは CDROM ドライバに決定を任せる。
下層にあるデバイスが CDROM でない場合、このオプションは失敗する。
- part=n
-
デバイスのパーティション番号 n を選択する。
CDROM に対してのみ意味を持つ。
デフォルトではパーティションテーブルを全く解釈しない。
- quiet
-
不正なマウントオプションに対して苦情を出さない。
hpfs のマウントオプション
-
-
uid=,value と gid=,value
すべてのファイルの所有者とグループを設定する
(デフォルトはカレントプロセスの UID と GID)。
- umask=value
-
umask を設定する (umask とは許可属性のビットマスクで、立って
いない
ビットを立てたもの)。
デフォルトはカレントプロセスの umask。
値は 8 進数で与える。
- case={lower|asis}
-
すべてのファイルのファイル名を小文字に変換するか、
あるいはそのままにするかを指定する
(デフォルトは
case=lower)
- conv=mode
-
このオプションは古く、失敗するか、無視される。
- nocheck
-
ファイルシステムの整合性チェックに失敗しても、マウントを中断しない。
iso9660 のマウントオプション
ISO 9660 は CD-ROM で使われているファイルシステム構造を記述している。
(このファイルシステムタイプは DVD で使われていることもある。
udf
ファイルシステムも参照すること。)
iso9660
における通常のファイル名は 8.3 形式である
(すなわちファイル名の長さに関しては DOS と同じ制限)。
またすべての文字は大文字でなければならない。
また所有者や保護属性、リンク数、ブロックデバイスか
キャラクタデバイスかなどを表すフィールドも存在しない。
Rock Ridge は iso9660 の拡張で、上に示した UNIX 的機能をすべて与える。
基本的にはそれぞれのディレクトリレコードを拡張して、
付加的な情報を与えるものである。
Rock Ridge が用いられると、ファイルシステムは通常の
UNIX ファイルシステムとは区別できなくなる
(もちろんリードオンリーであることを除いて、だが)。
- norock
-
Rock Ridge 拡張が利用できる場合でもこれを無効にする。
map
も参照のこと。
- nojoliet
-
Microsoft Joliet 拡張が利用できる場合でもこれを無効にする。
map
も参照のこと。
- check=r[elaxed] / check=s[trict]
-
check=relaxed
が指定されると、ファイル名はまず小文字に変換されてから照合される。
これは
norock
および
map=normal
とともに用いた場合にだけ意味がある。
(デフォルトは
check=strict。)
-
-
uid=,value と gid=,value
ファイルシステム中のすべてのファイルのユーザー id、
グループ id を設定する。
Rock Ridge 拡張で指定されている情報を上書きできる。
デフォルトは
uid=0,gid=0。
- map={n[ormal]|o[ff]|a[corn]}
-
Rock Ridge 拡張がされていないボリュームに対して normal が指定されると、
ファイル名の大文字が小文字の ASCII にマップされ、
最後の `;1' は削除され、`;' はすべて `.' に変換される。
map=off
が指定されると、ファイル名の変換は行わない。
norockを見よ。
デフォルトは
map=normal。
map=acorn
は
map=normal
と似ているが、Acorn 拡張があればそれを適用する。
- mode=value
-
Rock Ridge 拡張がされていないボリュームに対して、
すべてのファイルのモードを指定された値にする。
(デフォルトは、すべてのユーザーに対する読み込みと実行属性。)
8 進数は 0 で始める必要がある。
- unhide
-
hidden 属性のファイルや、それに関連付けられたファイルも表示する。
(通常のファイルがそれに関連付けられたファイルまたは hidden 属性のファイルと
同じファイル名である場合、通常のファイルはアクセスできなくなる。)
- block={512|1024|2048}
-
ブロックサイズを指定する。デフォルトは
block=1024。
- conv=mode
-
このオプションは古く、失敗するか、無視される。
- cruft
-
ファイルサイズの上位バイトがゴミを含んでいる場合、
このオプションを指定することで上位バイトを無視できる。
このオプションを指定すると、ファイルの大きさは 16 MB に制限される。
- session=x
-
マルチセッション CD でのセッション数を選択する。
- sbsector=xxx
-
セッションをセクタ xxx から始める。
以下のオプションは vfat のものと同じで、
Microsoft Joliet 拡張でエンコードされた
ディスクを使うときにしか意味がない。
- iocharset=value
-
CD 上の 16 ビットの Unicode 文字を
8 ビットの文字に変換するときに用いる文字セット。
デフォルトは iso8859-1 である。
- utf8
-
CD 上の 16 ビットの Unicode 文字を UTF-8 に変換する。
jfs のマウントオプション
- iocharset=name
-
Unicode から ASCII に変換する際に使う文字セット。
デフォルトでは変換を行わない。
UTF8 変換を行う場合は、
iocharset=utf8
を使うこと。
これを行うには、カーネルの
.config
ファイルに CONFIG_NLS_UTF8 が設定されている必要がある。
- resize=value
-
ボリュームを
value
ブロックに変更する。
JFS ではボリュームを増やすことのみがサポートされており、
減らすことはサポートされていない。
ボリュームが読み書き可能でマウントされている場合、
このオプションは再マウントの間のみ有効である。
resize
キーワードに値を指定しないと、
ボリュームはパーティションの最大サイズまで増やされる。
- nointegrity
-
ジャーナルに書き込まない。
このオプションの主な目的は、
バックアップメディアからボリュームを復旧する際に、
性能の向上を可能にすることである。
システムが異常終了した場合、ボリュームの完全性は保証されない。
- integrity
-
デフォルト。
メタデータの変更をジャーナルに記録する。
以前に
nointegrity
オプションが指定されたボリュームを通常の状態に戻すために
再マウントするときは、このオプションを使用すること。
- errors={continue|remount-ro|panic}
-
エラーが起こったときの振る舞いを指定する。
(エラーを無視し、ファイルシステムに問題があることを記録だけして続ける /
ファイルシステムをリードオンリーでマウントしなおす /
パニックを起こしてシステムを停止する)
- noquota|quota|usrquota|grpquota
-
これらのオプションは指定可能であるが、単に無視される。
msdos のマウントオプション
fat のマウントオプションを見よ。
msdos
ファイルシステムに不整合が発見されるとエラーが報告され、
ファイルシステムはリードオンリーとなる。
再マウントすることによって書き込み可能にすることができる。
ncpfs のマウントオプション
nfs と同様に、ncpfs
の実装では mount システムコールの際にバイナリの引き数
(struct ncp_mount_data)
を用いる。
この引き数は
ncpmount(8)
によって渡すことができる。
現在のバージョンの
mount
(2.12) は ncpfs を扱うことができない。
ntfs のマウントオプション
- iocharset=name
-
ファイル名を返すときに用いる文字セット。
VFAT とは異なり、NTFS は変換できない文字を含む名前を抑制する。
このオプションは推奨されない。
- nls=name
-
以前は
iocharset
という名前であったオプションの新しい名前。
- utf8
-
ファイル名の変換に UTF-8 を用いる。
- uni_xlate={0|1|2}
-
0 (または `no' または `false') とすると、
不明な Unicode 文字に対してエスケープシーケンスを使わない。
1 (または `yes' または `true') または 2 とすると、
":" で始まる VFAT スタイルの 4 バイトのエスケープシーケンスを用いる。
2 の場合は、もとのファイル名をリトルエンディアンとみなしてエンコードする。
1 の場合は、もとのファイル名をバイト順が入れ換えられた
ビッグエンディアンとみなしてエンコードする。
- posix=[0|1]
-
有効になっている (posix=1) と、ファイルシステムは大文字小文字を区別する。
この場合には 8.3 形式の別名がハードリンクとして実現される。
このオプションは古い。
-
-
uid=,value, gid=,value, umask=,value
ファイルシステムにあるファイルの許可属性を設定する。
umask の値は 8 進数で指定する。
デフォルトではファイルは root が所有し、
他のユーザーからは読み取り不可になっている。
オーバーレイ (overlay) のマウントオプション
Linux 3.18 以降で、オーバーレイ擬似ファイルシステムは、
他のファイルシステムの統合 (union) マウントを実装している。
オーバーレイファイルシステムは 2 つのファイルシステム -
上位 (upper) ファイルシステムと
下位 (lower) ファイルシステムを組み合わせる。
名前が両方のファイルシステムに存在する場合、
上位ファイルシステムのオブジェクトが可視化され、
一方で、下位ファイルシステムのオブジェクトは隠されるか、
ディレクトリの場合は、上位オブジェクトにマージされる。
下位ファイルシステムは Linux でサポートされる任意のファイルシステムであり、
書き込み可能である必要はない。
下位ファイルシステムは他のオーバーレイファイルシステムであってもよい。
上位ファイルシステムは通常は書き込み可能である。
その場合、trusted.* 拡張属性での作成をサポートしている必要があり、
かつ readdir の応答として有効な d_type を返す必要がある。
そのため、NFS は適切ではない。
2 つの読み込みのみのファイルシステムで構成される、
読み込みのみのオーバーレイでは、任意のファイルシステムタイプを使うことが
できる。
以下のようにして、オプション lowerdir と upperdir を組み合わせて、
merged ディレクトリにすることができる。
-
mount -t overlay overlay \
-olowerdir=/lower,upperdir=/upper,workdir=/work /merged
- lowerdir=directory
-
任意のファイルシステムであり、書き込み可能なファイルシステムである
必要はない。
- upperdir=directory
-
upperdir は通常は書き込み可能なファイルシステムである。
- workdir=directory
-
workdir は upperdir と同じファイルシステム上の空ディレクトリである必要がある。
reiserfs のマウントオプション
reiserfs はジャーナリングファイルシステムである。
- conv
-
バージョン 3.6 の reiserfs ソフトウェアに
バージョン 3.5 のファイルシステムをマウントさせる。
新しく作成されたオブジェクトには 3.6 の形式が使われる。
このようにしたファイルシステムは reiserfs 3.5 のツールとは互換性がなくなる。
- hash={rupasov|tea|r5|detect}
-
reiserfs がディレクトリ内でファイルを見付けるのに、
どのハッシュ関数を使うかを選択する。
-
- rupasov
-
Yury Yu. Rupasov が発明したハッシュ。
このハッシュは高速であり、
辞書順で近いファイル名を近いハッシュ値に対応づけることで
近接関係 (locality) が保存される。
高い確率でハッシュの衝突が起こるので、このオプションは
使うべきではない。
- tea
-
Jeremy Fitzhardinge が実装した Davis-Meyer 関数。
ハッシュ名にハッシュ置換ビットを使う。
ランダム性が高いので、使用される CPU コストに対してハッシュ衝突の確率が低い。
このオプションは、r5 ハッシュで EHASHCOLLISION エラーが起こる場合に使われる。
- r5
-
rupasov ハッシュの修正版。
デフォルトではこれが使用され、非常に多くのディレクトリや
変わったファイル名のパターンがファイルシステムにない限り、
もっとも良い選択肢である。
- detect
-
現在マウントされているファイルシステムを
mount
コマンドに調べさせ、どのハッシュ関数が使われているかを検出 (detect) させる。
さらに、この情報を reiserfs のスーパーブロックに書き込ませる。
古い形式のファイルシステムを初めてマウントするときにのみ
役立つ。
- hashed_relocation
-
ブロックアロケータを有効にする。
ある状況下では性能の向上が見られるかもしれない。
- no_unhashed_relocation
-
ブロックアロケータを有効にする。
ある状況下では性能の向上が見られるかもしれない。
- noborder
-
Yury Yu. Rupasov が発明した境界アロケータアルゴリズムを無効にする。
ある状況下では性能の向上が見られるかもしれない。
- nolog
-
ジャーナリングを無効にする。
reiserfs が持つクラッシュからの高速な回復は失われるが、
ある状況下では僅かな性能の向上が見られる。
このオプションが有効になっている場合でも、
reiserfs は、ジャーナリング領域への実際の書き込みを保存するといった
全てのジャーナリング操作を行っている。
nolog
の実装は進行中の作業である。
- notail
-
デフォルトでは、reiserfs は小さなファイルや「ファイルの末尾」を
ツリーの中に直接格納する。
これが
LILO(8)
のようなユーティリティを混乱させてしまう。
このオプションはファイルをツリーの中に格納させないようにする。
- replayonly
-
ジャーナルにあるトランザクションをやり直させる。
実際にはファイルシステムをマウントしない。
主に
reiserfsck
が使う。
- resize=number
-
reiserfs パーティションのオンラインでの領域拡張を許可する
再マウントオプション。
そのデバイスが
number
ブロック数であると reiserfs に仮定させる。
このオプションは、論理的なボリューム管理 (LVM) 下にある
デバイスに対して使うように設計されている。
ftp://ftp.namesys.com/pub/reiserfsprogs
から特別な
resizer
ユーティリティが取得できる。
- user_xattr
-
拡張ユーザ属性を有効にする。
attr(5)
のマニュアルページを参照すること。
- acl
-
POSIX アクセス制御リストを有効にする。
acl(5)
のマニュアルページを参照すること。
-
-
barrier=none / barrier=flush
このオプションは、ジャーナリングコードで書き込みバリアを
無効/有効にする。
barrier=none で無効にして、barrier=flush で有効にする (デフォルト)。
このオプションはバリアをサポートする IO スタックが必要であり、
reiserfs がバリア書き込みでエラーになると、警告を出してバリアを無効化する。
書き込みバリアは、ディスク上での正しいジャーナルコミットの順番を
強制し、一時的なディスク書き込みキャッシュを安全に使わせる
必要がある。
そのため、性能上のペナルティがある。
ディスクがバッテリーでバックアップされている場合、
バリアの無効化で安全に性能を改善できる。
ubifs のマウントオプション
UBIFS は UBI ボリューム上で動作するフラッシュファイルシステムである。
atime はサポートされておらず、常に無効化されている。
-
-
デバイス名は以下のように指定できる。
-
ubiX_Y
UBI デバイス番号
X,
ボリューム番号
Y
- ubiY
-
UBI デバイス番号
0,
ボリューム番号
Y
- ubiX:NAME
-
UBI デバイス番号
X,
ボリューム名
NAME
- ubi:NAME
-
UBI デバイス番号
0,
ボリューム名
NAME
:
の代わりに
!
を区切り文字に使うことができる。
-
-
以下のマウントオプションが指定可能である:
- bulk_read
-
まとめ読み込み (bulk-read) を有効化する。
ファイルシステムをスローダウンさせるので、VFS の先読み (read-ahead) は無効化される。
まとめての読み込みは、内部的な最適化である。
フラッシュメモリでは、複数回の読み込みリクエストよりも、
データを 1 度に読み込んだ方が速くなる可能性がある。
例えば、NAND の 1 ページ以上を読み込む場合、
「ロード中の読み込み (read-while-load)」ができる。
- no_bulk_read
-
まとめ読み込みをしない。これがデフォルトである。
- chk_data_crc
-
データの CRC-32 チェックサムを検証する。これがデフォルトである。
-
-
no_chk_data_crc
データの CRC-32 チェックサムを検証しない。
このオプションを指定すると、ファイルシステムはデータの CRC-32 チェックサムを検証しないが、
内部のインデックス情報は検証する。
このオプションは、読み込みにのみ影響し、書き込みには影響しない。
データを書き込む際には、CRC-32 は常に計算される。
- compr={none|lzo|zlib}
-
新しいファイルが書き込まれる際に使われるデフォルトの圧縮方法を
選択する。
ファイルシステムを
none
オプションでマウントしたとしても、圧縮したファイルを読み込むことが
できる。
udf のマウントオプション
UDF は OSTA, Optical Storage Technology Association で定義されている
"Universal Disk Format" ファイルシステムであり、DVD-ROM で多く使用される。
多くの場合、ハイブリッド UDF/ISO-9660 ファイルシステムの形式である。
しかし、それ自身はディスクドライブ、フラッシュドライブ、
他のブロックデバイスとして、完璧に利用できる。
iso9660
も参照すること。
- uid=
-
ファイルシステムの全てのファイルを、指定したユーザーに所属させる。
uid=forget は、uid=<user> と独立して (または、通常は追加として) 指定可能で、
結果として、UDF は uid をメディアに格納しない。
実際、記録された uid は 32 ビットのオーバーフロー uid -1 で、
UDF 標準で定義されている。
<user> の値は、有効なユーザー名、対応する 10 進数のユーザー ID、
特別な文字列 "forget" のいずれかである。
- gid=
-
ファイルシステムの全てのファイルを、指定したグループに所属させる。
gid=forget は、gid=<group> と独立して (または、通常は追加として) 指定可能で、
結果として、UDF は gid をメディアに格納しない。
実際、記録された gid は 32 ビットのオーバーフロー gid -1 で、
UDF 標準で定義されている。
<group> の値は、有効なグループ名、対応する 10 進数のグループ ID、
特別な文字列 "forget" のいずれかである。
- umask=
-
ファイルシステムから読み出した全ての i ノードの権限を指定した権限でマスクする。
値は 8 進数で指定する。
- mode=
-
mode= が設定された場合、ファイルシステムから読み出したディレクトリ以外の
全ての i ノードの権限を指定したモードに設定する。
値は 8 進数で指定する。
- dmode=
-
dmode= が設定された場合、ファイルシステムから読み出したディレクトリの
全ての i ノードの権限を指定したモードに設定する。
値は 8 進数で指定する。
- bs=
-
ブロックサイズを設定する。
カーネルバージョン 2.6.30 より前のデフォルト値は 2048 である。
2.6.30 以降で 4.11 より前では、論理デバイスブロックサイズで 2048 になった。
4.11 以降では、論理デバイスブロックサイズから 4096 の間の
有効な論理ブロックサイズである。
他の詳細は mkudffs(8) 2.0+ の man ページのセクション
互換性 と ブロックサイズ を参照すること。
- unhide
-
隠しファイルも見せる。
- undelete
-
削除されたファイルもリストに見せる。
- adinicb
-
i ノードにデータを埋め込む (デフォルト)。
- noadinicb
-
i ノードにデータを埋め込まない。
- shortad
-
ショート UDF アドレスディスクリプターを使う。
- longad
-
ロング UDF アドレスディスクリプターを使う (デフォルト)。
- nostrict
-
厳密に適合させない。
- iocharset=
-
NLS 文字セットを設定する。
これには、CONFIG_UDF_NLS オプションでコンパイルしたカーネルが必要である。
- utf8
-
UTF-8 文字集合を設定する。
デバッグと障害復旧のマウントオプション
- novrs
-
ボリューム認識シーケンス (Volume Recognition Sequence) を無視して、
マウントしようとする。
- session=
-
マルチセッションで記録された光学メディアのセッション番号を選択する
(デフォルトは最後のセッションである)。
- anchor=
-
標準のアンカーの位置を上書きする。(デフォルトは 256)
- lastblock=
-
ファイルシステムの最終ブロックを設定する。
指定された場合にも削除される、使用されていない歴史的なマウントオプション
- uid=ignore
-
無視される。代わりに uid=<user> を使うこと。
- gid=ignore
-
無視される。代わりに gid=<group> を使うこと。
- volume=
-
未実装であり、無視される。
- partition=
-
未実装であり、無視される。
- fileset=
-
未実装であり、無視される。
- rootdir=
-
未実装であり、無視される。
ufs のマウントオプション
- ufstype=value
-
UFS は他の OS で広く用いられているファイルシステムである。
ただし実装が OS によって異なっているのが問題である。
ある種の実装における機能には文書化されていないものがあり、
ufs の形式を自動的に認識するのは難しい。
したがってユーザーは ufs の形式をマウントオプションで指定しなければならない。
指定できる値は以下の通り:
-
- old
-
ufs の古い形式。これがデフォルトで、リードオンリー
(-r オプションを忘れずに指定すること)。
- 44bsd
-
BSD ライクなシステム (NetBSD, FreeBSD, OpenBSD)
で作られたファイルシステムに用いる。
- ufs2
-
FreeBSD 5.x で使われており、読み書きがサポートされる。
- 5xbsd
-
ufs2 の別名。
- sun
-
SunOS や Solaris on Sparc
で作られたファイルシステムに用いる。
- sunx86
-
Solaris on x86
で作られたファイルシステムに用いる。
- hp
-
HP-UX で作られたファイルシステムに用いる。リードオンリー。
- nextstep
-
(NeXT ステーションの) NeXTStep
で作られたファイルシステムに用いる (現在はリードオンリー)。
- nextstep-cd
-
NeXTStep CDROM (block_size == 2048) に用いる。リードオンリー。
- openstep
-
OpenStep で作られたファイルシステムに用いる (現在はリードオンリー)。
同じファイルシステムが Mac OS X でも使われている。
- onerror=value
-
エラー時の振る舞いを設定する:
-
- panic
-
エラーが起こったらカーネルパニックを起こす。
- [lock|umount|repair]
-
現在のところはこれらのオプションはなにもしない。
エラーが起こるとコンソールメッセージが表示されるだけである。
umsdos のマウントオプション
msdos のマウントオプションを見よ。
dotsOK
オプションは
umsdos
では当然無効である。
vfat のマウントオプション
まず
fat
のマウントオプションが認識される。
dotsOK
オプションは
vfat
では当然無効である。
さらに以下のオプションが存在する。
- uni_xlate
-
扱うことのできない Unicode 文字を特殊なエスケープシーケンスに変換する。
これは Unicode 文字を含むファイルをバックアップ、
レストアするのに用いることができる。
このオプションを指定しないと、変換できない場合には `?' が用いられる。
エスケープ文字には `:' が用いられる
(これは通常 vfat ファイルシステムでは用いることのできない文字であるため)。
用いられるエスケープシーケンスは u を Unicode 文字とすると以下の通り。
':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12)。
- posix
-
大文字か小文字かだけが異なる 2 つのファイル名を識別できるようにする。
このオプションは古い。
- nonumtail
-
name~num.ext
を用いる前に、まずシーケンス番号のない短縮名に変換しようとする。
- utf8
-
UTF8 は、コンソールで用いられる Unicode の 8 ビットエンコードに対して
安全なファイルシステムである。
このオプションを指定すると UTF8 が有効になる。
また、utf8=0, utf8=no, utf8=false のいずれかで無効になる。
'uni_xlate' が設定されていると UTF8 は無効になる。
- shortname=mode
-
8.3 形式の文字列に合うようなファイル名を
生成したり表示したりする動作を定義する。
ファイルにロングネームがある場合は、いつでも指定された動作で表示する。
以下の 4 つの mode がある:
-
- lower
-
ショートネームを表示する際に小文字にする。
ショートネームに小文字が含まれる場合は、ロングネームで生成する。
- win95
-
ショートネームを表示する際に大文字にする。
ショートネームに小文字が含まれる場合は、ロングネームで生成する。
- winnt
-
ショート名をそのまま表示する。
ショートネームが全て小文字または全て大文字でない場合は、
ロングネームで生成する。
- mixed
-
ショート名をそのまま表示する。
ショートネームに小文字が含まれる場合は、ロングネームで生成する。
このモードは、Linux 2.6.32 以降のデフォルトである。
usbfs のマウントオプション
-
-
devuid=,uid, devgid=,gid, devmode=,mode
usbfs ファイルシステムにあるデバイスファイルの
所有者・グループ・モードを設定する
(デフォルトは uid=gid=0, mode=0644)。
このモードは 8 進数で指定する。
-
-
busuid=,uid, busgid=,gid, busmode=,mode
usbfs ファイルシステムにあるバスディレクトリの
所有者・グループ・モードを設定する
(デフォルトは uid=gid=0, mode=0555)。
このモードは 8 進数で指定する。
-
-
listuid=,uid, listgid=,gid, listmode=,mode
ファイル
devices
の所有者・グループ・モードを設定する
(デフォルトは uid=gid=0, mode=0444)。
このモードは 8 進数で指定する。
loop デバイス
残ったタイプとしてもう 1 つ、loop デバイスを用いたマウントがある。
例えば以下のコマンド
-
mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop3
は loop デバイス
/dev/loop3
をファイル
/tmp/disk.img
に関連付け、そしてこのデバイスを
/mnt
にマウントする。
loop デバイスが明示的に指定されない場合
(単にオプション `-o loop' が指定された場合)、
mount
は使用されていない loop デバイスを見つけて利用する。
例えば、
-
mount /tmp/disk.img /mnt -o loop
mount コマンドは、ファイルシステムタイプが指定されていない場合、
またはファイルシステムが libblkid で判明している場合、
通常ファイルから
自動的に
loop デバイスを作成する。
例えば、
-
mount /tmp/disk.img /mnt
mount -t ext4 /tmp/disk.img /mnt
このタイプのマウントの際には 3 つのオプションが指定できる。
loop, offset, sizelimit
である。
これらは実際には
losetup(8)
のオプションである。
(これらのオプションはファイルシステムタイプに固有のオプションの他に
使用することができる。)
Linux 2.6.25 以降で、loop デバイスの自動消去がサポートされた。
つまり、
mount
によって確保された loop デバイスは、
/etc/mtab
とは独立して
umount
で解放される。
losetup -d または umount -d
を使って、手動で loop デバイスを解放することもできる。
util-linux v2.29 以降の mount コマンドは、
同じバッキングファイルが同じ loop デバイスで同じオフセットとサイズ制限で使われている場合、
新しいデバイスを初期化するのではなく、loop デバイスを再利用するようになった。
これはファイルシステムの破損を防ぐために必要である。
返り値
mount
は以下のコードを返す (ビットは OR できる):
- 0
-
成功した。
- 1
-
呼び出しやパーミッションが正しくない。
- 2
-
システムエラー (メモリ不足、fork できなかった、loop デバイスが足りない)。
- 4
-
mount
の内部のバグ。
- 8
-
ユーザーによる中断。
- 16
-
/etc/mtab の書き込み時またはロック時の問題がある。
- 32
-
マウントに失敗した。
- 64
-
マウントが一部が成功した。
コマンド mount -a は、0 (全て成功), 32 (全て失敗),
64 (一部成功、一部失敗) を返す。
外部ヘルパー
外部 mount ヘルパーの書式は以下の通り:
/sbin/mount.suffix
spec dir
[-sfnv]
[-N
namespace]
[-o
options]
[-t
type.subtype]
ここで、suffix はファイルシステムタイプであり、
-sfnvoN オプションは通常のマウントオプションと同じ意味を持つ。
-t オプションはサブタイプを持つファイルシステムで使われる
(例えば
/sbin/mount.fuse -t fuse.sshfs)。
コマンド mount はマウントオプション
unbindable,
runbindable,
private,
rprivate,
slave,
rslave,
shared,
rshared,
auto,
noauto,
comment,
x-*,
loop,
offset ,
sizelimit
を mount.<suffix> ヘルパーに渡さない。
他の全てのオプションは、-o オプションの引き数で
カンマ区切りのリストで使用される。
ファイル
上記の "/etc/fstab, /etc/mtab, /proc/mounts" セクションも参照すること。
- /etc/fstab
-
ファイルシステムの一覧表
- /run/mount
-
libmount のプライベートランタイムディレクトリ
- /etc/mtab
-
マウントされたファイルシステムの一覧表、または /proc/mounts へのシンボリックリンク。
- /etc/mtab~
-
ロックファイル (mtab がシンボリックリンクのシステムでは使われない)。
- /etc/mtab.tmp
-
テンポラリファイル (mtab がシンボリックリンクのシステムでは使われない)。
- /etc/filesystems
-
試行するファイルシステムタイプの一覧
環境変数
- LIBMOUNT_FSTAB=<path>
-
fstab のデフォルトの場所を上書きする (suid は無視される)。
- LIBMOUNT_MTAB=<path>
-
mtab のデフォルトの場所を上書きする (suid は無視される)。
- LIBMOUNT_DEBUG=all
-
libmount のデバッグ出力を有効化する。
- LIBBLKID_DEBUG=all
-
libblkid のデバッグ出力を有効化する。
- LOOPDEV_DEBUG=all
-
loop デバイスのセットアップデバッグ出力を有効化する。
関連項目
mount(2),
umount(2),
umount(8),
fstab(5),
nfs(5),
xfs(5),
e2label(8),
findmnt(8),
losetup(8),
mke2fs(8),
mountd(8),
nfsd(8),
swapon(8),
tune2fs(8),
xfs_admin(8)
バグ
ファイルシステムに整合性がないと、クラッシュを引き起こす場合がある。
Linux のファイルシステムのなかには
-o sync と -o dirsync
をサポートしていないものがある。
(ext2, ext3, ext4, fat, vfat ファイルシステムは
BSD 流の同期更新をサポートしている。
sync
オプションとともにマウントすれば良い。)
-o remount
でマウントパラメータが変更されないことがある (例えば
ext2fs
特有のパラメータは、
sb
を除いてすべて remount で変更可能であるが、
fatfs
では
gid
や
umask
を変更できない)。
通常の mtab ファイルを持つシステムでは、ファイル
/etc/mtab
と
/proc/mounts
がマッチしない可能性もある。
1 つ目のファイルは mount コマンドオプションにのみ基づいており、
2 つ目のファイルはカーネルと他の設定に依存しているためである
(例えば、リモート NFS サーバでは、NFS マウントポイントについて、
mount コマンドは信頼できない情報を返す可能性があるが、
/proc/mounts ファイルはより信頼性のある情報を保持している)。
これが、mtab ファイルを
/proc/mounts
ファイルへのシンボリックリンクに置き換える、もう 1 つの理由である。
ファイルディスクリプター (つまり
fcntl
と
ioctl
関連の関数) で参照される NFS ファイルシステム上のファイルをチェックすると、
noac オプションを使っていても、カーネルの整合性チェックが欠如しているために、
不整合を起こす場合がある。
古いカーネルを使っている場合、
offset
または
sizelimit
オプションを付けた
loop
オプションが使われると失敗する可能性がある。
これは、ブロックデバイスのサイズが要求された通りに設定されていることを、
mount
コマンドが確認できないためである。
この場合のワークアラウンドは、設定された loop デバイスで
mount
を呼び出す前に、
losetup
を呼び出すことである。
履歴
mount
コマンドは Version 5 の AT&T UNIX には存在していた。
著者
Karel Zak <kzak@redhat.com>
入手方法
mount コマンドは util-linux パッケージの一部であり、
https://www.kernel.org/pub/linux/utils/util-linux/
から入手できる。
Index
- 名前
-
- 書式
-
- 説明
-
- マウントのリスト表示
-
- デバイスとファイルシステムの指定
-
- ファイル /etc/fstab, /etc/mtab, /proc/mounts
-
- スーパーユーザー以外でのマウント
-
- bind マウント操作
-
- move 操作
-
- 共有 (shared) サブツリー操作
-
- コマンドラインオプション
-
- ファイルシステム非依存のマウントオプション
-
- ファイルシステム独自のマウントオプション
-
- adfs のマウントオプション
-
- affs のマウントオプション
-
- debugfs のマウントオプション
-
- devpts のマウントオプション
-
- fat のマウントオプション
-
- hfs のマウントオプション
-
- hpfs のマウントオプション
-
- iso9660 のマウントオプション
-
- jfs のマウントオプション
-
- msdos のマウントオプション
-
- ncpfs のマウントオプション
-
- ntfs のマウントオプション
-
- オーバーレイ (overlay) のマウントオプション
-
- reiserfs のマウントオプション
-
- ubifs のマウントオプション
-
- udf のマウントオプション
-
- デバッグと障害復旧のマウントオプション
-
- 指定された場合にも削除される、使用されていない歴史的なマウントオプション
-
- ufs のマウントオプション
-
- umsdos のマウントオプション
-
- vfat のマウントオプション
-
- usbfs のマウントオプション
-
- loop デバイス
-
- 返り値
-
- 外部ヘルパー
-
- ファイル
-
- 環境変数
-
- 関連項目
-
- バグ
-
- 履歴
-
- 著者
-
- 入手方法
-
This document was created by
man2html,
using the manual pages.
Time: 17:59:32 GMT, March 31, 2020