名前
mount -
ファイルシステムをマウントする
書式
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O
optlist]
mount [-fnrsvw] [-o options [,...]] device
| dir
mount [-fnrsvw] [-t vfstype] [-o options]
device dir
説明
Unix
のシステムにおいては、アクセスできるファイルはすべて
1 つの大きな
ツリー構造にまとめられている。
これは / をルート
(root:根)
とする階層構造をなしている。
これらのファイル群は複数のデバイスにわたって配置することができる。
mount
コマンドはあるデバイス上のファイルシステムを
この大きなツリー構造に接続するために用いられる。
逆に接続を解除する際には
umount(8)
コマンドが用いられる。
mount
コマンドの標準形は次の通りである。
mount -t type device dir
これは device
上にあるファイルシステム
(タイプ type)
をディレクトリ dir
に接続するよう、カーネルに伝える。
このファイルシステムがマウントされている間は、ディレクトリ
dir のもとの中身
(もしあれば)、ディレクトリ自身の所有者、
パーミッションモードは見えなくなる。
dir
によって指定されるパスは
device
上のファイルシステムのルートを参照することになる。
以下の 3
種類の実行形式は、実際には何もマウントしない。
mount -h
はヘルプメッセージを表示する。
mount -V
はバージョン情報を表示する。
mount [-l] [-t type]
とだけ入力して実行すると、
現在マウントされているファイルシステムのリストを表示する。
-t "type"
を指定すると、ファイルシステムのタイプが
type
のものだけを表示する。
オプション -l
を付けると (ext2, ext3, XFS)
のラベルをリストに追加する。
タイプに関する詳細は以下に述べる。
Linux 2.4.0 以降では、
ファイル階層の一部をどこか別の場所に再マウントすることができる。
使い方は以下の通りである。
mount --bind olddir newdir
この呼び出しの後、同じ内容を
2
つの場所でアクセスできる。
1 つのファイルを (1
つのファイル上に)
再マウントすることもできる。
この呼び出しでは 1
つのファイルシステム
(の一部)
のみをアタッチするだけで、
サブマウントはアタッチしない。
サブマウントを含むファイル階層全体は、
以下のコマンドで 2
番目の場所にアタッチできる。
mount --rbind olddir newdir
ファイルシステムのマウントオプションは、
元のマウントポイントのものと同じに維持され、
--bind/--rbind の後に -o
オプションを指定して変更できない点に注意すること。
Linux 2.5.1 以降では、
マウントされたツリーを纏めて他の場所に移動することが可能になった。
使い方は以下の通りである。
mount --move olddir newdir
proc
ファイルシステムはスペシャルデバイスには関連付けられていないので、
マウントする際には
proc
のような適当なキーワードをデバイス指定の代わりに用いる。
(通常用いられている
none
はあまりお勧めできない:
umount が `none busy'
というエラーメッセージを出すことになるので、
混乱の原因となりかねない。)
ほとんどの場合、デバイスは
(ブロックスペシャルデバイスの)
ファイル名で
指定する (例: /dev/sda1)。
しかし例外もある。例えば
NFS
を通してマウントする場合には、
device は knuth.cwi.nl:/dir
のようになる。
ブロックスペシャルデバイスの指定には、ボリュームラベルや
UUID を
用いることができる
(以下の -L および -U
オプションを見よ)。
ファイル /etc/fstab
(fstab(5) を見よ)
は、それぞれのデバイスが通常マウントされる場所を、
オプションとともに記述したものである。
このファイルは以下の
3
つの場合に用いられる。
(i) コマンド
mount -a [-t type] [-O optlist]
が
(通常は起動スクリプトから)
実行されると、 fstab
に記述されているすべてのファイルシステムが
(適当なオプションの有無に関わらず、それぞれ適当なタイプで)
マウントされる。
ただしキーワード noauto
を含む行はマウントされない。
-F
オプションを指定すると
mount は fork し、
それぞれのファイルシステムが同時にマウントされる。
(ii) fstab
中に記述されているファイルシステムをマウントするときは、
デバイスのみ、あるいはマウントポイントのみの指定で充分である。
(iii)
通常はスーパーユーザーのみがマウントを行うことができるが、
fstab 中の行に user
オプションが含まれていれば、その行で指定されているファイルシステムは
誰でもマウントすることができる。
したがって
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
という行があれば、誰でも
CDROM 上の iso9660
ファイルシステムを
mount /dev/cdrom
または
mount /cd
によってマウントできる。
詳細は fstab(5)
を参照のこと。
ファイルシステムをマウントしたユーザーだけが、
それをアンマウントすることができる。
他のユーザーでもアンマウントを行えるようにしたい場合は、
fstab の行の指定を user
の代わりに users
とすること。 owner
オプションは user
オプションと似ているが、ユーザーがそのスペシャルファイルの
所有者でなければならないという制限がある。
これはたとえばログインスクリプトがコンソールのユーザーを
/dev/fd
の所有者にする場合、このデバイスに用いると便利だろう。
group オプションは
(訳註: user
オプションと)
似ているが、ユーザーがそのスペシャルファイルの
グループのメンバでなければならないという制限がある。
mount および umount
プログラムによって現在マウントされているファイルシステムの一覧は
/etc/mtab
ファイル中に記述されている。
mount
が引き数なしで実行された場合には、
このリストが表示される。
proc
ファイルシステムがマウントされている場合には
(マウントポイントは
/proc としよう)、
ファイル /etc/mtab と
/proc/mounts
はほとんど同じ内容になる。
/etc/mtab
には、マウントオプションなど多少の情報が付け加えられている。
特に非常に多くマウントしている場合には、(訳註:
/etc/mtab を /proc/mounts への)
シンボリックリンクにすることにより、とても速くなる。
しかし、 /etc/mtab
は常に最新の情報であるとは限らない
(以下の -n
オプションの説明を参照)。
/etc/mtab を /proc/mounts
へのシンボリックリンクとすることも可能であるが、
この場合は上に挙げた情報が失われる。
loop
デバイスを用いている場合には特に不便となってしまう。
また "user"
オプションを用いると失敗する。
オプション
mount
の実行時に用いられるオプションは以下のようにして決定される。
まずそのファイルシステムに特有のオプションが
fstab
中の対応する行から抽出される。
次にコマンドラインの
-o
引き数によって指定されたオプション、最後に
-r または -w
オプションが指定されている場合には、それらが適用される。
mount
コマンドで利用できるオプションは以下の通り:
- -V
- バージョンを表示する。
- -h
- ヘルプメッセージを表示する。
- -v
- 詳細表示モード。
- -a
- fstab
に記載されている
(指定したタイプの)
ファイルシステムを
すべてマウントする。
- -F
- (-a とともに用いる)
それぞれのデバイスごとに
fork して新しい mount
プロセスを生成する。
別々のデバイス、別々の
NFS
サーバに対するマウントを並行して行うことになる。
利点は動作が高速になること、
また NFS
タイムアウトが並行して計測されることである。
逆に欠点としては、マウントの順序が規定されないことである。
したがって、 /usr と
/usr/spool
の両方を同時にマウントするときには、このオプションを用いることはできない。
- -f
- 実際のシステムコール以外を除いてすべての動作をする。
もうちょっとわかりやすく言うと、
ファイルシステムのマウント動作を「行うふり」をする。
このオプションは -v
フラグとともに用いると便利で、
mount
コマンドが行おうとすることを確認できる。
また以前に -n
オプションを用いてマウントされたデバイスのエントリーを
/etc/mtab
に書き込む目的にも用いることができる。
- -i
- /sbin/mount.<filesystem>
ヘルパがあっても、呼び出さない。
- -l
- ext2, ext3, XFS のラベルを mount
の出力に追加する。
これを行うには、mount
にディスクデバイスの読み取り権限が必要である
(つまり suid root
されている必要がある)。
このような ext2 や ext3
のラベルを設定するには
e2label(8)
ユーティリティを用いればよい。
また、XFS
のラベルを設定するには
xfs_admin(8)
を用いればよい。 reiserfs
のラベルを設定するには
reiserfstune(8)
を用いればよい。
- -n
- マウントの際に /etc/mtab
に書き込みを行わない。
これが必要になるのは、例えば
/etc
がリードオンリーのファイルシステムの場合などである。
- -p num
- 暗号付きループマウントの場合、
パスフレーズを端末からではなくファイルディスクリプタ
num から読み込む。
- -s
- 曖昧なマウントオプションが与えられたときに、
実行を中断しないで受け入れる。
これはファイルシステムタイプによってサポートされていない
マウントオプションを無視する。
すべてのファイルシステムでこのオプションがサポートされているわけではない。
このオプションは Linux
autofs
ベースのオートマウンタのために用意されている。
- -r
- ファイルシステムをリードオンリーでマウントする。
-o ro と同義である。
- -w
- ファイルシステムを読み書き可能なモードでマウントする
(デフォルト)。 -o rw
と同義である。
- -L label
- label
で指定したラベルを持つパーティションをマウントする。
- -U uuid
- uuid で指定した UUID
を持つパーティションをマウントする。
これらの 2
つのオプションを用いるには、
/proc/partitions ファイル (Linux 2.1.116
以降でサポート)
が存在していなければならない。
- -t vfstype
- -t
に続く引き数はファイルシステムタイプを指定するのに用いられる。
現在サポートされているファイルシステムのタイプには、以下のものが含まれる。
adfs, affs, autofs, coda, coherent,
cramfs, devpts, efs, ext, ext2,
ext3, hfs, hpfs, iso9660, jfs,
minix, msdos, ncpfs, nfs, ntfs,
proc, qnx4, ramfs, reiserfs, romfs,
smbfs, sysv, tmpfs, udf, ufs,
umsdos, usbfs, vfat, xenix, xfs,
xiafs. coherent, sysv, xenix の 3
つは等価であり、
xenix と coherent
は将来削除される —
代りに sysv
を用いること。
カーネルのバージョン
2.1.21 以降では、 ext
および xiafs
というタイプは、もはや存在しない。
usbfs は、以前は usbdevfs
として知られていた。
ほとんどのタイプに対しては、
mount
プログラムがしなければならないことは単に
mount(2)
システムコールを発行することだけであり、
そのタイプのファイルシステムに対する細かな知識は必要とされない。
しかしいくつかのタイプ
(nfs, smbfs, ncpfs など)
については、
特別なコードが必要になる。
nfs
対応コードは組み込まれているが、
smbfs と ncpfs
については別にマウントプログラムが用意されている。
全部のタイプを同じやり方で扱うことができるようにするため、
mount はタイプ TYPE
とともに呼び出されると、(もしあれば)
/sbin/mount.TYPE を実行する。
smbmount
プログラムでは、バージョンによって呼び出しの方式が異なっていることが多いので、
/sbin/mount.smbfs
は必要な呼び出し方式に調整するシェルスクリプトでなければならないだろう。
-t
オプションが与えられなかった場合や、
auto
タイプが指定された場合、
mount
は適切なタイプを推測する。
mount が blkid
ライブラリとともにコンパイルされている場合、
このライブラリによって推測を行う。
さもなければ、 mount
は自身でスーパーブロックをプローブして推測を行う。
このプローブに失敗すると、mount
はファイル /etc/filesystems
を読み込もうとする。
さらにこのファイルがなければ
/proc/filesystems
を読み込もうとする。
そして、読み込んだファイルにリストされているファイルシステムがテストされる。
ただし "nodev"
ラベルの付いているもの
(すなわち devpts, proc,
nfs)
はテストから除かれる。
/etc/filesystems が *
のみの行で終わっている場合、
mount はその後に
/proc/filesystems
を読み込む。
auto
タイプはフロッピーを一般ユーザーがマウントする場合に特に便利であろう。
プローブの順序を変更したい場合
(例えば msdos の前に vfat
の試行をしたい場合や
ext2 の前に ext3
を試行したい場合)
や、
カーネルモジュールの自動ローダを利用している場合には、
/etc/filesystems
ファイルを作っておくと便利である。
注意:
ファイルシステムのテストには発見的手法
(適当な `合い言葉'
が見つかるかどうか)
が用いられるので、
ファイルシステムのタイプを間違えて、被害を被る可能性もある。
データが重要な場合は、
mount
にファイルシステムタイプを推測させてはならない。
複数のタイプをコンマで区切ったリストで指定することもできる。
ファイルシステムのタイプのリストの前に
no
を前置することもできる。
これは動作対象としないファイルシステムを指定する。
(-a
オプションとともに用いると良いかもしれない。)
例えば以下のコマンド:
mount -a -t nomsdos,ext
は
msdos および
ext
を除くすべてのファイルシステムをマウントする。
- -O
- -a と一緒に使うと、
-a
が適用されるファイルシステムを制限することができる。
この動作は -t
と似ているが、 -a
と一緒に使うとき以外は機能しない点が異なる。
例えば以下のコマンド:
mount -a -O no_netdev
は
/etc/fstab
ファイルのオプションフィールドで
_netdev
オプションが指定されていない
全てのファイルシステムをマウントする。
各オプションが厳密にマッチされる点が
-t とは異なる。 ある
1
個のオプションの前に
no
をおいても、残りのオプションの意味は打ち消されない。
-t と -O
オプションの機能は足し合わせることができる。
すなわちコマンド
mount -a -t ext2 -O _netdev
は _netdev
が指定されている
全ての ext2
ファイルシステムをマウントするが、
ext2
以外のファイルシステムや、
_netdev
が指定されていない ext2
ファイルシステムはマウントしない。
- -o
- オプションの指定を行うには、
-o
フラグに続けて各オプションをコンマで区切った文字列を書く。
オプションには、
/etc/fstab
の中でのみ意味を持つものもある。
以下のオプションはマウントされるすべての
ファイルシステムに適用できるものである
(但し、全てのファイルシステムがこれらのオプションを引き受けるとは限らない。
例えば、 sync
オプションは現在 ext2,
ext3, ufs
でのみ効果をもつ):
- async
- そのファイルシステムに対するすべての
I/O が非同期 (asynchronous)
に行われる。
- atime
- アクセス毎に inode
のアクセス時間を更新する。デフォルト。
- auto
- -a
が指定されたときにマウントされる。
- defaults
- デフォルトのオプション:
rw, suid, dev, exec, auto,
nouser, async を用いる。
- dev
- ファイルシステム上の
キャラクタ・スペシャル・デバイスや
ブロック・スペシャル・デバイスを
利用できるようにする。
- exec
- バイナリの実行を許可する。
- group
- 通常 (つまり root 以外)
のユーザーの属するグループのうちの
1 つが
デバイスのグループとマッチした場合に、
そのユーザーがファイルシステムをマウントするのを許可する。
このオプションはオプション
nosuid と nodev
を暗黙のうちに指定する
(ただし、オプション行で
group,dev,suid
のようにして、その後のオプションで上書きしない限り)。
- mand
- このファイルシステム上での強制
(mandatory)
ロックを許可する。
fcntl(2)
を参照すること。
- _netdev
- ネットワークアクセスが必要なデバイス上にあるファイルシステム
(システムでネットワークが使用可能になるまでは、
ファイルシステムをマウントさせないために使われる)。
- noatime
- そのファイルシステム上では
inode
のアクセス時間を更新しない
(例えばニュースサーバーをスピードアップしたいときなどに、
ニューススプールへのアクセス速度を向上させるために用いられる)。
- noauto
- 明示的に指定されたときのみマウントできる。
つまり -a
オプションではマウントされない。
- nodev
- このファイルシステム上にある
キャラクタ・スペシャル・デバイスや
ブロック・スペシャル・デバイスを
使用できないようにする。
- noexec
- マウントされたファイルシステム上の任意のバイナリの直接実行を禁止する。
(最近になるまで /lib/ld*.so
/mnt/binary
のようなコマンドを使って、
バイナリを何とか実行することが可能であった。
このトリックは Linux 2.4.25 /
2.6.0
以降では失敗する。)
- nomand
- ファイルシステム上での強制ロックを禁止する。
- nosuid
- SUID および SGID
ビットを無効にする
(これは安全なように見えるが、
suidperl(1)
がインストールされている場合には、実際にはむしろ危険である)。
- nouser
- 一般ユーザー
(スーパーユーザー以外のユーザー)
のマウントを禁止する。
これはデフォルトである。
- owner
- 通常 (つまり root 以外)
のユーザーがデバイスの所有者とマッチした場合に、
そのユーザーがファイルシステムをマウントするのを許可する。
このオプションはオプション
nosuid と nodev
を暗黙のうちに指定する
(ただし、オプション行で
owner,dev,suid
のようにして、その後のオプションで上書きしない限り)。
- remount
- すでにマウントされているファイルシステムを再マウントしようとする。
これは通常ファイルシステムのマウントフラグを変更するとき
(特にリードオンリーのファイルシステムを書き込み可能にするとき)
に用いられる。
デバイスとマウントポイントを変更しない。
- ro
- ファイルシステムをリードオンリーでマウントする。
- rw
- ファイルシステムを読み書き可能なモードでマウントする。
- suid
- SUID および SGID
ビットを有効にする。
- sync
- そのファイルシステムに対する
I/O がすべて同期的 (synchronous)
に行われる。
- dirsync
- ファイルシステムにおける全てのディレクトリ更新を、
同期的 (synchronous)
に行わせる。
このオプションは以下のシステムコールに影響する:
creat, link, unlink, symlink, mkdir, rmdir, mknod, rename.
- user
- 一般ユーザーでもファイルシステムをマウントできるようにする。
マウントを行ったユーザーの名前が
mtab に書き込まれ、
そのユーザーがアンマウントできるようになる。
このオプションを指定すると、同時に
noexec, nosuid, nodev
が指定されたことになる。
ただし続けて指定すれば上書きは可能。
すなわち user,exec,dev,suid
のような行を指定すればよい。
- users
- 全てのユーザーがファイルシステムをマウント・アンマウント出来るようにする。
このオプションを指定すると、同時に
noexec, nosuid, nodev
が指定されたことになる。
ただし続けて指定すれば上書きは可能。
すなわち users,exec,dev,suid
のような行を指定すればよい。
- --bind
- サブツリーをどこか他の場所に再マウントする
(サブツリーの内容が両方の場所でアクセスできる)。
上記を参照。
- --move
- サブツリーを他の場所に移動する。上記を参照。
ファイルシステム独自のマウントオプション
以下のオプションは特定のファイルシステムにのみ適用される。
ファイルシステムの順に並べてある。
すべて -o
フラグに続けて指定する。
どのようなオプションがサポートされているかは、
実行されているカーネルに少々依存する。
より詳しい情報はカーネルソースのサブディレクトリ
Documentation/filesystems
で見つけることができる。
- uid=value and gid=value
- このファイルシステムのファイルの所有者とグループを設定する
(デフォルトは uid=gid=0)。
- ownmask=value
and othmask=value
- それぞれ ADFS
の「所有者」属性と「その他」属性に対する
パーミッションマスクを設定する
(デフォルトはそれぞれ
0700 と 0777)。
/usr/src/linux/Documentation/filesystems/adfs.txt
も参照のこと。
- 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
にこのような文字列があると反応する)
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"
がデフォルトになる。
なし。 `ext'
ファイルシステムはすでに時代遅れであり、用いるべきではない。
Linux バージョン 2.1.21
以降では extfs
はカーネルソースから削除されている。
`ext2'
ファイルシステムは
Linux
の標準ファイルシステムである。
Linux 2.5.46
以降では、大部分のマウントオプションのデフォルト値は
ファイルシステムのスーパーブロックで決定される。
このデフォルト値は
tune2fs(8)
で設定すること。
- acl /
noacl
- POSIX
アクセス制御リスト
(Access Control List)
をサポートする
(またはサポートしない)。
- bsddf /
minixdf
- システムコール statfs
の振る舞いを設定する。
minixdf
を指定すると、返り値の
f_blocks
フィールドにファイルシステムの全ブロック数が入るようになり、
bsddf を指定すると、ext2
ファイルシステムによって利用されていて、
ファイルの保存領域としては使えないブロックの分を引いた値が入る。
デフォルトは bsddf。
すなわち、
% mount /k -o minixdf; df /k; umount /k
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda6 2630655 86954 2412169 3% /k
% mount /k -o bsddf; df /k; umount /k
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda6 2543714 13 2412169 0% /k
(この例より、
/etc/fstab
のオプションにコマンドラインオプションを追加できることもわかる。)
- check
- ファイルシステム
(のブロックと inode
ビットマップ)
をマウント時にチェックする。
- check=none
/ nocheck
- マウント時にチェックを行わない。
これがデフォルトであり、高速である。
e2fsck(8)
を時折、例えばブート時に、呼び出す方が賢明である。
- debug
- デバッグ情報をマウントおよび再マウントごとに表示する。
- errors=continue
/ errors=remount-ro / errors=panic
- エラーが起こったときの振る舞いを指定する。
(エラーを無視し、ファイルシステムに問題があることを記録だけして続ける
/
ファイルシステムをリードオンリーでマウントしなおす
/
パニックを起こしてシステムを停止する)
デフォルトはファイルシステムのスーパーブロックに設定されている。
これは tune2fs(8)
を用いて変更することができる。
- grpid
または bsdgroups / nogrpid
または sysvgroups
- 新しく作成されたファイルが取得するグループ
id を指定する。 grpid
が設定されていると、ファイルは作成されたディレクトリと同じグループ
id を得る。
それ以外の場合ファイルはカレントプロセスの
fsgid を得る
(デフォルト)。
ただしディレクトリに
SGID
ビットが設定されている場合は、
親ディレクトリから
gid
を引き継ぎ、作成されたファイルがディレクトリならば、
自分自身にも SGID
ビットを設定する。
- grpquota /
noquota / quota / usrquota
- これらのオプションは指定可能であるが、単に無視される。
- nobh
- buffer_heads
をファイルページキャッシュにアタッチしない
(2.5.49 以降)。
- nouid32
- 32 ビットの UID と GID
を無効にする。
これは 16 ビットで (UID や
GID の)
値を格納したり、
値が返されることを想定している昔のカーネルとの互換性のためにある。
- oldalloc
または orlov
- 新しい inode に対して、old
アロケータまたは Orlov
アロケータを使う。
Orlov
がデフォルトである。
- resgid=n
と resuid=n
- ext2
ファイルシステムは適当な大きさの予約領域を持っている
(デフォルトでは 5%。
mke2fs(8) および tune2fs(8)
を見よ)。
これらのオプションはこの予約ブロックを使えるユーザーを指定する。
すなわち指定された
uid
を持つユーザー、あるいは指定されたグループに
所属するユーザーである。
- sb=n
- ブロック 1
の代わりにブロック
n
をスーパーブロックとして用いる。
このオプションはファイルシステムが損傷を受けた場合に便利である。
(以前はスーパーブロックのコピーが
8192
ブロックおきに作成されていた。
つまりブロック 1, 8193, 16385,
... である
(大きなファイルシステムでは、この数は数千にも及ぶことがあった)。
バージョン 1.08 以降の
mke2fs では -s オプション
(sparse superblock:
疎なスーパーブロック)
が使えるようになり、バージョン
1.15
以降ではこれがデフォルトになった。
注意してほしいのだが、つまりこれは、最近の
mke2fs で作成された ext2
ファイルシステムは、
Linux 2.0.* では read/write での mount
ができない、ということである。)
ここでのブロック数は
1k
バイト単位を使う。
よって、4k
バイトブロックでファイルシステム上の
論理ブロック 32768
を使いたい場合は、"sb=131072"
とすること。
- user_xattr
/ nouser_xattr
- "user."
拡張属性をサポートする
(またはサポートしない)。
`ext3'
ファイルシステムは
ext2
ファイルシステムを作り替えたもので、
拡張としてジャーナリング機能を備えている。
ext2
と同じオプションに加え、以下の追加オプションをサポートしている。
- journal=update
- ext3
ファイルシステムのジャーナルを現在の形式に更新する。
- journal=inum
- ジャーナルが既にある場合、このオプションは無視される。
ジャーナルがない場合、ext3
ファイルシステムのジャーナルファイルを
表すための i
ノードの数を指定する。
ext3 は、i ノード数が
inum
のファイルの古い内容を上書きして、新しいジャーナルを作成する。
- noload
- マウント時に ext3
ファイルシステムのジャーナルを読み込まない。
- data=journal
/ data=ordered / data=writeback
- ファイルデータのジャーナリングモードを指定する。
メタデータは常にジャーナルに書かれる。
ルートファイルシステムに対して
ordered
以外のモードを使用するには、
rootflags=data=journal
のようにして、モードをブートパラメータとしてカーネルに渡す。
- journal
- メインファイルシステムより前に、全てのデータがジャーナルに記録される。
- ordered
- これがデフォルトのモードである。
メタデータがジャーナルに記録される前に、
全てのデータがメインファイルシステムに直接書き出される。
- writeback
- データの順番は保存されない。
メタデータがジャーナルに記録された後で、
データがメインファイルシステムに書き込まれる。
これはスループットを高くするオプションらしい。
このオプションは内部ファイルシステムの完全性を保証する。
しかし、クラッシュした後のジャーナルによる回復で、
ファイルが昔のデータになることも許されている。
- commit=nrsec
- 全てのデータとメタデータを
nrsec
秒毎に同期させる。
デフォルト値は 5
秒である。 0
はデフォルトを意味する。
(注意: fat
は独立したファイルシステムではなく、
msdos, umsdos, vfat
各ファイルシステムの共通部分である。)
- blocksize=512
/ blocksize=1024 / blocksize=2048
- ブロックサイズを設定する
(デフォルトは 512)。
- uid=value と gid=value
- すべてのファイルの所有者とグループを設定する
(デフォルトはカレントプロセスの
uid と gid)。
- umask=value
- umask を設定する (umask
とは許可属性のビットマスクで、
立てないビットを立てたもの)。
デフォルトはカレントプロセスの
umask。値は 8
進数で与える。
- dmask=value
- ディレクトリにのみ適用される
umask を設定する。
デフォルトはカレントプロセスの
umask。 値は 8
進数で与える。
- fmask=value
- 通常のファイルにのみ適用される
umask を設定する。
デフォルトはカレントプロセスの
umask。 値は 8
進数で与える。
- check=value
- チェックの詳細さは 3
つのレベルから選択できる:
- r[elaxed]
- 大文字と小文字を受け付け、それぞれ等価と見なす。
ロングネームの部分は切り捨てられる
(すなわち verylongname.foobar は
verylong.foo となる)。
スペース文字を名前のそれぞれの部分
(本体と拡張子)
に用いることができる。
- n[ormal]
- "relaxed"
と似ているが、多くの特殊文字
(*, ?, <, スペースなど) は
用いることができない。デフォルト。
- s[trict]
- "normal"
と似ているが、名前には長い部分を含むことができない。
また Linux
では用いることができるが
MS-DOS
では受け入れられない特殊文字
(+, =, スペースなど)
を用いることができない。
- codepage=value
- FAT や VFAT
ファイルシステムで、短いファイル名に変換するときに
用いる文字のコードページを設定する。
デフォルトではコードページ
437 が用いられる。
- conv=b[inary]
/ conv=t[ext] / conv=a[uto]
- fat
ファイルシステムは
CRLF<-->NL (MS-DOS
のテキストフォーマットと
UNIX の
テキストフォーマット)
の変換をカーネルで行うことができる。
以下の変換モードを指定できる:
- binary
- 変換は行わない。デフォルト。
- text
- すべてのファイルで
CRLF<-->NL
の変換を行う。
- auto
- 拡張子を見てバイナリファイルかどうか判断し、バイナリではないファイルに
対して CRLF<-->NL
の変換を行う。
拡張子のリストは
fs/fat/misc.c
の先頭に記述されている。
(2.0
の段階ではリストは以下の通り:
exe, com, bin, app, sys, drv, ovl, ovr, obj, lib, dll, pif, arc, zip, lha,
lzh, zoo, tar, z, arj, tz, taz, tzp, tpz, gz, tgz, deb, gif, bmp, tif, gl,
jpg, pcx, tfm, vf, gf, pk, pxl, dvi)
lseek
を行うプログラムはカーネルレベルのテキスト変換と相性が悪い。
この変換によってデータを台無しにしてしまった人もいるので、注意すること!
バイナリモードでマウントしたファイルシステムに対して、変換ツール
(fromdos/todos)
を用いることもできる。
- cvf_format=module
- 自動検知の結果ではなく、CVF
(Compressed Volume File:
圧縮ボリュームファイル)
モジュール cvf_module
を使うよう、ドライバに強制する。
カーネルが kmod
をサポートしていれば、
cvf_format=xxx
オプションとしてもオンデマンドで
CVF
モジュールをロードできる。
- cvf_option=option
- CVF
モジュールに渡すオプション。
- debug
- debug フラグを ON
にする。
バージョン文字とファイルシステムのパラメータが表示される
(これらのデータはパラメータが一貫していないような場合にも表示される)。
- fat=12 /
fat=16 / fat=32
- 12 ビット fat か 16 ビット fat
か 32 ビット fat
かを特定する。
これは FAT
形式の自動認識ルーチンによる設定を上書きする。
用いる際には注意すること。
- iocharset=value
- 8 ビットの文字を 16
ビットの Unicode
文字に変換する
(あるいはその逆)
ときに用いる文字セット
(character set)。デフォルトは
iso8859-1 である。
長いファイル名は、ディスクには
Unicode
フォーマットで保存されている。
- quiet
- quiet フラグを ON
にする。 ファイルを
chown や chmod
しようとしたときにもエラーを返さず、単に失敗する。
用いる際には注意すること!
- sys_immutable,
showexec, dots, nodots, dotsOK=[yes|no]
- FAT
ファイルシステムに
Unix または DOS
のしきたりを
強制しようとするさまざまな試み。
おそらくは用いるべきでない。
- 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
- 不正なマウントオプションに対して苦情を出さない。
- uid=value と gid=value
- すべてのファイルの所有者とグループを設定する
(デフォルトはカレントプロセスの
uid と gid)。
- umask=value
- umask を設定する (umask
とは許可属性のビットマスクで、立って
いない
ビットを立てたもの)。
デフォルトはカレントプロセスの
umask。 値は 8
進数で与える。
- case=lower
/ case=asis
- すべてのファイルのファイル名を小文字に変換するか、
あるいはそのままにするかを指定する
(デフォルトは case=lower)
- conv=binary
/ conv=text / conv=auto
- conv=text
が指定されると、ファイルを読み取るときに
CR を適宜削除する
(特に NL
の前にある場合)。
conv=auto
が指定されると、ファイルによって
conv=binary と conv=text
を適宜選択する。
conv=binary
が指定されると、ファイルをそのまま読み込む。
デフォルトは
conv=binary。
- nocheck
- ファイルシステムの整合性チェックに失敗しても、マウントを中断しない。
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]
/ map=o[ff] / map=a[corn]
- Rock Ridge
拡張がされていないボリュームに対して
normal が指定されると、
ファイル名の大文字が小文字の
ASCII にマップされ、
最後の `;1'
は削除され、`;'
はすべて `.'
に変換される。 map=off
が指定されると、ファイル名の変換は行わない。
norockを見よ。
デフォルトは map=normal。
map=acorn は map=normal
と似ているが、Acorn
拡張があればそれを適用する。
- mode=value
- Rock Ridge
拡張がされていないボリュームに対して、
すべてのファイルのモードを指定された値にする。
デフォルトは、すべてのユーザーに対する読み込み属性。
Linux 2.1.37 以降では、10
進数を用いなくても良くなった
(0 で始まる数値は 8
進数とみなされる)。
- unhide
- hidden
属性のファイルや、それに関連付けられたファイルも表示する。
(通常のファイルがそれに関連付けられたファイルまたは
hidden 属性のファイルと
同じファイル名である場合、通常のファイルはアクセスできなくなる。)
- block=[512|1024|2048]
- ブロックサイズを指定する。デフォルトは
block=1024。
- conv=a[uto]
/ conv=b[inary] / conv=m[text] / conv=t[ext]
- デフォルトは
conv=binary。 Linux 1.3.54
以降では、このオプションは無効となった。
またそれ以前でも binary
以外の設定は非常に危険であり、
原因不明のデータ破壊を引き起こすことがある。
- cruft
- ファイルサイズの上位バイトがゴミを含んでいる場合、
このオプションを指定することで上位バイトを無視できる。
このオプションを指定すると、ファイルの大きさは
16MB に制限される。
- session=x
- マルチセッション CD
でのセッション数を選択する
(2.3.4 以降)。
- sbsector=xxx
- セッションをセクタ
xxx から始める (2.3.4
以降)。
以下のオプションは
vfat のものと同じで、
Microsoft Joliet
拡張でエンコードされた
ディスクを使うときにしか意味がない。
- iocharset=value
- CD 上の 16 ビットの Unicode
文字を 8
ビットの文字に変換するときに用いる文字セット。
デフォルトは iso8859-1
である。
- utf8
- CD 上の 16 ビットの Unicode
文字を UTF-8
に変換する。
- iocharset=name
- Unicode から ASCII
に変換する際に使う文字セット。
デフォルトでは変換を行わない。
UTF8
変換を行う場合は、
iocharset=utf8 を使うこと。
これを行うには、カーネルの
.config ファイルに CONFIG_NLS_UTF8
が設定されている必要がある。
- resize=value
- ボリュームを value
ブロックに変更する。
JFS
ではボリュームを増やすことのみがサポートされており、
減らすことはサポートされていない。
ボリュームが読み書き可能でマウントされている場合、
このオプションは再マウントの間のみ有効である。
resize
キーワードに値を指定しないと、
ボリュームはパーティションの最大サイズまで増やされる。
- nointegrity
- ジャーナルに書き込まない。
このオプションの主な目的は、
バックアップメディアからボリュームを復旧する際に、
性能の向上を可能にすることである。
システムが異常終了した場合、ボリュームの完全性は保証されない。
- integrity
- デフォルト。
メタデータの変更をジャーナルに記録する。
以前に nointegrity
オプションが指定されたボリュームを通常の状態に戻すために
再マウントするときは、このオプションを使用すること。
- errors=continue
/ errors=remount-ro / errors=panic
- エラーが起こったときの振る舞いを指定する。
(エラーを無視し、ファイルシステムに問題があることを記録だけして続ける
/
ファイルシステムをリードオンリーでマウントしなおす
/
パニックを起こしてシステムを停止する)
- noquota /
quota / usrquota / grpquota
- これらのオプションは指定可能であるが、単に無視される。
fat
のマウントオプションを見よ。
msdos
ファイルシステムに不整合が発見されるとエラーが報告され、
ファイルシステムはリードオンリーとなる。
再マウントすることによって書き込み可能にすることができる。
nfs と同様に、ncpfs
の実装では mount
システムコールの際にバイナリの引き数
(struct ncp_mount_data) を用いる。
この引き数は ncpmount(8)
によって渡すことができる。
現在のバージョンの
mount (2.12) は ncpfs
を扱うことができない。
通常のマウントオプションにはカーネルによって解釈される
逐語的な文字列を用いるが、
nfs
ファイルシステムでは
struct nfs_mount_data
と言う型のバイナリ引き数でオプションを渡す。
mount
プログラムは以下の
`tag=value'
形式のオプションを解釈し、
その内容を上の構造体に代入する。
rsize=n, wsize=n, timeo=n,
retrans=n, acregmin=n, acregmax=n,
acdirmin=n, acdirmax=n, actimeo=n,
retry=n, port=n, mountport=n,
mounthost=name, mountprog=n,
mountvers=n, nfsprog=n, nfsvers=n,
namlen=n. オプション
addr=n
は指定可能であるが単に無視される。
以下のオプションはブール値で指定する。
no
を前置することもでき、その場合は真偽が反転する。
bg, fg, soft, hard, intr, posix,
cto, ac, tcp, udp, lock.
これらの詳細に関しては
nfs(5) を見よ。
特に便利なオプションをいくつか以下に示す。
- rsize=8192,wsize=8192
- この指定をすると nfs
コネクションは高速になる。
デフォルトのバッファサイズは
4096。 (NFSv2 は rsize や wsize
があまり大きいと動作しない。)
- hard
- サーバーがクラッシュしたとき、NFS
マウントされたファイルシステム上の
ファイルにアクセスしているプログラムはハングする。
intr
を同時に指定していなければ、プロセスは
interrupt / kill できない。 NFS
サーバが再び接続可能になると、
プログラムはその時点から何もなかったように再開する。
こちらを指定しておくと良い場合が大部分であろう。
- soft
- このオプションを指定すると
nfs
サーバがしばらく反応しなくなったとき、
カーネルはタイムアウト動作をするようになる。
時間の長さは timeo=time
で指定できる。
このオプションは、プロセスがサーバからファイルを
get するときに nfs
サーバがときどき反応しなくなったり、
リブートしたりする場合に指定すると有効かもしれない。
通常はトラブルの原因になる場合がほとんどだろう。
- nolock
- ロック動作を行わない。lockd
を起動しない。
- 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 が所有し、
他のユーザーからは読み取り不可になっている。
- uid=value と gid=value
- これらのオプションは指定可能であるが、私の知る限り効力はない。
ramfs
はメモリベースのファイルシステムである。
マウントすれば使用することができる。
アンマウントすると内容は消えてしまう。
Linux 2.3.99pre4
以降で存在する。
マウントオプションはない。
reiserfs
はジャーナリングファイルシステムである。
reiserfs
のマウントオプションは
http://www.namesys.com/mount-options.html
でもっと完全に説明されている。
- conv
- バージョン 3.6 の reiserfs
ソフトウェアに
バージョン 3.5
のファイルシステムをマウントさせる。
新しく作成されたオブジェクトには
3.6
の形式が使われる。
このようにしたファイルシステムは
reiserfs 3.5
のツールとは互換性がなくなる。
- hash=rupasov
/ hash=tea / hash=r5 / hash=detect
- reiserfs
がディレクトリ内でファイルを見付けるのに、
どのハッシュ関数を使うかを選択する。
- rupasov
- Yury Yu. Rupasov
が発明したハッシュ。
このハッシュは高速であり、
辞書順で近いファイル名を近いハッシュ値に対応づけることで
近接関係 (locality)
が保存される。
高い確率でハッシュの衝突が起こるので、このオプションは使うべきではない。
- tea
- Jeremy Fitzhardinge が実装した Davis-Meyer
関数。
ハッシュ名にハッシュ置換ビットを使う。
ランダム性が高いので、使用される
CPU
コストに対してハッシュ衝突の確率が低い。
このオプションは、r5
ハッシュで EHASHCOLLISION
エラーが起こる場合に使われる。
- r5
- rupasov
ハッシュの修正版。
デフォルトではこれが使用され、非常に多くのディレクトリや
変わったファイル名のパターンがファイルシステムにない限り、
もっとも良い選択肢である。
- detect
- 現在マウントされているファイルシステムを
mount
コマンドに調べさせ、どのハッシュ関数が使われているかを検出
(detect) させる。
さらに、この情報を
reiserfs
のスーパーブロックに書き込ませる。
古い形式のファイルシステムを初めてマウントするときにのみ役立つ。
- hashed_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
ユーティリティが取得できる。
nfs と同様に、smbfs
の実装は mount
システムコールにバイナリの引き数
(struct smb_mount_data) を用いる。
この引き数は smbmount(8)
によって渡すことができる。
現在のバージョンの
mount (2.12) は smbfs
を扱うことができない。
以下のパラメータには、Ki,
Mi, Gi
(バイナリのキロ・メガ・ギガ)
を表す サフィックス
k, m, g
をつけることができる。
また再マウントのときに変更することもできる。
- size=nbytes
- ファイルシステムのデフォルトの最大サイズを上書きする。
サイズはバイトで指定され、ページ単位になるように切り捨てられる。
デフォルトはメモリサイズの半分である。
- nr_blocks=
- ブロック数を設定する。
- nr_inodes=
- inode 数を設定する。
- mode=
- ルートディレクトリの最初の許可属性を設定する。
udf は Optical Storage Technology Association
で定義されている
"Universal Disk Format"
ファイルシステムであり、DVD-ROM
で多く使用される。
iso9660
も参照すること。
- gid=
- デフォルトのグループを設定する。
- umask=
- デフォルトの umask
を設定する。 値は 8
進数で指定する。
- uid=
- デフォルトのユーザーを設定する。
- unhide
- 隠しファイルも見せる。
- undelete
- 削除されたファイルもリストに見せる。
- nostrict
- 厳密に適合させない。
- iocharset
- NLS
文字セットを設定する。
- bs=
- ブロックサイズを設定する
(2048
以外では動作しない)。
- novrs
- ボリュームシーケンスの確認をスキップする。
- session=
- CDROM
セッションのカウントを
0 から始める。
デフォルトは最終セッション。
- anchor=
- 標準のアンカーの位置を上書きする。デフォルトは
256。
- volume=
- VolumeDesc
の位置を上書きする
(未実装)。
- partition=
- PartitionDesc
の位置を上書きする
(未実装)。
- lastblock=
- ファイルシステムの最終ブロックを設定する。
- fileset=
- fileset
ブロックの位置を上書きする
(未実装)。
- rootdir=
- ルートディレクトリの位置を上書きする
(未実装)。
- ufstype=value
- UFS は他の OS
で広く用いられているファイルシステムである。
ただし実装が OS
によって異なっているのが問題である。
ある種の実装における機能には文書化されていないものがあり、
ufs
の形式を自動的に認識するのは難しい。
したがってユーザーは
ufs
の形式をマウントオプションで指定しなければならない。
指定できる値は以下の通り:
- old
- ufs
の古い形式。これがデフォルトで、リードオンリー
(-r
オプションを忘れずに指定すること)。
- 44bsd
- BSD ライクなシステム
(NetBSD, FreeBSD, OpenBSD)
で作られたファイルシステムに用いる。
- 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]
- 現在のところはこれらのオプションはなにもしない。
エラーが起こるとコンソールメッセージが表示されるだけである。
msdos
のマウントオプションを見よ。
dotsOK オプションは umsdos
では当然無効である。
まず 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 が有効になる。 'uni_xlate'
が設定されていると
UTF8 は無効になる。
- shortname=[lower|win95|winnt|mixed]
-
8.3
形式の文字列に合うようなファイル名を
生成したり表示したりする動作を定義する。
ファイルにロングネームがある場合は、いつでも指定された動作で表示する。
以下の 4
つのモードがある:
- lower
- ショートネームを表示する際に小文字にする。
ショートネームに小文字が含まれる場合は、ロングネームで生成する。
- win95
- ショートネームを表示する際に大文字にする。
ショートネームに小文字が含まれる場合は、ロングネームで生成する。
- winnt
- ショート名をそのまま表示する。
ショートネームが全て小文字または全て大文字でない場合は、
ロングネームで生成する。
- mixed
- ショート名をそのまま表示する。
ショートネームに小文字が含まれる場合は、ロングネームで生成する。
デフォルトは "lower"
である。
- biosize=size
- バッファされる I/O
サイズを設定する
(デフォルトのサイズは
64K)。 size は、希望する
I/O サイズの (基数 2 の)
対数で表さなければならない。
このオプションに指定される有効な値は
14 〜 16 である
(つまり、16K, 32K, 64K
バイトである)。
ページサイズが 4K
バイトのマシンでは、
13 (8K バイト) も size
として有効である。
バッファされる I/O
サイズは、 ioctl(2)
システムコールを使って、各ファイル単位で変更することもできる。
- dmapi / xdsm
- DMAPI (Data Management API, データ管理 API)
イベント呼び出しを有効にする。
- logbufs=value
- メモリ内ログバッファの数を指定する。
有効な数値は 2 〜 8
の範囲である。
デフォルトの値は、
ブロックサイズが 64K
のファイルシステムには
8 バッファ、
ブロックサイズが 23K
のファイルシステムには
4 バッファ、
ブロックサイズが 16K
のファイルシステムには
3 バッファ、
他の設定では 2
バッファである。
バッファ数を増やすと、同じ実行負荷に対して性能が良くなる。
しかし、追加されるログバッファとそれに関連する制御構造体で使われる
メモリのコストがかかる。
- logbsize=value
- 各メモリ内ログバッファのサイズを設定する。
有効なサイズは 16384 (16K)
と 32768 (32K) である。
デフォルトの値は、32MB
以上のメモリを持つマシンでは
32768 である。
それ以下のマシンでは
16384
がデフォルトである。
- logdev=device
と rtdev=device
- 外部ログ
(メタデータジャーナル)
とリアルタイムデバイスの
両方または片方を使う。
XFS
ファイルシステムには、データセクション・ログセクション・
リアルタイムセクションの
3 つの部分がある。
リアルタイムセクションは省略することができる。
ログセクションはデータセクションと分離することも、
データセクションに含めることもできる。
xfs(5)
を参照すること。
- noalign
- データ割り当てをストライプユニット境界に配置しない。
- noatime
- ファイルを読み込んだときに、タイムスタンプを更新しない。
- norecovery
- ログを使った回復を実行せずにファイルシステムをマウントする。
ファイルシステムが正常にアンマウンントされなかった場合に、
norecovery
モードでマウントされると、不整合が起こりやすい。
そのため、いくつかのファイルやディレクトリにアクセスできないかもしれない。
norecovery
でマウントされるファイルシステムは、
リードオンリーでマウントしなければならない。
さもなければ、マウントに失敗するだろう。
- nouuid
- ファイルシステム uuid
を無視する。
これは重複する uuid
によるエラーを回避する。
- osyncisdsync
- O_SYNC
フラグを設定してオープンしたファイルに、
O_DSYNC
フラグが使われた場合と同じ動作で書き込む。
データの安全性を危険に晒すことなく、よりよい性能が得られる。
しかし、このオプションが有効になっている場合、
システムがクラッシュすると、
O_SYNC
書き込みによるタイムスタンプの更新が失われる。
- quota /
usrquota / uqnoenforce
- ユーザーディスク quota
のアカウントを有効にして、
制限を
(オプションとして)
守らせる。
- grpquota /
gqnoenforce
- グループディスク quota
のアカウントを有効にして、
制限を
(オプションとして)
守らせる。
- sunit=value
と swidth=value
- RAID
デバイスのストライプユニットと幅を指定する。
または、ストライプボリュームを指定する。
このオプションが指定されていない場合、
mkfs の時に RAID
デバイスに対して
ストライプボリューム・幅・ユニットを指定して
ファイルシステムが作成されていれば、
mount
システムコールは値をスーパーブロックから取り出す。
RAID
デバイス上に直接作成されたファイルシステムでは、
スーパーブロックにある情報を上書きするために、
これらのオプションを使うことができる。
ただし、ファイルシステムが作成された後で、
下層にあるディスクレイアウトが変更される場合。
sunit
オプションが指定された場合、
swidth が必要である。
swidth は sunit
の値の倍数でなければならない。
なし。xiafs
は特に欠点のないファイルシステムであるが、
あまり用いられておらず、メンテナンスされていない。
おそらく用いない方が良いだろう。
Linux のバージョン 2.1.21
以降では xiafs
はカーネルソースから削除された。
残ったタイプとしてもう
1 つ、loop
デバイスを用いたマウントがある。
例えば以下のコマンド
mount /tmp/fdimage /mnt -t msdos -o loop=/dev/loop3,blocksize=1024
は loop デバイス /dev/loop3
をファイル /tmp/fdimage
に関連付け、そしてこのデバイスを
/mnt
にマウントする。
このタイプのマウントの際には
3
つのオプションが指定できる。
loop, offset, encryption
である。
これらは実際には
losetup(8)
のオプションである。
(これらのオプションはファイルシステムタイプに固有のオプションの他に
使用することができる。)
loop
デバイスの名前をコマンドラインで省略した場合
(`-o loop'
のみを指定した場合)
は mount
はまだ使われていない
loop
デバイスを探してそれを利用する。
/etc/mtab を /proc/mounts
へのシンボリックリンクにするような馬鹿をしなければ、
mount
によって割り当てられたいずれの
loop デバイスも umount
によって解放できる。
`losetup -d' を用いれば loop
デバイスを手動で解放することもできる。
詳細は losetup(8)
を見よ。
返り値
mount
は以下のコードを返す
(ビットは OR できる):
- 0
- 成功した。
- 1
- 呼び出しやパーミッションが正しくない。
- 2
- システムエラー
(メモリ不足、fork
できなかった、loop
デバイスが足りない)。
- 4
- mount
内部のバグ、または
mount が nfs
に対応していない。
- 8
- ユーザーによる中断。
- 16
- /etc/mtab
の書き込み時またはロック時の問題がある。
- 32
- マウントに失敗した。
- 64
- (訳註: "mount -a" などで)
一部が成功した。
ファイル
- /etc/fstab
- ファイルシステムの一覧表
- /etc/mtab
- マウントされたファイルシステムの一覧表
- /etc/mtab~
- ロックファイル
- /etc/mtab.tmp
- テンポラリファイル
- /etc/filesystems
- 試行するファイルシステムタイプの一覧
関連項目
mount(2), umount(2), fstab(5),
umount(8), swapon(8), nfs(5), xfs(5),
e2label(8), xfs_admin(8), mountd(8), nfsd(8),
mke2fs(8), tune2fs(8), losetup(8)
バグ
ファイルシステムに整合性がないと、クラッシュを引き起こす場合がある。
Linux
のファイルシステムのなかには
-o sync と -o dirsync
をサポートしていないものがある。
(ext2, ext3
ファイルシステムは BSD
流の同期更新をサポートしている。
sync
オプションとともにマウントすれば良い。)
-o remount
でマウントパラメータが変更されないことがある
(例えば ext2fs
特有のパラメータは、
sb を除いてすべて remount
で変更可能であるが、
fatfs では gid や umask
を変更できない)。
ラベルまたは uuid
によるマウントは、そのデバイスの名前が
/proc/partitions
にリストされている場合にのみ可能である。
特に、カーネルが devfs
を付けてコンパイルされているにも関わらず、
devfs
がマウントされていない場合にも失敗する。
履歴
mount コマンドは Version 5
の AT&T UNIX
には存在していた。