コマンドラインのマニュアル

Man » mountのマニュアルオンライン - mount manページの詳細なオンラインドキュメント

🌍
mount - ファイルシステムをマウントします

概要

mount [-h|-V]

mount [-l] [-t fstype]

mount -a [-fFnrsvw] [-t fstype] [-O optlist]

mount [-fnrsvw] [-o options] device|mountpoint

mount [-fnrsvw] [-t fstype] [-o options] device mountpoint

mount --bind|--rbind|--move olddir newdir

mount --make-[shared|slave|private|unbindable|rshared|rslave|rprivate|runbindable] mountpoint

説明

Unixシステムでアクセス可能なすべてのファイルは、/をルートとする1つの大きなツリー構造であるファイル階層に編成されています。これらのファイルは、複数のデバイスに分散されている可能性があります。mountコマンドは、あるデバイス上のファイルシステムをこの大きなファイルツリーにアタッチするために使用されます。逆に、umount(8)コマンドは、それを再びデタッチします。ファイルシステムは、デバイスにデータを保存する方法、またはネットワークまたはその他のサービスによって仮想的に提供する方法を制御するために使用されます。

mountコマンドの標準的な形式は次のとおりです。

mount -t type device dir

これは、デバイス(タイプがtypeのファイルシステムを持つ)をディレクトリdirにアタッチするようにカーネルに指示します。オプションの-t typeはオプションです。mountコマンドは通常、ファイルシステムを検出できます。デフォルトでは、ファイルシステムをマウントするにはroot権限が必要です。詳細については、以下「非管理者によるマウント」のセクションを参照してください。dirの以前の内容(存在する場合)と所有者とモードは表示されなくなり、このファイルシステムがマウントされている限り、パス名dirはデバイス上のファイルシステムのルートを参照します。

ディレクトリまたはデバイスのみが指定された場合、たとえば:

mount /dir

mountは、/etc/fstabファイル内のマウントポイント(見つからない場合はデバイス)を検索します。--targetまたは--sourceオプションを使用して、指定された引数のあいまいな解釈を回避できます。たとえば:

mount --target /mountpoint

同じファイルシステムを複数回マウントでき、場合によっては(たとえば、ネットワークファイルシステムの場合)、同じファイルシステムを同じマウントポイントに複数回マウントできます。mountコマンドは、この動作を制御するためのポリシーを実装していません。すべての動作はカーネルによって制御され、通常はファイルシステムドライバーに固有です。例外は--allです。この場合、すでにマウントされているファイルシステムは無視されます(詳細については、--allを参照してください)。

マウントの一覧表示

リストモードは、後方互換性のためにのみ維持されています。

より堅牢でカスタマイズ可能な出力が必要な場合は、findmnt(8)を使用してください。特にスクリプトで使用する場合に推奨されます。マウントポイント名の制御文字は'?'に置き換えられます。

次のコマンドは、すべてマウントされているファイルシステム(タイプがtype)を一覧表示します。

mount [-l] [-t type]

オプションの-lは、このリストにラベルを追加します。以下を参照してください。


デバイスとファイルシステムを示す

ほとんどのデバイスは、ブロック特殊デバイスのファイル名(例:/dev/sda1)で示されますが、他の可能性もあります。たとえば、NFSマウントの場合、デバイス名は knuth.cwi.nl:/dir のようになることがあります。

ディスクパーティションのデバイス名は不安定です。ハードウェアの再構成や、デバイスの追加または削除によって、名前が変更される可能性があります。このため、UUIDやLABELなどのファイルシステムまたはパーティション識別子を使用することを強くお勧めします。現在サポートされている識別子(タグ)は次のとおりです。

LABEL=label

人間が読めるファイルシステム識別子。-L も参照してください。

UUID=uuid

ファイルシステムのユニークな識別子。UUIDの形式は通常、ハイフンで区切られた一連の16進数字です。-U も参照してください。

^ ountコマンドはUUIDを文字列として使用します。コマンドラインまたは fstab(5) からのUUIDは、内部のバイナリ表現に変換されません。UUIDの文字列表現は、小文字を使用する必要があります。

PARTLABEL=label

人間が読めるパーティション識別子。この識別子はファイルシステムに依存せず、mkfsまたはmkswap操作によって変更されません。GUIDパーティションテーブル(GPT)でサポートされています。

PARTUUID=uuid

パーティションのユニークな識別子。この識別子はファイルシステムに依存せず、mkfsまたはmkswap操作によって変更されません。GUIDパーティションテーブル(GPT)でサポートされています。

ID=id

^ devdによって生成されたハードウェアブロックデバイスID。この識別子は通常、WWN(ユニークなストレージ識別子)に基づいており、ハードウェアメーカーによって割り当てられます。詳細については、ls /dev/disk/by-id を参照してください。このディレクトリと実行中のudevdが必要です。この識別子は、汎用的な使用にはお勧めできません。識別子は厳密に定義されておらず、udevudevルール、およびハードウェアに依存するためです。

^ sblk --fsコマンドは、利用可能なブロックデバイス上のファイルシステム、LABEL、およびUUIDの概要を提供します。blkid -p <device>コマンドは、指定されたデバイス上のファイルシステムに関する詳細を提供します。

UUIDとラベルが実際に一意であるという保証はないことに注意してください。特に、デバイスを移動、共有、またはコピーした場合です。lsblk -o +UUID,PARTUUIDを使用して、システム内のUUIDが実際に一意であることを確認してください。

推奨される設定は、/dev/disk/by-{label,uuid,id,partuuid,partlabel} udevシンボリックリンクを/etc/fstabファイルで使用するのではなく、タグ(例:UUID=uuid)を使用することです。タグはより読みやすく、堅牢で、移植性があります。mount(8)コマンドは内部でudevシンボリックリンクを使用するため、/etc/fstabでシンボリックリンクを使用しても、シンボリックリンクを使用するよりも利点はありません。詳細については、libblkid(3)を参照してください。

^ rocファイルシステムは特定のデバイスに関連付けられていないため、マウントする際に、任意のキーワード(例:proc)をデバイスの指定の代わりに使うことができます。(慣例として使用されるnoneは、mountから「noneはすでにマウントされています」というエラーメッセージが出力され、混乱を招く可能性があるため、あまり良い選択肢ではありません。)

/etc/fstab/etc/mtab、および/proc/mountsファイル

^ etc/fstabファイル(fstab(5)を参照)には、通常、どのデバイスがどこに、どのオプションでマウントされるかを記述した行が含まれます。fstab(5)ファイルのデフォルトの場所は、--fstab pathコマンドラインオプションを使用してオーバーライドできます(以下で詳細を参照)。


コマンド

mount -a [-t type] [-O optlist]

(通常はブートスクリプトで指定されます)は、fstab に記載されているすべてのファイルシステムを、適切なタイプであり、適切なオプションを持っている(または持っていない)場合に、指定されたとおりにマウントします。ただし、行に `noauto` キーワードが含まれている場合は除きます。`-F` オプションを追加すると、`mount` がフォーク処理を行うため、ファイルシステムは並行してマウントされます。

fstab または mtab に記載されているファイルシステムをマウントする場合、コマンドラインでデバイスまたはマウントポイントのみを指定すれば十分です。

プログラム mountumount(8) は、通常、現在マウントされているファイルシステムのリストを /etc/mtab ファイルに保存します。デフォルトでは、従来の /etc/mtab のサポートはコンパイル時に完全に無効になります。これは、現在の Linux システムでは、/etc/mtab/proc/mounts へのシンボリックリンクにすることが推奨されるためです。ユーザー空間で保守される従来の mtab ファイルは、名前空間、コンテナー、その他の高度な Linux 機能と確実に連携できません。従来の mtab のサポートを有効にすると、ファイルとシンボリックリンクの両方を使用できます。

^ ount に引数を指定しない場合、マウントされているファイルシステムのリストが出力されます。

^ etc/fstab からマウントオプションを上書きする場合は、-o オプションを使用します。

mount device|dir -o options

この場合、コマンドラインから指定されたマウントオプションが、`/etc/fstab` のオプションリストに追加されます。このデフォルトの動作は、`--options-mode` コマンドラインオプションを使用して変更できます。通常、競合するオプションがある場合は、最後のオプションが優先されます。

^ ount プログラムは、デバイス(または LABEL、UUID、ID、PARTUUID、PARTLABEL)とディレクトリの両方をコマンドラインで指定した場合、/etc/fstab ファイルを読み取りません。たとえば、デバイス foo/dir にマウントする場合:

mount /dev/foo /dir

このデフォルトの動作は、--options-source-force コマンドラインオプションを使用して変更し、常に fstab から構成を読み取ることができます。root 以外のユーザーの場合、mount は常に fstab の構成を読み取ります。

非スーパーユーザーによるマウント

通常、ファイルシステムのマウントはスーパーユーザーのみが行えます。ただし、fstab の行に user オプションが含まれている場合、誰でも対応するファイルシステムをマウントできます。

たとえば、次の行があるとします。

/dev/cdrom /cd iso9660 ro,user,noauto,unhide

この場合、任意のユーザーは、挿入された CD-ROM 上の iso9660 ファイルシステムを次のコマンドでマウントできます。

mount /cd

^ ount は、root 以外のユーザーに対して非常に厳格であり、コマンドラインで指定されたすべてのパスは、fstab の解析やヘルパープログラムの実行前に検証されます。有効なマウントポイントを指定してファイルシステムを指定することを強くお勧めします。そうしないと、mount が失敗する可能性があります。たとえば、NFS または CIFS ソースをコマンドラインで使用することは避けてください。

util-linux 2.35 以降では、mount は、libmount の内部セキュリティルールに従ってユーザーの権限が不十分な場合でも、プログラムの実行を停止しません。代わりに、suid 権限をドロップし、通常の非 root ユーザーとして続行します。この動作は、root 権限が不要なユースケース(たとえば、FUSE ファイルシステム、ユーザー名前空間など)をサポートします。


詳細については、fstab(5) を参照してください。ファイルシステムをマウントしたユーザーのみが、再度アンマウントできます。 すべてのユーザーがアンマウントできるようにするには、fstab 行で user ではなく users を使用します。 owner オプションは user オプションと似ていますが、ユーザーは特殊ファイルの所有者でなければなりません。 これは、たとえば、ログインスクリプトでコンソールユーザーがこのデバイスの所有者になる場合、/dev/fd に役立つ場合があります。 group オプションも同様で、ユーザーは特殊ファイルのグループのメンバーでなければなりません。

username が指定されていない場合、user マウントオプションは受け入れられます。 user=someone の形式で使用すると、オプションは無視され、互換性のために外部のマウントヘルパー (/sbin/mount.) のみに表示されます。

バインドマウント操作

ファイル階層の一部を別の場所に再マウントします。コマンドは次のとおりです。

mount --bind olddir newdir

または、次の fstab エントリを使用します。

/olddir /newdir none bind

このコマンドの実行後、同じコンテンツが 2 つの場所からアクセスできるようになります。

「bind」はカーネル VFS に 2 次または特殊のノードを作成することに注意してください。 「bind」は、ファイルシステムをアタッチする別の操作にすぎません。 ファイルシステムが「bind」操作によってアタッチされたという情報はどこにも保存されていません。 olddir と newdir は独立しており、olddir はアンマウントできます。

単一のファイル (単一のファイル上) を再マウントすることもできます。 また、通常のディレクトリからマウントポイントを作成するために、bind マウントを使用することもできます。たとえば、次のコマンドを実行します。

mount --bind foo foo

bind マウントコマンドは、単一のファイルシステム (またはその一部) のみをアタッチします。サブマウントはできません。 サブマウントを含むファイル階層全体を 2 番目の場所にアタッチするには、次のコマンドを使用します。

