Я использую Win10.21H2 и меня беспокоит давно существующая проблема.
Продемонстрируйте это ниже:
- Предположим, что на моем хост-компьютере Win10 есть диск E:, поэтому
ls /mnt/e
в моей оболочке WSL1 все работает нормально. - Теперь запустите CMD
chkdsk /f E:
и дождитесь его завершения. - Возвращаюсь к оболочке WSL1 и обнаруживаю, что
ls /mnt/e
она завершается ошибкой «Недопустимый аргумент».
Это также происходит, если E: является разделом на внешнем жестком диске USB, и вы отключаете и снова подключаете жесткий диск, что является более распространенным сценарием.
Тогда как исправить эту проблему? Сейчас я лучше всего закрою весь сеанс WSL ( wsl -t Ubuntu-22.04
и т. д.) и снова его запущу. Это перебор, потому что заставит все программы Linux внутри этого WSL перейти на терминал, что довольно неудобно.
Есть ли лучший способ восстановить мой `/mnt/e'?
решение1
У меня (в WSL1) после принудительного размонтирования съемного диска с помощью chkdsk /f
:
sudo umount /mnt/e
sudo mount -t drvfs E: /mnt/e
Это также должно работать, если диск отключен/подключен повторно.
Я использую Windows 11, но эта функциональность WSL1 не менялась уже довольно давно, поэтому она должна вести себя так же и в Windows 10.