Edited at

WSLからマウントしたWindowsのドライブでchmodしたい

WSLからマウントしたWindowsのドライブでパーミッションを扱えるようにする方法。


背景

(読み飛ばしても大丈夫です。)

WindowsのファイルシステムにはLinuxのメタデータが存在しないため、パーミッションを設定することができませんでした。

しかし、build 17063のリリースによってそのメタデータを扱えるようになりました。メタデータを有効にするには、次のようにmetadataオプションを付けてドライブをマウントします。


bash

$ sudo umount /mnt/c

$ sudo mount -t drvfs C: /mnt/c -o metadata

さらに、build 17093からはオプションを設定ファイルによって恒久化できるようになりました。


方法

WSLの設定ファイル/etc/wsl.confを編集します。ファイルが存在しない場合は作成してください。(初期状態では大抵存在しません。)

[automount]セクションのoptionsmetadataを追加します。必要な最小限の設定は次のようになります。


/etc/wsl.conf

[automount]

options = "metadata"

すでにoptionsがある場合は「,」区切りでその前か後に追記します。

options = "metadata,case=off"


参考