mount --rbind olddir newdir

カーネルによって維持されるファイルシステムマウントオプションは、元のマウントポイントと同じままになります。 ユーザー空間のマウントオプション (例: _netdev) は mount によってコピーされず、マウントコマンドラインでオプションを明示的に指定する必要があります。

util-linux 2.27 以降、mount は --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、および nosymfollow の VFS エントリフラグを「remount,bind」操作で変更することもできます。他のフラグ (たとえば、ファイルシステム固有のフラグ) は無視されます。従来の mount(2) システムコールでは、マウントオプションを再帰的に変更することはできません (たとえば、-o rbind,ro)。再帰的なセマンティクスは、新しい mount_setattr(2) カーネルシステムコールで可能であり、util-linux v2.39 以降の libmount で新しい実験的な「recursive」オプション引数 (例: -o rbind,ro=recursive) としてサポートされています。詳細については、「FILESYSTEM-INDEPENDENT MOUNT OPTIONS」セクションを参照してください。


util-linux 2.31 以降、mount コマンドは、/etc/fstab で指定されたバインドフラグを、コマンドラインで -o remount が指定された場合の再マウント操作時に無視します。これは、コマンドラインでマウントオプションを完全に制御するために必要です。以前のバージョンでは、バインドフラグは常に適用され、バインドのセマンティクスと対話することなくマウントオプションを再定義することはできませんでした。このマウントの動作は、/etc/fstab ファイルで "remount,bind" が指定されている場合には影響しません。

util-linux 2.39 以降、mount コマンドは、利用可能な場合は新しいカーネルマウント API を使用できます。この新しいカーネルインターフェースは、マウントポイント属性をより正確に操作する方法を提供します。たとえば、-o bind,rw 操作は、元のノードが読み取り専用であっても、読み書き可能なノードを作成します。これは、読み取り専用の VFS フラグが元のノードから継承される、従来の mount(2) システムコールでは不可能でした。

ムーブ操作

マウントされたツリーを別の場所にアトミックに移動します。呼び出しは次のとおりです。

mount --move olddir newdir

これにより、以前は olddir に表示されていたコンテンツが、newdir でアクセスできるようになります。ファイルの物理的な場所は変更されません。olddir はマウントポイントである必要があります。

また、共有マウントの下にあるマウントを移動することは無効であり、サポートされていません。現在の伝播フラグを確認するには、findmnt -o TARGET,PROPAGATION を使用します。

共有サブツリー操作

Linux 2.6.15 以降、マウントとそのサブマウントを共有、プライベート、スレーブ、またはアンバインド可能としてマークできます。共有マウントは、マウントとアンマウントがすべてのミラー間で伝播するミラーを作成する機能を提供します。スレーブマウントは、マスターから伝播を受け取りますが、逆方向には伝播しません。プライベートマウントは、伝播機能を持っていません。アンバインド可能なマウントは、バインド操作で複製できないプライベートマウントです。詳細なセマンティクスは、カーネルソースツリーの Documentation/filesystems/sharedsubtree.txt ファイルに記載されています。また、mount_namespaces(7) も参照してください。

サポートされている操作は次のとおりです。

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 は、--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 /foo
mount --make-private /foo
mount --make-unbindable /foo

コマンドラインオプション

mount の呼び出しで使用される完全なマウントオプションのセットは、最初に fstab テーブルからファイルシステムのオプションを抽出し、次に -o 引数で指定されたオプションを適用し、最後に -r または -w オプションが存在する場合は適用することで決定されます。

mount コマンドは、すべてのコマンドラインオプションを /sbin/mount.suffix マウントヘルパーに渡しません。mount とマウントヘルパー間のインターフェースは、以下に示す EXTERNAL HELPERS セクションで説明します。

mount コマンドで使用できるコマンドラインオプションは次のとおりです。

-a, --all

fstab に記載されているすべてのファイルシステム (指定されたタイプのもの) をマウントします (noauto キーワードを含む行を除く)。ファイルシステムは、fstab 内の順序に従ってマウントされます。mount コマンドは、ファイルシステムのソース、ターゲット (および bind マウントまたは btrfs の fs ルート) を比較して、すでにマウントされているファイルシステムを検出します。すでにマウントされているファイルシステムのカーネルテーブルは、mount --all の実行中にキャッシュされます。これは、重複した fstab エントリがすべてマウントされることを意味します。

正しい機能は、/proc (すでにマウントされているファイルシステムを検出するため) と /sys (UUID= または LABEL= などのファイルシステムタグを評価するため) に依存します。/proc および /sys ファイルシステムを mount -a を実行する前にマウントするか、/proc および /sys を fstab の先頭に配置することを強くお勧めします。

--all オプションは、リマウントオペレーションにも使用できます。この場合、すべてのフィルター (-t および -O) が、すでにマウントされているファイルシステムのテーブルに適用されます。

バージョン 2.35 以降、コマンドラインオプション -o を使用して、fstab からマウントオプションを変更できます (また、--options-mode も参照)。

mount -a を使用して fstab をチェックすることは、推奨されません。推奨されるソリューションは、findmnt --verify です。

-B, --bind

サブツリーを別の場所に再マウントします (その内容は両方の場所で利用可能になります)。上記、Bind マウントオペレーションを参照してください。

-c, --no-canonicalize

マウントプロセス中に、パスまたはタグを正規化しません。mount コマンドは、コマンドラインまたは fstab からのすべてのパスを自動的に正規化します。このオプションは、mount -i を呼び出すマウントヘルパーで使用できます。通常のマウントオペレーションでは、このコマンドラインオプションを使用しないことを強くお勧めします。X-mount.nocanonicalize マウントオプションも参照してください。


-F, --fork
    (-a と組み合わせて使用します。)各デバイスに対して新しい mount プロセスのインスタンスをフォークします。これにより、異なるデバイスまたは異なる NFS サーバーのマウントを並行して実行できます。利点としては、処理速度が向上すること、および NFS タイムアウトが並行して処理されることが挙げられます。欠点としては、マウント操作の順序が定義されないことが挙げられます。したがって、/usr と /usr/spool の両方をマウントする場合は、このオプションを使用できません。

-f, --fake
    実際のマウント関連システムコールを実行するすべての処理を行います。--fake オプションは、もともと /etc/mtab にエントリを書き込み、実際にはマウントしないように設計されました。

/etc/mtab はユーザー空間で管理されなくなっており、バージョン 2.39 以降、マウント操作は、システムコール間の依存関係を持つ複雑な一連の操作になる可能性があります。--fake オプションは、すべてのマウントソースの準備、マウントオプションの解析、および実際のマウントプロセスをスキップするように libmount に強制します。

fake 実行と non-fake 実行の間には大きな違いがあります。これが、--fake オプションが現在の mount(8) 実装にとって重要性が低く、主に後方互換性のために維持されている理由です。

-i, --internal-only
    存在する場合でも、/sbin/mount.filesystem ヘルパーを呼び出さない。

-L, --label label
    指定されたラベルを持つパーティションをマウントします。

-l, --show-labels
    マウント出力にラベルを追加します。これを行うには、mount にディスクデバイスを読み取る権限が必要です(たとえば、set-user-ID root に設定されている必要があります)。ext2、ext3、または ext4 のラベルは、e2label(8) ユーティリティを使用して設定できます。XFS の場合は xfs_admin(8) を使用し、reiserfs の場合は reiserfstune(8) を使用します。

-M, --move
    サブツリーを別の場所に移動します。上記、The move operation セクションを参照してください。

-m, --mkdir[=mode]
    ターゲットディレクトリ(マウントポイント)が存在しない場合は作成します。これは、"-o X-mount.mkdir[=mode]" のエイリアスであり、デフォルトのモードは 0755 です。詳細については、X-mount.mkdir を参照してください。

--map-groups, --map-users inner:_outer_:_count_
    X-mount.idmap マップに、指定されたユーザー/グループのマッピングを追加します。これらのオプションを複数回使用して、ユーザーとグループの完全なマッピングを構築できます。詳細については、X-mount.idmap を参照してください。

--map-users /proc/PID/ns/user
    ID マッピングされたマウントで、指定されたユーザー名前空間をユーザーとグループのマッピングに使用します。これは、"-o X-mount.idmap=/proc/PID/ns/user" のエイリアスであり、inner:_outer_:_count_ 形式のオプションと組み合わせて 2 回使用したりすることはできません。詳細については、X-mount.idmap を参照してください。

-n, --no-mtab
    /etc/mtab に書き込まずにマウントします。たとえば、/etc が読み取り専用のファイルシステム上にある場合に必要です。

-N, --namespace ns
指定された名前空間でマウント操作を実行します。ns は、その名前空間で実行されているプロセスの PID、またはその名前空間を表す特別なファイルです。

mount は、/etc/fstab を読み込み、/etc/mtab (または /run/mount) に書き込み、mount(2) を呼び出すときに、マウント名前空間に切り替わります。それ以外の場合は、元のマウント名前空間で実行されます。これは、ターゲットの名前空間に、mount(2) 呼び出しの実行に必要なライブラリまたはその他の要件が含まれている必要がないことを意味します。

詳細については、mount_namespaces(7) を参照してください。

-O, --test-opts opts
-a オプションが適用されるファイルシステムのセットを制限します。この点では、-t オプションと似ていますが、-O は -a なしでは役に立ちません。たとえば、次のコマンド:

mount -a -O no_netdev

/etc/fstab ファイルのオプションフィールドで netdev オプションが指定されているファイルシステムを除いて、すべてのファイルシステムをマウントします。

-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

オプションの順序が重要です。競合するオプションがある場合は、最後のオプションが優先されます。コマンドラインからのオプションは、デフォルトで fstab のオプションを上書きします。

詳細については、FILESYSTEM-INDEPENDENT MOUNT OPTIONS および FILESYSTEM-SPECIFIC MOUNT OPTIONS のセクションを参照してください。

--onlyonce
mount コマンドに、ファイルシステムがすでにマウントされているかどうかを確認させます。これは、--all の場合のデフォルトの動作です。それ以外の場合は、カーネルのファイルシステムドライバによって異なります。一部のファイルシステムは、同じマウントポイントに複数回マウントできます (例: tmpfs)。

--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
デバイスとディレクトリの両方が指定されている場合でも、fstab/mtab からのオプションを使用します。

-R, --rbind
サブツリーと可能なすべてのサブマウントを別の場所に再マウントします (これにより、そのコンテンツを両方の場所で使用できるようになります)。上記、「Bind マウント操作」のセクションを参照してください。

-r, --read-only
ファイルシステムを読み取り専用でマウントします。-o ro と同じです。

ただし、ファイルシステムのタイプ、状態、およびカーネルの動作によっては、システムはデバイスに書き込み続ける場合があります。たとえば、ext3 および ext4 は、ファイルシステムがダーティーな場合、ジャーナルを再実行します。これを防ぐために、ext3 または ext4 ファイルシステムを ro、noload マウントオプションでマウントするか、ブロックデバイス自体を読み取り専用モードに設定することをお勧めします。blockdev(8) コマンドを参照してください。

-s

サポートされていないファイルシステムタイプによるマウントオプションのエラーを無視します。すべてのファイルシステムがこのオプションをサポートしているわけではありません。現在、これは mount.nfs マウントヘルパーでのみサポートされています。

--source device

マウントコマンドに1つの引数しか指定されていない場合、その引数はターゲット(マウントポイント)またはソース(デバイス)として解釈される可能性があります。このオプションを使用すると、引数をマウントソースとして明示的に定義できます。

--target directory

