大問題発生:
下記の通り WSL のホームを Windows のエクスプローラーで移動したところ、WSL 上で作成した全てのファイルやディレクトリの属性が 777、つまり rwxrwxrwx となってしまう事が分かりました。恐らく、WSL で使用しているディレクトリでは、「プロパティのセキュリティ」が Windows 上の標準と異なるという事だと思います。下記の操作はやっては駄目です。
問題の詳細と復旧方法は【こちらの記事】を参照してください。
C: からジャンクションを張るだけにしておけば良かった orz
---------------
Windows 10 Professional の WSL のディレクトリは分かりずらい場所に有り、エクスプローラによるファイルの操作に不便です。本記事では、WSL のホームディレクトリを C ドライブの直下に移動し、かつ正常動作する様にリンクを張る方法を紹介します。
ホームディレクトリの場所:
Ubuntu 20.04 の場合、次の通りです。(実際には折り返されません)
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\%USERNAME%
ホームディレクトリを C ドライブの直下に移動し名前を変更する:
もし WSL が動いて居る場合には全て終了します。また、エクスプローラーやコマンド プロンプト等で移動するディレクトリを開いて居る場合にも全て閉じます。
上に記載した ”ユーザー名" のディレクトリを、Windows のエクスプローラーで切り取って、C:\ に貼り付けます。更に、その名前を "WSL_home" と変更します。
ジャンクションを張る:
コマンド プロンプト (いわゆる DOS 窓) を開き、移動したディレクトリの有った場所に cd コマンドで移動します。文字列は、エクスプローラーのアドレスバーを右クリックでコピーし、コマンド プロンプトに右クリックで貼り付けるのが楽でしょう。
コマンド プロンプトで「MKLINK /J」 とコマンド打ってジャンクションを作成します。
cd C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home
mklink /j %USERNAME% C:\WSL_home
「"ユーザー名" <<===>> C:\WSL_home のジャンクションが作成されました」とメッセージが出れば成功です。
大問題が発生してしまった:
WSL を起動して、通常通りにホームディレクトリが見えれば完了です、、、と思ったら大間違い、大変な事態に発展していたのでした。
問題の詳細と復旧方法は【こちらの記事】を参照してください。