DrvFsのマウントオプションのサポート改善
「Build 17063」では相互運用の改良が行われ、「DrvFs」でWindowsボリュームをマウントする際、所有者やパーミッションに関するマウントオプションを指定できるようになりました。すでにマウントされているボリュームのマウントオプションを変更する場合は
すでにマウントされているボリュームのマウントオプションを変更する場合は、一旦Windowsのボリュームをアンマウントした後、必要なマウントオプションを指定して再度Windowsのボリュームをマウントしてください。ボリュームをアンマウントは、以下のコマンドで実行可能です。
sudo umount マウントポイント
例えば「C:\(/mnt/c)」をアンマウントするには、以下のコマンドを実行します。
sudo umount /mnt/c
利用可能なマウントオプション
「DrvFs」で利用可能なマウントオプションは以下の通りです。マウントオプション | 概要 |
---|---|
uid | 全ファイルの所有者のユーザーをユーザーIDで指定する |
gid | 全ファイルの所有者のグループをグループIDで指定する |
umask | 全ファイル及びディレクトリーに対し、 除外するパーミッションを8進数マスクで指定する |
fmask | 全通常ファイルに対し、 除外するパーミッションを8進数マスクで指定する |
dmask | 全ディレクトリーに対し、 除外するパーミッションを8進数マスクで指定する |
ユーザーID等の指定は、Linuxで管理されているユーザーID等を指定してください。
これらの設定値はWindowsとは関係ありません。
メタデータなしに所有者やパーミッションの指定が可能
上記のマウントオプションを利用すれば、Windowsのボリュームに対しLinuxのメタデータなしにデフォルトの所有者やパーミッションを指定することができます。いわゆるデフォルトの設定に相当します。
これらの設定は、Windowsのボリューム内のファイルのメタデータに保存されません。
Linuxのメタデータに関しては、以下を参照してください。
metadataオプションも併用可能
上記で紹介した「metadata」オプションも併用可能です。さっそく試してみよう
ここでは例として、「C:\(/mnt/c)」に対してマウントオプションを指定し、ボリュームをマウントしてみます。この時ファイルの所有者に「kledgeb/kledgeb」を指定し、「umask」に「22」を「fmask」に「111」を指定します。
1.IDの確認
まず「kledgeb/kledgeb」に対応するユーザーIDとグループIDを調べます。以下のコマンドを実行します。
id
「kledgeb/kledgeb」に対応するユーザーIDとグループIDが「1000」であることが分かります。
現在のユーザー以外のユーザーのIDを調べるには、オプションにユーザー名を指定してコマンドを実行してください。
2.ボリュームのアンマウント
以下のコマンドを実行し、Windowsのボリュームをアンマウントします。
sudo umount /mnt/c
3.ボリュームのマウント
マウントオプションを指定して、再度Windowsのボリュームをマウントします。以下のコマンドを実行します。
mount -t drvfs C: /mnt/c -o uid=1000,gid=1000,umask=22,fmask=111
4.設定の確認
ファイルの所有者とパーミッションを確認すると、以下のようになっています。マウントオプションを指定せずにボリュームをマウントした場合、ファイルの所有者とパーミッションは以下のようになっているので、マウントオプションが反映されていることが分かります。