マウントコマンドに1つの引数しか指定されていない場合、その引数はターゲット(マウントポイント)またはソース(デバイス)として解釈される可能性があります。このオプションを使用すると、引数をマウントターゲットとして明示的に定義できます。

--target-prefix directory

指定されたディレクトリをすべてのマウントターゲットにプレフィックスとして追加します。このオプションは、fstab を追従しながら、別の場所でマウント操作を実行する場合に使用できます。

mount --all --target-prefix /chroot -o X-mount.mkdir

これにより、システム `fstab` からすべてのマウントが `/chroot` に行われ、不足しているマウントポイントはすべて作成されます(`X-mount.mkdir` のため)。`--fstab` を使用して、別の `fstab` を使用することもできます。

-T, --fstab path

別の fstab ファイルを指定します。パスがディレクトリの場合、ディレクトリ内のファイルは strverscmp(3) でソートされます。. で始まるファイル、または .fstab 拡張子を持たないファイルは無視されます。このオプションは、標準のシステム構成を超えて、追加の構成を指定する必要がある initramfs または chroot スクリプトで使用することを目的としています。

`mount` コマンドは、`--fstab` オプションを `/sbin/mount.type` ヘルパーに渡さないことに注意してください。つまり、代替の `fstab` ファイルはヘルパーから見えなくなります。これは通常のマウントでは問題ありませんが、ユーザー(非 root ユーザー)のマウントでは、ユーザーの権限を検証するために `fstab` が常に必要です。

-t, --types fstype

^ t の後の引数は、ファイルシステムタイプを示すために使用されます。現在サポートされているファイルシステムタイプは、実行中のカーネルによって異なります。完全なリストについては、/proc/filesystems および /lib/modules/$(uname -r)/kernel/fs を参照してください。最も一般的なものは、ext2ext3ext4xfsbtrfsvfatsysfsprocnfs、および cifs です。

`mount` および [umount]({filename}../../umount)(8) プログラムは、ファイルシステムサブタイプをサポートします。サブタイプは、`.subtype` サフィックスで定義されます。たとえば、`fuse.sshfs` です。マウントソースに任意のプレフィックスを追加する(たとえば、`sshfs#example.com`)のではなく、サブタイプ表記を使用することをお勧めします。これは非推奨です。

`-t` オプションが指定されていない場合、または `auto` タイプが指定された場合、`mount` は目的のタイプを推測しようとします。`mount` は、ファイルシステムタイプを推測するために `libblkid(3)` ライブラリを使用します。それが何も適切なものを検出しない場合、`mount` はファイル `/etc/filesystems` を読み込み、次に `/proc/filesystems` を読み込みます(`/etc/filesystems` が存在しない場合)。そこにリストされているすべてのファイルシステムタイプは、`nodev`(例:`devpts`、`proc`、`nfs`)とラベル付けされているものを除くすべてに対して試されます。`/etc/filesystems` が最後に単一の `*` を含む行で終わる場合、`mount` はその後 `/proc/filesystems` を読み込みます。試行中に、すべてのファイルシステムタイプは、`mount` オプション `silent` を付けてマウントされます。

自動タイプは、ユーザーがマウントするフロッピーディスクで役立つ場合があります。/etc/filesystemsファイルを作成すると、プローブの順序を変更する(例:vfatmsdosより先に、ext3ext2より先に試す)場合や、カーネルモジュール自動ローダーを使用する場合に役立ちます。

^ tオプションまたは/etc/fstabエントリで、複数のタイプをカンマ区切りのリストで指定できます。-tオプションのファイルシステムタイプのリストは、noで始まるようにして、アクションを実行しないファイルシステムタイプを指定できます。noというプレフィックスは、/etc/fstabエントリで指定された場合には効果がありません。

^ oというプレフィックスは、-aオプションと共に意味を持ちます。たとえば、次のコマンドは

mount -a -t nomsdos,smbfs

^ sdossmbfs以外のすべてのファイルシステムをマウントします。

ほとんどのタイプの場合、mountプログラムは単純なmount(2)システムコールを発行するだけでよく、ファイルシステムのタイプに関する詳細な知識は必要ありません。ただし、いくつかのタイプ(nfsnfs4cifssmbfsncpfsなど)では、アドホックなコードが必要です。nfsnfs4cifssmbfs、およびncpfsファイルシステムには、個別のmountプログラムがあります。すべてのタイプを一貫して処理できるように、mountはタイプtypeで呼び出されたときに、/sbin/mount.type(存在する場合)プログラムを実行します。異なるバージョンのsmbmountプログラムには異なる呼び出し規約があるため、/sbin/mount.smbfsは、目的の呼び出しを設定するシェルスクリプトである必要があります。

^ U, --uuid uuid 指定されたuuidを持つパーティションをマウントします。

^ v, --verbose 詳細モードを有効にします。バージョン2.41以降、新しいカーネルmountAPIが利用可能な場合、カーネルの情報メッセージも出力します。

^ w, --rw, --read-write ファイルシステムを読み取り/書き込みでマウントします。読み取り/書き込みはカーネルのデフォルトであり、mountのデフォルトは、書き込み保護されたデバイスまたはすでに読み取り専用でマウントされているファイルシステムに対して、読み取り専用でmount(2)システムコールを試すことです。

^ w-o rwの同義語です。

コマンドラインで-wを指定すると、mountは書き込み保護されたデバイスまたはすでに読み取り専用でマウントされているファイルシステムに対して、読み取り専用マウントを試行しないように強制されます。

^ h, --help ヘルプテキストを表示して終了します。

^ V, --version バージョンを表示して終了します。

ファイルシステムに依存しないマウントオプション

これらのオプションのいくつかは、/etc/fstabファイルにのみ役立ちます。

これらのオプションの一部は、システムカーネルでデフォルトで有効または無効にできます。現在の設定を確認するには、/proc/mountsのオプションを参照してください。ファイルシステムには、ファイルシステムごとのデフォルトのマウントオプションも存在することに注意してください(たとえば、extNファイルシステムのtune2fs -l出力など)。


仮想ファイルシステムに関する注意点

仮想ファイルシステム (VFS) は、カーネル内の抽象レイヤーであり、ユーザー空間プログラムにファイルシステムインターフェースを提供します。 また、カーネル内でさまざまなファイルシステムの実装を共存させる抽象化も提供します。 一部のマウントオプションは、このレイヤーにのみ適用されます。

^ osuidnoexecnodiratimerelatimenoatimestrictatime、および nosymfollow オプションは、仮想ファイルシステムカーネルレイヤーによってのみ解釈され、ファイルシステム自体ではなく、マウントポイントノードに適用されます。 ファイルシステムと VFS オプションの完全な概要を取得するには、次を使用してください。

findmnt -o TARGET,VFS-OPTIONS,FS-OPTIONS

バージョン 2.39 以降、libmount は新しいカーネルマウントインターフェイスを使用して、VFS 属性を再帰的に設定できます。 互換性を維持するために、この機能は、再帰操作 (例: rbind) が要求された場合でも、デフォルトでは有効になっていません。 新しいオプション引数 recursive を指定できます。例:

mount -orbind,ro=recursive,noexec=recursive,nosuid /foo /bar

これにより、/foo から /bar にファイルシステムを再帰的にバインドし、/bar とすべてのサブマウントを読み取り専用および noexec にしますが、/bar 自体には nosuid のみが適用されます。 VFS マウントオプションのオプション引数 recursive は、実験的な機能です。

読み取り専用設定に関する注意点

読み取り専用設定 (ro または rw) は、仮想ファイルシステムとファイルシステムの両方によって解釈され、mount(8) コマンドラインでオプションがどのように指定されるかに依存します。 互換性を維持するために、標準のマウント操作では、デフォルトでは両方のレイヤーで使用されます。

^ o bind,remount,ro 操作は、VFS マウントポイントにのみ適用されますが、-o remount,ro 操作は、VFS とファイルシステムスーパーブロックの両方に適用されます。 このセマンティクスにより、ファイルシステムを別のマウントポイントから書き込み可能な状態に保ちながら、読み取り専用のマウントポイントを作成できます。

バージョン 2.41 以降、libmount はオプションの引数 vfsfs (例: ro=fs) を使用して、読み取り専用設定を適用する場所を指定できます。 たとえば、次のコマンドを使用します。

mount -o ro=vfs /dev/sdc1 /A

これにより、ファイルシステムはスーパーブロックレベルで読み取り/書き込みとしてマウントされますが、/A ノードは読み取り専用として設定されます。 以前のバージョンでは、これには追加の -o bind,remount,ro 操作が必要でした。

一般的なマウントオプション

次のオプションは、マウントされているすべてのファイルシステムに適用されますが、すべてのファイルシステムが実際にこれらのオプションを尊重するわけではありません。 たとえば、sync オプションは、ext2ext3ext4fatvfatufs、および xfs ファイルシステムでのみ効果があります。

async

ファイルシステムへのすべての I/O は、非同期的に実行する必要があります。 ( sync オプションも参照してください。)

atime

^ oatime 機能を使用せず、inode アクセス時間はカーネルのデフォルトによって制御されます。 relatime および strictatime マウントオプションの説明も参照してください。

noatime

このファイルシステムで inode アクセス時間を更新しないでください (例: ニューススプールの高速アクセスにより、ニュースサーバーを高速化します)。 これはすべての inode タイプ (ディレクトリも含む) に適用されるため、nodiratime が暗示されます。


auto

-a オプションでマウントできます。

noauto

明示的にのみマウントできます(つまり、-a オプションは、ファイルシステムがマウントされることはありません)。

context=context, fscontext=context, defcontext=context, および rootcontext=context

context= オプションは、拡張属性をサポートしていないファイルシステム(VFAT でフォーマットされたフロッピーディスクまたはハードディスクなど)や、通常 SELinux の下で実行されていないシステム(ext3 または ext4 でフォーマットされた非 SELinux ワークステーションからのディスクなど)、または信頼できないファイルシステム(フロッピーディスクなど)をマウントする場合に役立ちます。また、xattr をサポートするファイルシステムを、古い 2.4. カーネルバージョンで使用する場合にも役立ちます。xattr がサポートされている場合でも、すべてのファイルをラベル付けする必要がなくなるため、ディスク全体にセキュリティコンテキストを割り当てることで、時間を節約できます。

一般的に、リムーバブルメディアで使用されるオプションは、context="system_u:object_r:removable_t" です。

fscontext= オプションは、xattr のサポートの有無にかかわらず、すべてのファイルシステムで機能します。fscontext オプションは、ファイルシステムのオーバーオールなラベルを特定のセキュリティコンテキストに設定します。このファイルシステムラベルは、個々のファイルのラベルとは別に存在します。これは、マウント時またはファイル作成時に実行される特定の種類のパーミッションチェック中に、ファイルシステム全体を表します。個々のファイルのラベルは、ファイル自体の xattr から引き続き取得されます。context オプションは、実際には fscontext が提供する集約コンテキストを設定し、個々のファイルにも同じラベルを供給します。

defcontext= オプションを使用して、ラベル付けされていないファイルのデフォルトのセキュリティコンテキストを設定できます。これは、ポリシーで設定されたラベル付けされていないファイルの値に優先し、xattr ラベル付けをサポートするファイルシステムが必要です。

rootcontext= オプションを使用すると、マウントされるファイルシステムまたは inode がユーザー領域に表示される前に、マウントされるファイルシステムのルート inode のラベルを明示的に設定できます。これは、ステートレス Linux のような場合に役立つことがわかっています。特別な値 @target を使用して、ターゲットのマウントポイントの現在のコンテキストを割り当てることができます。

カーネルは、現在のコンテキストから変更されていない場合でも、context オプションを含む再マウント要求を拒否することに注意してください。

