私は Win10.21H2 を使用していますが、長年続いている問題に悩まされています。
以下にそれを示してください:
- Win10 ホスト マシンにドライブ E: があると仮定すると、
ls /mnt/e
WSL1 シェルで正常に動作します。 - ここで、CMD を起動して
chkdsk /f E:
完了するまで待ちます。 - WSL1 シェルに戻ると、
ls /mnt/e
「無効な引数」で失敗することがわかります。
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 でも同じように動作するはずです。