Win10 WSL1 で失われたドライブ文字を回復/再マウントするにはどうすればよいですか?

Win10 WSL1 で失われたドライブ文字を回復/再マウントするにはどうすればよいですか?

私は Win10.21H2 を使用していますが、長年続いている問題に悩まされています。

以下にそれを示してください:

  • Win10 ホスト マシンにドライブ E: があると仮定すると、ls /mnt/eWSL1 シェルで正常に動作します。
  • ここで、CMD を起動してchkdsk /f E:完了するまで待ちます。
  • WSL1 シェルに戻ると、ls /mnt/e「無効な引数」で失敗することがわかります。

WSL1 がドライブ文字の再マウントに失敗する

E: が外付け USB ハードディスクのパーティションであり、ハードディスクを取り外して再度接続した場合にも、同様のことが起こります。これは、より一般的なシナリオです。

では、この問題から回復するにはどうすればよいでしょうか。現時点での私の最善策は、WSL セッション全体 (wsl -t Ubuntu-22.04など) を終了してから再実行することです。これはやりすぎです。WSL 内のすべての Linux プログラムを強制的にターミナルに送り込むことになるため、非常に不便です。

`/mnt/e' を回復するより良い方法はありますか?

答え1

リムーバブル ドライブを強制的にマウント解除した後、次の操作が私の環境では機能します (WSL1 の場合) chkdsk /f

sudo umount /mnt/e
sudo mount -t drvfs E: /mnt/e

ドライブを取り外したり再接続したりしても動作するはずです。

私は Windows 11 を実行していますが、この WSL1 機能はしばらく変更されていないため、Windows 10 でも同じように動作するはずです。

関連情報