警告:context の値にコンマが含まれている場合、その値を適切に引用符で囲む必要があります。そうしないと、mount はコンマをマウントオプション間の区切り文字として解釈します。シェルは引用符を削除するため、二重引用符で囲むことを忘れないでください。たとえば、次のようにします。

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

このファイルシステムのディレクトリのinodeアクセス時間を更新します。これがデフォルトです。(noatimeが設定されている場合は、このオプションは無視されます。)

nodiratime

このファイルシステム上のディレクトリのinodeアクセス時間を更新しません。(noatimeが設定されている場合、このオプションが暗黙的に適用されます。)

dirsync

このファイルシステム内のすべてのディレクトリ更新は、同期的に実行する必要があります。これは、次のシステムコールに影響します:creat(2)、link(2)、unlink(2)、symlink(2)、mkdir(2)、rmdir(2)、mknod(2)、およびrename(2)。

exec

このファイルシステム上のバイナリおよびその他の実行可能ファイルの実行を許可します。

noexec

このファイルシステム上で、バイナリを直接実行することを許可しません。

group

通常のユーザーが、そのユーザーのいずれかのグループが、デバイスのグループと一致する場合に、ファイルシステムをマウントできるようにします。このオプションは、nosuidおよびnodevオプションを暗黙的に適用します(ただし、group,dev,suidのような後続のオプションでオーバーライドできます)。

iversion

inodeが変更されるたびに、i_versionフィールドが増加します。

noiversion

i_version inodeフィールドを増加させません。

mand

このファイルシステム上で、強制ロックを許可します。fcntl(2)を参照してください。このオプションはLinux 1で非推奨になりました。

nomand

このファイルシステム上で、強制ロックを許可しません。

_netdev

ファイルシステムは、ネットワークアクセスを必要とするデバイス上にあります(システムがこれらのファイルシステムをマウントしようとする前に、システム上でネットワークが有効になっている必要があるようにするために使用されます)。

nofail

このデバイスが存在しない場合に、エラーを報告しません。

relatime

inodeアクセス時間を、変更または更新時間に対して相対的に更新します。アクセス時間が、現在の変更または更新時間以前である場合にのみ、アクセス時間が更新されます。(noatimeに似ていますが、mutt(1)や、最後にファイルが変更されてから読まれたかどうかを知る必要がある他のアプリケーションを壊しません。)

Linux 2.6.30以降、カーネルはデフォルトでこのオプションによって提供される動作を使用します(noatimeが指定されている場合を除く)、および、従来のセマンティクスを取得するには、strictatimeマウントオプションが必要です。さらに、Linux 2.6.30以降、ファイルの最終アクセス時間が1日以上経過している場合、ファイルの最終アクセス時間は常に更新されます。

norelatime

relatime機能を使用しません。strictatimeマウントオプションも参照してください。

strictatime

完全なatime更新を明示的に要求できるようにします。これにより、カーネルはデフォルトでrelatimeまたはnoatimeを使用できますが、ユーザー空間からオーバーライドできます。デフォルトのシステムマウントオプションの詳細については、/proc/mountsを参照してください。

nostrictatime

カーネルのinodeアクセス時間のデフォルトの動作を使用します。

lazytime

ファイルのinodeのインメモリバージョンでのみ、時間を更新します(atime、mtime、ctime)。

このマウントオプションは、頻繁なランダム書き込みを行う、事前に割り当てられたファイルに対するワークロードの場合、inodeテーブルへの書き込みを大幅に削減します。

オンディスクのタイムスタンプは、次の場合にのみ更新されます。

inodeが、ファイルタイムスタンプとは関係のない何らかの変更のために更新される必要がある場合

アプリケーションは fsync(2)、syncfs(2)、または sync(2) を使用します。

削除されていない inode がメモリから削除されます。

inode がディスクに書き込まれてから 24 時間以上経過しています。

nolazytime
lazytime 機能を使用しないでください。

suid
このファイルシステムからプログラムを実行するときに、set-user-ID および set-group-ID ビットまたはファイル機能を尊重します。

nosuid
set-user-ID および set-group-ID ビットまたはファイル機能を尊重しないでください。さらに、SELinux ドメイン移行には、nosuid_transition 権限が必要であり、これは、nnp_nosuid_transition ポリシー機能も必要とします。

silent
サイレントフラグをオンにします。

loud
サイレントフラグをオフにします。

owner
デバイスの所有者がそのファイルシステムをマウントできることを許可します。このオプションは、nosuid および nodev オプションを暗黙的に示します (owner,dev,suid などの後続のオプションでオーバーライドされない場合)。

remount
すでにマウントされているファイルシステムを再マウントしようとします。これは通常、ファイルシステムのマウントフラグを変更するためによく使用され、特に読み取り専用ファイルシステムを書き込み可能にします。デバイスまたはマウントポイントは変更されません。

再マウント操作と bind フラグを組み合わせると、特別な意味を持ちます。上記、「Bind マウント操作」のサブセクションを参照してください。

VFS マウントフラグ (nodev、nosuid、noexec、ro) に対するデフォルトのカーネル動作は、再マウント時に指定されていないすべてのフラグをリセットすることです。そのため、mount(8) は fstab または /proc/self/mountinfo に従って現在の設定を保持しようとします。このデフォルトの動作は、--options-mode を使用して変更できます。再帰的なマウントフラグの変更 (v2.39 以降のシステムで mount_setattr(2) システムコールを使用してサポートされています。たとえば、mount -o remount,ro=recursive) は、「未指定のフラグをリセットする」動作を使用せず、単純な追加/削除操作として機能し、未指定のフラグは変更されません。

再マウント機能は、mount コマンドが fstab からのオプションでどのように機能するかという標準的な方法に従います。これは、mount が fstab (または mtab) を読み取らないのは、デバイスとディレクトリの両方が指定されている場合のみであることを意味します。

mount -o remount,rw /dev/foo /dir

この呼び出しの後、すべての古いマウントオプションが置き換えられ、fstab (または mtab) からの任意のものが無視されます。ただし、loop= オプションは内部的に生成され、mount コマンドによって維持されます。

mount -o remount,rw /dir

この呼び出しの後、mount は fstab を読み取り、コマンドライン (-o) からのオプションとマージします。fstab にマウントポイントが見つからない場合は、/proc/self/mountinfo からデフォルトのマウントオプションが使用されます。

mount は、--all を使用して、指定されたフィルター (-O および -t) に一致するすべての既存のマウントされたファイルシステムを再マウントできます。たとえば、次のようにします。

mount --all -o remount,ro -t vfat

これにより、すべての既存のマウントされた vfat ファイルシステムが読み取り専用モードで再マウントされます。各ファイルシステムは、mount -o remount,ro /dir セマンティクスを使用して再マウントされます。これは、mount コマンドが fstab または mtab を読み取り、コマンドラインからのオプションとマージすることを意味します。

ro[=(recursive|vfs|fs)]
ファイルシステムを読み取り専用でマウントします。オプションの引数は、ファイルディスクリプタベースのカーネルマウント API でのみサポートされる実験的な機能であり、古い mount(2) システムコールに対しては無視されます。

再帰的な引数は、VFS属性を再帰的に適用させます。

vfsとfsの引数は、読み取り専用フラグを適用するレイヤーを指定します。fsは、ファイルシステムスーパーブロック(カーネル内の固有のファイルシステムインスタンス)を指定し、vfsは、マウントノードを指定します。属性が指定されていない場合、両方のレイヤーが読み取り専用に設定されます。

詳細については、「読み取り専用設定に関する注意」セクションを参照してください。

rw[=(recursive|vfs|fs)]

ファイルシステムを読み書き可能としてマウントします。

sync

ファイルシステムに対するすべてのI/Oは、同期的に実行される必要があります。書き込みサイクル数が限られているメディア(一部のフラッシュドライブなど)の場合、syncはライフサイクルを短縮する可能性があります。

user

通常ユーザーがファイルシステムをマウントできるようにします。マウントしたユーザーの名前は、mtabファイル(または/run/mountにあるプライベートなlibmountファイル)に書き込まれるため、同じユーザーが再びファイルシステムをアンマウントできます。このオプションは、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(8)または他の操作でも利用できます。ユーザー空間でマウントオプションを維持することはトリッキーです。libmountベースのツールを使用する必要があり、オプションが常に利用できるとは限りません(たとえば、move mount操作後または分離された名前空間内)。

util-linux v2.30より前のバージョンでは、x-オプションはlibmountによって維持され、ユーザー空間に保存されていませんでした(現在のX-オプションと同じ機能)。ただし、initrd、systemdなどの使用例が増加したため、既存のfstab構成を、変更なしで使用できるように、この機能を拡張しました。

X-mount.auto-fstypes=list

自動ファイルシステム検出で許可または禁止するファイルシステムの種類を指定します。

リストは、ファイルシステム名のカンマ区切りのリストです。"auto"ファイルシステムタイプを使用する場合、またはファイルシステムタイプが指定されていない場合に、自動ファイルシステム検出がトリガーされます。

リストは、mountがタイプパターンを評価する方法に従います(-tの詳細を参照してください)。指定されたファイルシステムタイプのみが許可されるか、リストが"no"で始まる場合、指定されたすべてのタイプが禁止されます。


たとえば、X-mount.auto-fstypes="ext4,btrfs" は ext4 と btrfs のみを許可し、X-mount.auto-fstypes="novfat,xfs" は vfat と xfs を除くすべてのファイルシステムを許可します。

コンマはマウントオプションの区切り文字として使用されるため、auto-fstypes の値は適切に引用符で囲む必要があります。シェルは引用符を取り除くため、二重引用符を使用することを忘れないでください。たとえば、次のようになります。

mount -t auto -o 'X-mount.auto-fstypes="noext2,ext3"' /dev/sdc1 /mnt/test

^ -mount.mkdir[=mode] ターゲットディレクトリ(マウントポイント)が存在しない場合に作成します。オプションの引数 mode は、8進表記で [mkdir]({filename}../../mkdir)(2) で使用されるファイルシステムアクセスモードを指定します。デフォルトのモードは 0755 です。この機能は、root ユーザーの場合、または suid 権限なしで mount が実行された場合にのみサポートされます。このオプションは、x-mount.mkdir の形式でもサポートされますが、これは v2.30 以降では非推奨です。--mkdir コマンドラインオプションも参照してください。

^ -mount.nocanonicalize[=type] マウント元とターゲットパスの正規化を無効にします。デフォルトでは、mount コマンドはすべてのパスをシンボリックリンクなしの絶対パスに解決します。ただし、シンボリックリンクを介したマウントや、シンボリックリンクまたは別のシンボリックリンクを介したディレクトリのマウントなど、特定の場合にはこの動作が望ましくない場合があります。オプションの引数 type は、"source" または "target"(マウントポイント)にすることができます。タイプが指定されていない場合は、両方のタイプの正規化が無効になります。このマウントオプションは、ソースタグ(例:LABEL= または UUID=)の変換や fstab の処理には影響しません。

コマンドラインオプション --no-canonicalize は、このマウントオプションをオーバーライドし、すべてのパスとタグ変換に影響を与えますが、後方互換性のために、open_tree システムコールフラグを変更したり、シンボリックリンクを介したバインドマウントの使用を許可したりすることはありません。

^ ount(8) は、非 root ユーザーがコマンドラインで指定するマウント元とターゲットパスを常にサニタイズおよび正規化することに注意してください。X-mount.nocanonicalize の設定に関係なくです。

^ -mount.noloop マウント元が通常のファイルの場合でも、ループデバイスを作成およびマウントしません。

