WSL2: 起動時のwindowsディレクトリマウント失敗とworkaround
WSL2 ubuntuで普段暮らしているのですが、最近起動時にwindows (/mnt/c)がうまくマウントされないことが多いです。すると、powershell.exeとかdocker.exeとかが見つからなくなって困ります。
こちらはwin11にしたことで問題が発生したそうですが、当方はwin10のままでも起こってます。
Windows11 にしたら WSL2 でシステムドライブ (C:) がマウントできなくなったので解決した話 | みんな重力のせい
ひとまず、cmd.exeから
wsl.exe --update
wsl.exe --shutdown
をするとその場は解決してその日1日暮らせるわけですが・・・
どうも根本的な解決策は現状ないようです(
WSL2 to can't browse in `/mnt/c` · Issue #4122 · microsoft/WSL · GitHub
)ので、現状、問題がおこったらコマンドプロンプトで上記コマンドを実行する感じです。
でも朝仕事始めた途端にこれやると萎えるんですよね・・・・
どうするの
ということで、上記をbatにしてwindows起動時に自動実行させればいいのでは?となりました。
やり方として、
- gpeditでタスクを組む(
Windows、PC起動時に任意のバッチファイルを自動実行する|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~)
- startupフォルダにbatファイルを置く(
Windows 起動時にバッチファイル(.bat)を実行する - Why it doesn't work?
)
のどっちかなんですが、自分は前者がうまくいかなかったので、現状後者にしてます・ただ、ユーザを変えると動かなくなるのでそこだけ注意ですね