Ich verwende Win10.21H2 und bin von einem seit langem bestehenden Problem geplagt.
Demonstrieren Sie es unten:
- Vorausgesetzt, ich habe Laufwerk E: auf meinem Win10-Hostcomputer,
ls /mnt/e
funktioniert es in meiner WSL1-Shell einwandfrei. - Lassen Sie nun CMD starten
chkdsk /f E:
und warten Sie, bis es abgeschlossen ist. - Gehen Sie zurück zur WSL1-Shell. Dort stelle ich fest, dass das
ls /mnt/e
Problem mit der Meldung „Ungültiges Argument“ fehlschlägt.
Dies passiert auch, wenn E: eine Partition auf einer externen USB-Festplatte ist und Sie die Festplatte trennen und wieder anschließen, was ein häufigeres Szenario ist.
Wie kann ich dieses Problem dann beheben? Meine beste Lösung besteht jetzt darin, die gesamte WSL-Sitzung ( wsl -t Ubuntu-22.04
usw.) zu beenden und sie dann erneut auszuführen. Dies ist übertrieben, da dadurch alle Linux-Programme in diesem WSL zum Terminal gezwungen werden, was ziemlich unpraktisch ist.
Gibt es eine bessere Möglichkeit, mein „/mnt/e“ wiederherzustellen?
Antwort1
Folgendes funktioniert bei mir (in WSL1) nach einer erzwungenen Trennung eines Wechseldatenträgers durch chkdsk /f
:
sudo umount /mnt/e
sudo mount -t drvfs E: /mnt/e
Es sollte auch funktionieren, wenn das Laufwerk ausgesteckt/wieder angeschlossen wird.
Ich verwende Windows 11, aber diese WSL1-Funktionalität hat sich seit geraumer Zeit nicht geändert, daher sollte sie sich unter Windows 10 genauso verhalten.