^ -mount.subdir=directory ファイルシステムのサブディレクトリではなく、ファイルシステムのサブディレクトリをマウントできるようにします。これは、ファイルシステムの新しいインスタンスがシステムにアタッチされた場合にのみ有効です。このオプションは、リマウント、バインドマウント、または移動などの操作では無視されます。

現時点では、この機能は、共有されていない名前空間内のテンポラリなファイルシステムルートディレクトリをマウントし、次にサブディレクトリを最終的なマウントポイントにバインドし、ファイルシステムのルートをアンマウントすることで実装されます。サブディレクトリマウントは、残りのシステムに対してアトミックに表示されますが、これは複数の mount(2) システムコールによって実装されます。

この機能は、共有されていないプライベートマウント名前空間を持つセッション(unshare --mount の後)または、ファイル記述子ベースのマウントカーネル API をサポートしていない古いカーネルでは機能しないことに注意してください。この場合、unshare --mount --propagation shared を使用する必要があります。


この機能は実験的です。

X-mount.owner=username|UID, X-mount.group=group|GID

マウントポイントの所有者をマウント後に設定します。名前はターゲットのマウント名前空間で解決されます。 -Nを参照してください。

X-mount.mode=mode

マウントポイントのモードをマウント後に設定します。

X-mount.idmap=id-type:id-mount:id-host:id-range [id-type:id-mount:id-host:id-range],
X-mount.idmap=file

このオプションを使用して、IDマッピングされたマウントを作成します。IDマッピングされたマウントを使用すると、ユーザー名前空間に関連付けられたIDマッピングに従って、マウントの下にあるすべてのファイルの所有権を変更できます。 所有権の変更は、マウントのライフサイクルに結び付けられ、関連するマウントにローカル化されます。 関連するIDマッピングは、次の2つの方法で指定できます。

ユーザーは、IDマッピングを直接指定できます。

IDマッピングは、id-type:id-mount:id-host:id-rangeという構文を使用して指定する必要があります。 id-typeのプレフィックスとしてuを指定すると、UIDマッピングが作成され、gを指定するとGIDマッピングが作成され、id-typeを指定しないか、bを指定すると、UIDとGIDの両方のマッピングが作成されます。id-mountパラメータは、新しいマウントの開始IDを示します。id-hostパラメータは、ファイルシステム内の開始IDを示します。id-rangeパラメータは、マッピングするIDの数を示します。複数のIDマッピングを指定できます。

個々のIDマッピングは、スペースで区切る必要があります。/etc/fstabファイルでは、スペースがフィールド間のセパレータとして解釈されることに注意してください。これを回避するには、\040を使用してスペースをエスケープする必要があります。たとえば、X-mount.idmap=0:0:1\040500:1000:1。

たとえば、IDマッピングX-mount.idmap=u:1000:0:1 g:1001:1:2 5000:1000:2は、UID 0がUID 1000に、GID 1がGID 1001に、GID 2がGID 1002に、UIDとGID 1000がUIDとGID 5000に、UIDとGID 1001がUIDとGID 5001にマッピングされるIDマッピングされたマウントを作成します。

IDマッピングを直接指定すると、要求されたIDマッピングを持つ新しいユーザー名前空間が割り当てられます。新しく作成されたユーザー名前空間はマウントにアタッチされます。

ユーザーは、ユーザー名前空間ファイルを指定できます。

次に、ユーザー名前空間がマウントにアタッチされ、ユーザー名前空間のIDマッピングがマウントのIDマッピングになります。

たとえば、X-mount.idmap=/proc/PID/ns/userは、プロセスPIDのユーザー名前空間をマウントにアタッチします。

nosymfollow

パスを解決するときにシンボリックリンクをたどらないでください。シンボリックリンクは作成でき、readlink(1)、readlink(2)、realpath(1)、およびrealpath(3)はすべて正常に機能します。

ファイルシステム固有のマウントオプション

このセクションには、特定のファイルシステムに固有のオプションがリストされています。可能な限り、最初にファイルシステム固有のマニュアルページを参照して詳細を確認してください。いくつかのページは、次の表にリストされています。

┌──────────────────┬───────────────┐
│                  │               │
│ Filesystem(s)    │ Manual page   │
├──────────────────┼───────────────┤
│                  │               │
│ btrfs            │ btrfs(5)      │
├──────────────────┼───────────────┤
│                  │               │
│ cifs             │ mount.cifs(8) │
├──────────────────┼───────────────┤
│                  │               │
│ ext2, ext3, ext4 │ ext4(5)       │
├──────────────────┼───────────────┤
│                  │               │

│ fuse │ fuse(8) │ ├──────────────────┼───────────────┤ │ │ │ │ nfs │ nfs(5) │ ├──────────────────┼───────────────┤ │ │ │ │ tmpfs │ tmpfs(5) │ ├──────────────────┼───────────────┤ │ │ │ │ xfs │ xfs(5) │ └──────────────────┴───────────────┘


上記のページの一部は、対応する ユーザーランドツールをインストールした後にのみ利用可能になる場合があります。

以下のオプションは、特定のファイルシステムにのみ適用されます。ファイルシステムごとに並べて表示します。すべてのオプションは、-o フラグの後に続きます。

サポートされているオプションは、実行中のカーネルによって多少異なります。詳細は、カーネルソースの Documentation/filesystems サブディレクトリにある、ファイルシステム固有のファイルで確認できます。

adfs のマウントオプション

uid=value および gid=value

ファイルシステム内のファイルの所有者とグループを設定します(デフォルト:uid=gid=0)。

ownmask=value および othmask=value

ADFS の「所有者」権限と「その他」権限のパーミッションマスクを設定します(デフォルト:それぞれ 0700 および 0077)。詳細は、 /usr/src/linux/Documentation/filesystems/adfs.rst を参照してください。

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に設定し、その後このオプションをクリアします。奇妙な…

verbose

正常にマウントされた各操作について、情報メッセージを出力します。

prefix=string

シンボリックリンクをたどるときに使用する、ボリューム名の前のプレフィックス。

volume=string

シンボリックリンクをたどるときに使用する、'/'の前のプレフィックス(最大長は30文字)。

reserved=value

(デフォルト:2。)デバイスの先頭にある未使用ブロックの数。

root=value

ルートブロックの場所を明示的に指定します。

bs=value

ブロックサイズを指定します。許可される値は512、1024、2048、4096です。

grpquota|noquota|quota|usrquota

これらのオプションは受け入れられますが、無視されます。(ただし、/etc/fstab内のクォータユーティリティはこの文字列に反応する可能性があります。)

debugfsのマウントオプション

debugfsファイルシステムは、伝統的に/sys/kernel/debugにマウントされる疑似ファイルシステムです。カーネルバージョン3.4以降、debugfsには次のオプションがあります。

uid=n, gid=n

マウントポイントの所有者とグループを設定します。

mode=value

マウントポイントのモードを設定します。

devptsのマウントオプション

devptsファイルシステムは、伝統的に/dev/ptsにマウントされる疑似ファイルシステムです。擬似ターミナルを取得するには、プロセスが/dev/ptmxを開きます。擬似ターミナルの番号はプロセスに提供され、擬似ターミナルのスレーブは/dev/pts/<番号>としてアクセスできます。

uid=value および gid=value

これにより、新しく作成された擬似ターミナルの所有者またはグループが、指定された値に設定されます。何も指定されていない場合、作成プロセスのUIDとGIDに設定されます。たとえば、GIDが5のttyグループがある場合、gid=5と指定すると、新しく作成された擬似ターミナルはttyグループに属するようになります。

mode=value

新しく作成された擬似ターミナルのモードを指定された値に設定します。デフォルトは0600です。mode=620およびgid=5の値を指定すると、新しく作成された擬似ターミナルでは、デフォルトでmesg yが設定されます。

newinstance

devptsファイルシステムのプライベートインスタンスを作成し、この新しいインスタンスで割り当てられた擬似ターミナルのインデックスを、他のdevptsインスタンスで作成されたインデックスから独立させます。

^ ewinstanceオプションなしでdevptsをマウントすると、すべてのマウントは同じセットの擬似ターミナルインデックスを共有します(レガシーモード)。newinstanceオプションを指定してdevptsをマウントするたびに、個別の擬似ターミナルインデックスのセットが作成されます。

このオプションは主に、Linuxカーネルでコンテナをサポートするために使用されます。Linuxカーネルバージョン2.6.29以降で実装されています。さらに、このマウントオプションは、カーネル構成でCONFIG_DEVPTS_MULTIPLE_INSTANCESが有効になっている場合にのみ有効です。

このオプションを効果的に使用するには、/dev/ptmxpts/ptmxへのシンボリックリンクである必要があります。詳細については、LinuxカーネルソースツリーのDocumentation/filesystems/devpts.txtを参照してください。

ptmxmode=value

devptsファイルシステム内の新しいptmxデバイスノードのモードを設定します。

複数のdevptsインスタンスをサポートする機能(上記のnewinstanceオプションを参照)により、各インスタンスはdevptsファイルシステムのルート(通常は/dev/pts/ptmx)にプライベートのptmxノードを持ちます。


古いカーネルバージョンとの互換性のために、新しい ptmx ノードのデフォルトモードは 000 です。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 です。値は 8 進数で指定します。

dmask=value

ディレクトリにのみ適用される umask を設定します。デフォルトは、現在のプロセスの umask です。値は 8 進数で指定します。

fmask=value

通常ファイルにのみ適用される umask を設定します。デフォルトは、現在のプロセスの umask です。値は 8 進数で指定します。

allow_utime=value

このオプションは、mtime/atime の権限チェックを制御します。

2 現在のプロセスがファイルのグループ 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

デバッグフラグをオンにします。バージョン文字列とファイルシステムパラメーターのリストが出力されます(これらのデータは、パラメーターが矛盾しているように見える場合にも出力されます)。


discard

設定すると、ブロックが解放されたときに、ブロックデバイスに対して discard/TRIM コマンドが発行されます。 これは、SSD デバイスやスパース/シンプロビジョニングされた LUN に役立ちます。

dos1xfloppy

設定すると、デバイスサイズに基づいて、DOS 1.x で使用される既定の BIOS パラメータブロック構成が使用されます。 これらの静的なパラメータは、160 KiB、180 KiB、320 KiB、および 360 KiB のフロッピーディスクおよびフロッピーディスクイメージに対して、DOS 1.x が想定する既定値と一致します。

errors={panic|continue|remount-ro}

FAT で重大なエラーが発生した場合の動作を指定します:panic(パニック)、何もしない、またはパーティションを読み取り専用モードで再マウントします(デフォルトの動作)。

fat={12|16|32}

12 ビット、16 ビット、または 32 ビットの FAT を指定します。 これは、自動 FAT タイプ検出ルーチンをオーバーライドします。 注意して使用してください!

iocharset=value

8 ビット文字と 16 ビット Unicode 文字との間で変換するために使用する文字セット。 デフォルトは iso8859-1 です。 長いファイル名は、ディスクに Unicode 形式で保存されます。

nfs={stale_rw|nostale_ro}

FAT ファイルシステムを NFS でエクスポートする場合は、これを有効にします。

stale_rw: このオプションは、ディレクトリ inode のインデックス(キャッシュ)を維持し、NFS 関連コードで使用して検索を改善します。 NFS を介した完全なファイル操作(読み取り/書き込み)はサポートされていますが、NFS サーバーでキャッシュを削除すると、不要な ESTALE エラーが発生する可能性があります。

nostale_ro: このオプションは、inode 番号とファイルハンドルを、FAT ディレクトリエントリ内のファイルのディスク上の場所に基づいて作成します。 これにより、ファイルが inode キャッシュから削除された後に ESTALE が返されることはありません。 ただし、これにより、rename、create、および unlink などの操作によって、以前は 1 つのファイルを指していたファイルハンドルが、別のファイルを指すようになり、データが破損する可能性があります。 この理由から、このオプションはファイルシステムを読み取り専用でマウントします。

互換性を維持するために、-o nfs も受け入れられ、デフォルトで stale_rw が使用されます。

tz=UTC

このオプションは、FAT で使用されるローカル時間(Windows で使用)と、Linux が内部で使用する UTC との間でタイムスタンプを変換することを無効にします。 これは、UTC に設定されたデバイス(デジタルカメラなど)をマウントする場合に特に役立ち、ローカル時間の落とし穴を回避します。

time_offset=minutes

FAT で使用されるローカル時間から UTC に変換するためのオフセットを設定します。 つまり、各タイムスタンプから minutes を減算して、Linux が内部で使用する UTC に変換します。 これは、カーネルで settimeofday(2) を使用して設定されたタイムゾーンが、ファイルシステムで使用されるタイムゾーンと異なる場合に役立ちます。 ただし、このオプションを使用しても、夏時間がある場合は、すべてのケースで正しいタイムスタンプが得られるわけではありません。夏時間が異なる設定になっている場合、タイムスタンプは 1 時間ずれる可能性があります。

quiet

quiet フラグを有効にします。 ファイルの chown または chmod の実行はエラーを返しませんが、実際には失敗します。 注意して使用してください!

rodir
FAT には ATTR_RO(読み取り専用)属性があります。 Windows では、ディレクトリの ATTR_RO は無視され、カスタマイズされたフォルダーのフラグとしてアプリケーションによってのみ使用されます。

ディレクトリに対しても、読み取り専用フラグとして ATTR_RO を使用する場合は、このオプションを設定します。

showexec

設定されている場合、ファイルの実行権限ビットは、ファイル名の拡張子が .EXE.COM、または .BAT である場合にのみ許可されます。デフォルトでは設定されていません。

sys_immutable

設定されている場合、FAT 上の ATTR_SYS 属性は、Linux 上の IMMUTABLE フラグとして扱われます。デフォルトでは設定されていません。

flush

設定されている場合、ファイルシステムは通常よりも早くディスクにフラッシュしようとします。デフォルトでは設定されていません。

usefree

^ SINFO に保存されている「空きクラスタ」の値を使用します。ディスクをスキャンせずに、空きクラスタの数を決定するために使用されます。ただし、最近の 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

マウントする CD-ROM セッションを選択します。デフォルトでは、CD-ROM ドライバに判断を委ねます。 このオプションは、CD-ROM を基盤とするデバイスでのみ機能し、それ以外の場合は失敗します。

part=n

デバイスからパーティション番号 n を選択します。CD-ROM でのみ意味があります。デフォルトでは、パーティションテーブルを解析しません。

quiet

無効なマウントオプションについて不満を言わないようにします。

hpfs のマウントオプション

uid=value および gid=value

すべてのファイルとディレクトリの所有者とグループを設定します。(デフォルト: 現在のプロセスの UID と GID)

umask=value

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拡張機能の使用を無効にします(利用可能な場合でも)。Cf. map。

nojoliet

Microsoft Joliet拡張機能の使用を無効にします(利用可能な場合でも)。Cf. map。

check={r[elaxed]|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の場合、名前変換は行われません。cf. norock。(デフォルト:map=normal)。map=acornはmap=normalと似ていますが、存在する場合はAcorn拡張機能も適用します。

mode=value

Rock Ridge拡張機能を使用しないボリュームの場合、すべてのファイルに指定されたモードを設定します。(デフォルト:すべてに対して読み取りおよび実行権限)。8進モード値を使用するには、先頭に0を付ける必要があります。

unhide

隠しファイルと関連ファイルをすべて表示します。(通常のファイルと関連ファイルまたは隠しファイルが同じファイル名の場合、通常のファイルにアクセスできなくなる可能性があります)。

block={512|1024|2048}

ブロックサイズを、指定された値に設定します。(デフォルト:block=1024)。

conv=mode

このオプションは廃止され、失敗するか、無視される可能性があります。

cruft

ファイルの長さの最上位バイトに他のガベージが含まれている場合は、このマウントオプションを設定して、ファイル長の最上位ビットを無視します。これにより、ファイルサイズは16MBを超えることはありません。

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

ボリュームを指定された値のブロック数にリサイズします。JFSはボリュームを縮小することはできません。このオプションは、ボリュームが読み取り/書き込みでマウントされているリマウント中にのみ有効です。resizeキーワードに値がない場合、ボリュームはパーティションの最大サイズに拡張されます。

nointegrity

ジャーナルへの書き込みを行いません。このオプションの主な用途は、バックアップメディアからボリュームを復元する際に、より高いパフォーマンスを実現できるようにすることです。システムが異常終了した場合、ボリュームの整合性は保証されません。

integrity

デフォルト。メタデータへの変更をジャーナルにコミットします。nointegrityオプションを以前に指定してマウントされたボリュームをリマウントし、通常の状態に戻すには、このオプションを使用します。


errors={continue|remount-ro|panic}

エラーが発生した場合の動作を定義します。エラーを無視してファイルシステムをエラー状態としてマークし続けるか、ファイルシステムを読み取り専用で再マウントするか、システムをパニックさせて停止します。

noquota|quota|usrquota|grpquota

これらのオプションは受け入れられますが、無視されます。

msdos ファイルシステムのマウントオプション

fat のマウントオプションを参照してください。msdos ファイルシステムで矛盾が検出されると、エラーが報告され、ファイルシステムが読み取り専用に設定されます。ファイルシステムは、再マウントすることで再び書き込み可能になります。

ncpfs ファイルシステムのマウントオプション

nfs と同様に、ncpfs 実装では、mount(2) システムコールへのバイナリ引数(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 以降、overlay 疑似ファイルシステムは、他のファイルシステムのユニオンマウントを実装します。

overlay ファイルシステムは、上位ファイルシステムと下位ファイルシステムの 2 つのファイルシステムを結合します。両方のファイルシステムに同じ名前のオブジェクトが存在する場合、上位ファイルシステム内のオブジェクトが表示され、下位ファイルシステム内のオブジェクトは非表示になるか、ディレクトリの場合は上位オブジェクトとマージされます。

下位ファイルシステムは、Linux でサポートされている任意のファイルシステムであり、書き込み可能である必要はありません。下位ファイルシステムは、別の overlayfs であっても構いません。上位ファイルシステムは通常、書き込み可能であり、書き込み可能な場合は、trusted.* 拡張属性の作成をサポートし、readdir 応答で有効な d_type を提供する必要があります。したがって、NFS は適切ではありません。

読み取り専用の 2 つの読み取り専用ファイルシステムの読み取り専用 overlay は、任意のファイルシステムタイプを使用できます。オプション lowerdir と upperdir は、次のように結合してマージされたディレクトリを作成します。

mount -t overlay overlay \
-olowerdir=/lower,upperdir=/upper,workdir=/work /merged

lowerdir=directory

任意のファイルシステムであり、書き込み可能なファイルシステムにある必要はありません。


upperdir=directory

upperdir は通常、書き込み可能なファイルシステム上にあります。

workdir=directory

workdir は、upperdir と同じファイルシステム上にある空のディレクトリである必要があります。

userxattr

「user.overlay.」という拡張属性の名前空間を使用します。代わりに「trusted.overlay.」を使用します。これは、権限のないユーザーによる overlayfs のマウントに役立ちます。

redirect_dir={on|off|follow|nofollow}

redirect_dir 機能が有効になっている場合、ディレクトリはコピーされて上層に移動されます(ただし、コンテンツは移動されません)。次に、「{trusted|user}.overlay.redirect」という拡張属性が、overlay のルートからの元の場所のパスに設定されます。最後に、ディレクトリは新しい場所に移動されます。

on

リダイレクトが有効になります。

off

リダイレクトは作成されず、「redirect_always_follow」機能がカーネル/モジュール構成で有効になっている場合にのみ追跡されます。

follow

リダイレクトは作成されず、追跡されます。

nofollow

リダイレクトは作成されず、追跡もされません(「redirect_always_follow」機能が有効になっていない場合、「redirect_dir=off」と同じです)。

index={on|off}

Inode インデックス。この機能が無効になっている場合、複数のハードリンクを持つファイルがコピーされると、リンクが「壊れます」。変更は、同じ inode を参照する他の名前に伝播されません。

uuid={on|off}

下位/上層/ワークディレクトリがすべて同じファイルシステム上にある場合、ファイルハンドルの基になるファイルシステムの UUID を null に置き換え、効果的に UUID チェックを無効にすることができます。そうでない場合は、通常どおりの動作に戻ります。

nfs_export={on|off}

基になるファイルシステムが NFS エクスポートをサポートし、「nfs_export」機能が有効になっている場合、overlay ファイルシステムを NFS にエクスポートできます。

「nfs_export」機能を使用すると、下位オブジェクトをコピーするたびに、インデックスディレクトリにインデックスエントリが作成されます。インデックスエントリの名前は、コピー元のファイルハンドルの 16 進数表現です。ディレクトリオブジェクトでない場合、インデックスエントリは上層 inode へのハードリンクです。ディレクトリオブジェクトの場合、インデックスエントリには拡張属性「{trusted|user}.overlay.upper」があり、上層ディレクトリ inode のエンコードされたファイルハンドルが含まれています。

overlay ファイルシステムオブジェクトからファイルハンドルをエンコードする場合、次のルールが適用されます。

下位オブジェクトでない場合、下位 inode から下位ファイルハンドルをエンコードします。

インデックスが付けられたオブジェクトの場合、コピー元の下位ファイルハンドルをエンコードします。

純粋な上層オブジェクト、および既存の非インデックスの上層オブジェクトの場合、上層 inode から上層ファイルハンドルをエンコードします。

エンコードされた overlay ファイルハンドルには、次が含まれます。

パスの種類情報(下位/上層など)を含むヘッダー。

基になるファイルシステムの UUID。

基になる inode の基になるファイルシステムエンコード。

このエンコード形式は、拡張属性「{trusted|user}.overlay.origin」に保存されているファイルハンドルのエンコード形式と同じです。overlay ファイルハンドルをデコードする場合、次の手順を実行します。

UUID とパスの種類情報を使用して、基になるレイヤーを検索します。

ファイルシステムファイルハンドルを、基になるデントリにデコードします。

より下位のファイルハンドルについて、インデックスディレクトリで名前を検索します。

インデックスにホワイトアウトが見つかった場合、ESTALEを返します。これは、ファイルハンドルがエンコードされた後に削除されたオーバーレイオブジェクトを表します。

ディレクトリでない場合、デコードされた基になるデントリ、パスタイプ、および見つかったインデックスinodeから、切断されたオーバーレイデントリをインスタンス化します。

ディレクトリの場合、接続された基になるデコードされたデントリ、パスタイプ、およびインデックスを使用して、接続されたオーバーレイデントリを検索します。

ディレクトリでないファイルのハンドルをデコードすると、切断されたデントリが返される場合があります。その切断されたデントリをコピーアップすると、上部のインデックスエントリが作成され、上部のエイリアスはなくなります。

オーバーレイファイルシステムに複数の下位レイヤーがある場合、中間レイヤーのディレクトリは、下位のディレクトリへの「リダイレクト」を持つ場合があります。中間レイヤーの「リダイレクト」はインデックス化されないため、エンコードされた「リダイレクト」元のディレクトリから取得した下位のファイルハンドルを使用して、中間または上部のレイヤーのディレクトリを検索することはできません。同様に、エンコードされた「リダイレクト」元のディレクトリのサブディレクトリから取得した下位のファイルハンドルを使用して、接続されたオーバーレイパスを再構築することもできません。ディレクトリを、下位のファイルハンドルからデコードできない場合に備えて、これらのディレクトリはコピーアップされ、上部のファイルハンドルとしてエンコードされます。上部レイヤーのないオーバーレイファイルシステムでは、この軽減策は使用できません。NFSのエクスポートでは、この設定でリダイレクトの追跡をオフにする必要があります(例:redirect_dir=nofollow)。

オーバーレイファイルシステムは、ディレクトリでない接続可能なファイルハンドルをサポートしていません。したがって、subtree_checkエクスポートfs構成でエクスポートすると、NFS経由でのファイルのルックアップが失敗します。

NFSエクスポート機能が有効になっている場合、すべてのディレクトリインデックスエントリはマウント時に検証され、上部のファイルハンドルが古いものではないことを確認します。この検証は、場合によっては大きなオーバーヘッドを引き起こす可能性があります。

注:index=offnfs_export=onのmountオプションは、読み書きmountの場合、競合するためエラーが発生します。

^ ino={on|off|auto} 「xino」機能は、実際のオブジェクトのst_inoと基になるfsidインデックスから、一意のオブジェクト識別子を構成します。 「xino」機能は、基になるファイルシステムが通常、上位のinode番号ビットを使用しないため、上位のinode番号ビットをfsidに使用します。 基になるinode番号が上位のxinoビットにオーバーフローした場合、オーバーレイファイルシステムはそのinodeに対して、xinoを使用しない動作に戻ります。

詳細については、https://docs.kernel.org/filesystems/overlayfs.htmlを参照してください。

^ etacopy={on|off} メタデータのみのコピーアップ機能が有効になっている場合、オーバーレイfsは、chown/chmodなどのメタデータ固有の操作が実行されたときに、メタデータのみ(ファイル全体ではない)をコピーアップします。完全なファイルは、ファイルが書き込み用に開かれたときに、後でコピーアップされます。

言い換えれば、これは遅延データコピーアップ操作であり、データは実際にデータを変更する必要があるときにコピーアップされます。


volatile

揮発性マウントでは、クラッシュ時にデータが確実に保持されるわけではありません。揮発性マウントは、オーバーレイに書き込まれたデータを容易に再作成できる場合にのみ使用することを強くお勧めします。

「volatile」オプションでマウントする利点は、上層ファイルシステムへのすべての種類の同期呼び出しが省略されることです。

誤った安心感を与えないように、揮発性マウントの syncfs(および fsync)のセマンティクスは、VFS の他の部分とはわずかに異なります。揮発性マウント後に上層ディレクトリのファイルシステムで書き込みエラーが発生した場合、すべての同期関数はエラーを返します。この状態になると、ファイルシステムは回復せず、その後のすべての同期呼び出しはエラーを返します。上層ディレクトリで新しいエラーが発生していなくても同様です。

オーバーレイが「volatile」オプションでマウントされると、ディレクトリ $workdir/work/incompat/volatile が作成されます。次のマウント時に、オーバーレイはこのディレクトリをチェックし、存在する場合はマウントを拒否します。これは、ユーザーが上層および作業ディレクトリを破棄し、新しいものを再作成する必要があることを示す強力な指標です。非常に限られたケース(システムがクラッシュしておらず、上層ディレクトリの内容が損なっていないことがわかっている場合)には、「volatile」ディレクトリを削除できます。

reiserfs のマウントオプション

reiserfs はジャーナリングファイルシステムです。

conv

バージョン 3.6 の reiserfs ソフトウェアに、バージョン 3.5 のファイルシステムをマウントし、新しく作成されたオブジェクトに対して 3.6 形式を使用するように指示します。このファイルシステムは、reiserfs 5tools と互換性がなくなります。

hash={rupasov|tea|r5|detect}

reiserfs がディレクトリ内のファイルを検索するために使用するハッシュ関数を選択します。

rupasov

Yury Yu. Rupasov が考案したハッシュです。高速でローカリティを保持し、辞書順に近いファイル名を近いハッシュ値にマッピングします。このオプションは使用しないでください。ハッシュの衝突の確率が高くなります。

tea

Jeremy Fitzhardinge によって実装された Davis-Meyer 関数です。名前のビットをハッシュ化します。高いランダム性と、したがって低いハッシュの衝突確率を実現しますが、CPU コストがかかります。r5 ハッシュで EHASHCOLLISION エラーが発生する場合は、これを使用できます。

r5

rupasov ハッシュの改良版です。デフォルトで使用され、ファイルシステムに巨大なディレクトリと珍しいファイル名パターンがない限り、最適な選択肢です。

detect

マウント時に、マウントされているファイルシステムを調べて使用されているハッシュ関数を検出し、この情報を reiserfs スーパーブロックに書き込むように指示します。これは、古い形式のファイルシステムを最初にマウントする場合にのみ役立ちます。

hashed_relocation

ブロックアロケーターを調整します。特定の状況でパフォーマンスが向上する可能性があります。

no_unhashed_relocation

ブロックアロケーターを調整します。特定の状況でパフォーマンスが向上する可能性があります。

noborder

Yury Yu. Rupasov が考案した境界アロケーターアルゴリズムを無効にします。特定の状況でパフォーマンスが向上する可能性があります。

nolog

ジャーナリングを無効にします。これにより、特定の状況でわずかなパフォーマンスの向上が得られますが、reiserfs の高速なクラッシュからの回復機能が失われます。このオプションがオンになっている場合でも、reiserfs はジャーナリング領域への実際の書き込みを除いて、すべてのジャーナリング操作を実行します。nolog の実装は進行中です。


notail

デフォルトでは、reiserfs は小さいファイルと「ファイルの末尾」をツリーに直接保存します。 これは、lilo(8) などの一部のユーティリティを混乱させます。 このオプションは、ファイルをツリーにパックする機能を無効にするために使用されます。

replayonly

ジャーナル内のトランザクションを再生しますが、ファイルシステムを実際にマウントしません。 主に reiserfsck によって使用されます。

resize=number

オンラインでの reiserfs パーティションの拡張を許可するリマウントオプション。 reiserfs に、デバイスが指定された数のブロックを持つと想定するように指示します。 このオプションは、論理ボリュームマネージャー (LVM) の下にあるデバイスで使用するように設計されています。 特別なリサイザーユーティリティは、ftp://ftp.namesys.com/pub/reiserfsprogs から入手できます。

user_xattr

拡張ユーザー属性を有効にします。 attr(1) のマニュアルページを参照してください。

acl

POSIX アクセス制御リストを有効にします。 acl(5) のマニュアルページを参照してください。

barrier=none / barrier=flush

ジャーナリングコードでの書き込みバリアの使用を無効にします / 有効にします。 barrier=none は無効にします。 barrier=flush は有効にします (デフォルト)。 これには、バリアをサポートできる I/O スタックも必要であり、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

バルクリードを有効にします。 VFS の読み込み先読みは無効になります。これはファイルシステムを遅くするからです。 バルクリードは内部の最適化です。 一部のフラッシュメモリでは、データを一度にまとめて読み取る方が、複数の読み込み要求よりも高速に読み取ることができます。 たとえば、OneNAND は、1 つの NAND ページ以上を読み取る場合、「読み込みながらロード」を実行できます。

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=<ユーザー> と組み合わせて指定すると、UDF はメディアに uid を保存しなくなります。実際には、保存される uid は、UDF 標準で定義されている 32 ビットオーバーフロー uid -1 です。値は、有効なユーザー名である <ユーザー>、または対応する 10 進ユーザー ID、または特別な文字列 "forget" として指定します。

gid=

ファイルシステム内のすべてのファイルを、指定されたグループに属するようにします。gid=forget を、(通常は) gid=<グループ> と組み合わせて指定すると、UDF はメディアに gid を保存しなくなります。実際には、保存される gid は、UDF 標準で定義されている 32 ビットオーバーフロー gid -1 です。値は、有効なグループ名である <グループ>、または対応する 10 進グループ ID、または特別な文字列 "forget" として指定します。

umask=

ファイルシステムから読み取ったすべての inode から、指定されたパーミッションをマスクします。値は 8 進数で指定します。

mode=

mode= が設定されている場合、ファイルシステムから読み取ったすべての非ディレクトリ inode のパーミッションが、指定された mode に設定されます。値は 8 進数で指定します。

dmode=

dmode= が設定されている場合、ファイルシステムから読み取ったすべてのディレクトリ inode のパーミッションが、指定された dmode に設定されます。値は 8 進数で指定します。

bs=

ブロックサイズを設定します。2.6.30 より前のカーネルバージョンでは、デフォルト値は 2048 でした。2.6.30 以降、4.11 より前では、論理デバイスブロックサイズで、フォールバックは 2048 でした。4.11 以降では、論理ブロックサイズで、フォールバックは論理デバイスブロックサイズと 4096 の間の有効なブロックサイズになります。

その他の詳細については、mkudffs(8) 2.0+ のマニュアルページ、および COMPATIBILITY と BLOCK SIZE のセクションを参照してください。

unhide

通常は非表示になっているファイルを表示します。

undelete

削除されたファイルをリストに表示します。

adinicb

inode にデータを埋め込みます (デフォルト)。

noadinicb

inode にデータを埋め込まないようにします。

shortad

短い UDF アドレス記述子を使用します。

longad

長い UDF アドレス記述子を使用します (デフォルト)。

nostrict

厳密な準拠を解除します。

iocharset=

NLS 文字セットを設定します。これには、CONFIG_UDF_NLS オプションでコンパイルされたカーネルが必要です。

utf8

UTF-8 文字セットを設定します。

デバッグおよび災害復旧のためのマウントオプション

novrs

ボリューム認識シーケンスを無視して、それでもマウントを試みます。

session=

マルチセッションで記録された光学メディアのセッション番号を選択します (デフォルト=最後のセッション)。

anchor=

標準のアンカー位置をオーバーライドします (デフォルト=256)。

lastblock=

ファイルシステムの最後のブロックを設定します。

使用されなくなった履歴マウントオプションであり、削除する必要があります

uid=ignore

無視され、uid=<ユーザー> を使用してください。


gid=ignore

無視されます。gid=<グループ> の代わりにこれを使用してください。

volume=

実装されておらず、無視されます。

partition=

実装されておらず、無視されます。

fileset=

実装されておらず、無視されます。

rootdir=

実装されておらず、無視されます。

UFSのマウントオプション

ufstype=値
UFSは、さまざまなオペレーティングシステムで広く使用されているファイルシステムです。問題は、実装間の違いです。一部の実装の機能はドキュメント化されておらず、そのためUFSの種類を自動的に認識することが困難です。このため、ユーザーはマウントオプションでUFSの種類を指定する必要があります。可能な値は次のとおりです。

old
古い形式のUFS。これがデフォルトであり、読み取り専用です。(`-r`オプションを必ず指定してください。)

44sd
BSDライクなシステム(NetBSD、FreeBSD、OpenBSD)によって作成されたファイルシステム。

ufs2
FreeBSD 5.xで使用され、読み書き両方で使用できます。

5bsd
`ufs2`の同義語。

sun
SunOSまたはSparc上のSolarisによって作成されたファイルシステム。

sunx86
x86上のSolarisによって作成されたファイルシステム。

hp
HP-UXによって作成されたファイルシステム(読み取り専用)。

nextstep
NeXTステーション上のNeXTStepによって作成されたファイルシステム(現在は読み取り専用)。

nextstep-cd
NeXTStep CD-ROM(`block_size == 2048`)用(読み取り専用)。

openstep
OpenStepによって作成されたファイルシステム(現在は読み取り専用)。同じファイルシステムタイプはmacOSでも使用されます。

onerror=値
エラー発生時の動作を設定します。

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
まず、ファイル名が8.3文字に収まるように、シーケンス番号なしで短い名前を作成してから、`name~num.ext`を試します。

utf8
UTF8は、コンソールで使用されるファイルシステムセーフな8ビットUnicodeエンコードです。このオプションでファイルシステムで有効にしたり、`utf8=0`、`utf8=no`、または`utf8=false`で無効にしたりできます。
`uni_xlate`が設定されている場合、UTF8は無効になります。

shortname=モード
8.3文字に収まるファイル名の作成と表示の動作を定義します。長いファイル名が存在する場合、常に表示に優先されます。モードは4つあります。

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

ファイルデバイスの所有者、グループ、およびモードを設定します (デフォルト: uid=gid=0、mode=0444)。モードは 8 進数で指定します。

DM-VERITY のサポート

device-mapper verity ターゲットは、カーネルの暗号化 API を使用して、ブロックデバイスの読み取り専用の透過的な整合性チェックを提供します。マウントコマンドは、dm-verity デバイスを開き、ファイルシステムをマウントする前に整合性検証を実行できます。libcryptsetup が libmount に含まれている必要があります (オプションで dlopen(3) を介して)。libcryptsetup がすでにマウントされているデバイスのルートハッシュを抽出できる場合、一致するものが見つかれば、既存のデバイスが自動的に再利用されます。dm-verity のマウントオプション:

verity.hashdevice=path

ソースボリュームに関連付けられたハッシュツリーデバイスへのパスを dm-verity に渡します。

verity.roothash=hex

verity.hashdevice のルートの 16 進数エンコードされたハッシュ。verity.roothashfile と相互に排他的です。

verity.roothashfile=path

verity.hashdevice のルートの 16 進数エンコードされたハッシュを含むファイルへのパス。verity.roothash と相互に排他的です。

verity.hashoffset=offset

ハッシュツリーデバイスがソースボリュームに埋め込まれている場合、dm-verity はツリーにアクセスするために使用するオフセットです (デフォルト: 0)。

verity.fecdevice=path

ソースボリュームに関連付けられた前方誤り訂正 (FEC) デバイスへのパスを dm-verity に渡します。オプション。CONFIG_DM_VERITY_FEC が有効になっているカーネルが必要です。

verity.fecoffset=offset

FEC デバイスがソースボリュームに埋め込まれている場合、dm-verity は FEC エリアにアクセスするために使用するオフセットです (デフォルト: 0)。オプション。

verity.fecroots=value

FEC のパリティバイト数 (デフォルト: 2)。オプション。

verity.roothashsig=path

ルートハッシュの 16 進数文字列の pkcs7(1ssl) 署名へのパス。cryptsetup の crypt_activate_by_signed_key() と、CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG が有効になっているカーネルが必要です。デバイスを再利用するには、署名は、デバイスのすべてのマウントで使用するか、まったく使用しないかのいずれかである必要があります。オプション。

verity.oncorruption=ignore|restart|panic

カーネルに、破損が検出されたときに無視、再起動、またはパニックするように指示します。デフォルトでは、I/O 操作は単に失敗します。Linux 4.1 以降と、libcryptsetup 2.3.4 以降が必要です。オプション。


util-linux v2.35 以降でサポートされています。

例:

mksquashfs /etc /tmp/etc.raw
veritysetup format /tmp/etc.raw /tmp/etc.verity --root-hash-file=/tmp/etc.roothash
openssl smime -sign -in /tmp/etc.roothash -nocerts -inkey private.key \
-signer private.crt -noattr -binary -outform der -out /tmp/etc.roothash.p7s
mount -o verity.hashdevice=/tmp/etc.verity,verity.roothashfile=/tmp/etc.roothash,\
verity.roothashsig=/tmp/etc.roothash.p7s /tmp/etc.raw /mnt

/etc ディレクトリから squashfs イメージを作成し、verity ハッシュデバイスを作成し、検証済みのファイルシステムイメージを /mnt にマウントします。roothashsig が使用されている場合、カーネルは、ルートハッシュがカーネルキーリングからのキーによって署名されていることを検証します。

ループデバイスサポート

もう1つの可能なタイプは、ループデバイスを介したマウントです。たとえば、次のコマンド:

mount /tmp/disk.img /mnt -t vfat -o loop=/dev/loop3

は、/tmp/disk.img ファイルに対応するようにループデバイス /dev/loop3 を設定し、次にこのデバイスを /mnt にマウントします。

明示的なループデバイスが指定されていない場合(ただし、-o loop オプションのみが与えられている場合)、mount は未使用のループデバイスを見つけて使用しようとします。例:

mount /tmp/disk.img /mnt -o loop

mount コマンドは、ファイルシステムタイプが指定されていない場合、またはファイルシステムが libblkid で認識されている場合、通常ファイルを自動的にループデバイスとして作成します。例:

mount /tmp/disk.img /mnt

mount -t ext4 /tmp/disk.img /mnt

このタイプのマウントは、losetup(8) のオプションである loop、offset、および sizelimit の3つのオプションを認識します。(これらのオプションは、ファイルシステムタイプに固有のオプションに加えて使用できます。)

Linux 2.6.25 以降、ループデバイスの自動破棄がサポートされており、mount によって割り当てられたすべてのループデバイスは、/etc/mtab に関係なく、umount によって解放されます。

losetup -d または umount -d を使用して、手動でループデバイスを解放することもできます。

util-linux v2.29 以降、mount は、同じオフセットと sizelimit を持つループデバイスに対して同じバックアップファイルがすでに使用されている場合、新しいデバイスを初期化するのではなく、ループデバイスを再利用します。これは、ファイルシステムの破損を防ぐために必要です。

終了ステータス

mount には、次の終了ステータス値があります(ビットを OR 演算できます)。

0   成功

1   誤った呼び出しまたは権限

2   システムエラー(メモリ不足、fork に失敗、ループデバイスが不足)

4   内部マウントバグ

8   ユーザー割り込み

16  /etc/mtab への書き込みまたはロックの問題

32  マウント失敗

64  一部のマウントは成功

126 外部の /sbin/mount.<type> マウントヘルパーの実行に失敗(util-linux v2.41 以降)

mount -a コマンドは、0(すべて成功)、32(すべて失敗)、または 64(一部失敗、一部成功)を返します。

外部ヘルパー

外部マウントヘルパーの構文は次のとおりです。

/sbin/mount.suffix spec dir [-sfnv] [-N namespace] [-o options] [-t type.subtype]

ここで、suffix はファイルシステムタイプであり、-sfnvoN オプションは通常の mount オプションと同じ意味を持ちます。-t オプションは、サブタイプをサポートするファイルシステム(例:/sbin/mount.fuse -t fuse.sshfs)で使用されます。

^ ount コマンドは、unbindablerunbindableprivaterprivateslaverslavesharedrsharedautonoautocommentx-*loopoffset、および sizelimit のマウントオプションを、mount.<suffix> ヘルパーに渡しません。残りのオプションはすべて、カンマ区切りのリストとして -o オプションの引数として使用されます。

ヘルパーの終了ステータス値は、mount(8) の終了ステータスとして返されます。ヘルパープログラムが見つかったものの、execl() が失敗した場合、値 126 が返されます。

環境変数

`LIBMOUNT_FORCE_MOUNT2={always|never|auto}`
従来の `mount(2)` システムコールを強制的に使用します(新しいファイル記述子ベースのマウント API のサポートが必要です)。デフォルトは `auto` であり、この場合、`libmount` は賢く動作し、既知の問題がある場合にのみ従来の `mount(2)` を使用しようとします。新しいマウント API が利用できない場合、`libmount` は引き続き従来の `mount(2)` を使用できますが、`LIBMOUNT_FORCE_MOUNT2` が `never` に設定されている場合でも同様です。

`LIBMOUNT_FSTAB=<path>`
`fstab` ファイルのデフォルトの場所をオーバーライドします(SUID の場合は無視されます)。

`LIBMOUNT_DEBUG=all`
`libmount` のデバッグ出力を有効にします。

`LIBBLKID_DEBUG=all`
`libblkid` のデバッグ出力を有効にします。

`LOOPDEV_DEBUG=all`
ループデバイスのセットアップのデバッグ出力を有効にします。

ファイル

/etc/fstab/etc/mtab、および /proc/mounts ファイル」セクションも参照してください。

`/etc/fstab`
ファイルシステムテーブル

`/run/mount`
`libmount` のプライベートな実行時ディレクトリ

`/etc/mtab`
マウントされたファイルシステムのテーブル、または `/proc/mounts` へのシンボリックリンク

`/etc/mtab~`
ロックファイル(`mtab` がシンボリックリンクになっているシステムでは使用されません)

`/etc/mtab.tmp`
一時ファイル(`mtab` がシンボリックリンクになっているシステムでは使用されません)

`/etc/filesystems`
試行するファイルシステムタイプのリスト

歴史

`mount` コマンドは、Version 5 AT&T UNIX に存在しました。

バグ

破損したファイルシステムにより、クラッシュが発生する可能性があります。

一部の Linux ファイルシステムは、`-o sync` および `-o dirsync` オプションをサポートしていません(`ext2`、`ext3`、`ext4`、`fat`、および `vfat` ファイルシステムは、`sync` オプションでマウントされた場合、BSD スタイルの同期更新をサポートします)。

`-o remount` オプションを使用して、マウントパラメータを変更できない場合があります(たとえば、すべての `ext2fs` 固有のパラメータ(`sb` 以外)は、再マウント時に変更できますが、`fatfs` の `gid` または `umask` は変更できません)。

`/etc/mtab` ファイルと `/proc/mounts` ファイルの内容が一致しない場合があります(通常の `mtab` ファイルを使用するシステム)。最初のファイルは、`mount` コマンドのオプションのみに基づいていますが、2 番目のファイルの内容は、カーネルおよびその他の設定にも依存します(たとえば、リモート NFS サーバーの場合、`mount` コマンドは NFS マウントポイントに関する信頼できない情報を報告する可能性があり、`/proc/mounts` ファイルには通常、より信頼できる情報が含まれています)。これが、`mtab` ファイルを `/proc/mounts` ファイルへのシンボリックリンクに置き換えるもう 1 つの理由です。

ファイル記述子(つまり、`fcntl` および `ioctl` ファミリーの関数)によって参照される NFS ファイルシステム上のファイルをチェックすると、`noac` マウントオプションが使用されていても、カーネル内に整合性チェックがないため、結果が矛盾する可能性があります。

`loop` オプションと `offset` または `sizelimit` オプションを組み合わせて使用すると、`mount` コマンドがブロックデバイスのサイズが要求どおりに構成されていることを確認できない古いカーネルを使用している場合に、操作が失敗する可能性があります。この状況を回避するには、`mount` コマンドを呼び出す前に、`losetup(8)` コマンドを手動で使用して、構成済みのループデバイスを使用します。

著者

カレル・ザク <_>

関連項目

mount(2), umount(2), filesystems(5), fstab(5), nfs(5), xfs(5), mount_namespaces(7), xattr(7), e2label(8), findmnt(8), losetup(8), lsblk(8), mke2fs(8), mountd(8), nfsd(8), swapon(8), tune2fs(8), umount(8), xfs_admin(8)

バグ報告

バグ報告には、[https://github.com/util-linux/util-linux/issues] の問題追跡システムを使用してください。

入手可能性

mount コマンドは、Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/] からダウンロードできる util-linux パッケージの一部です。