¿Cómo recuperar/volver a montar una letra de unidad perdida en Win10 WSL1?

¿Cómo recuperar/volver a montar una letra de unidad perdida en Win10 WSL1?

Estoy usando Win10.21H2 y me molesta un problema que existe desde hace mucho tiempo.

Demuéstralo a continuación:

  • Suponiendo que tengo la unidad E: en mi máquina host Win10, ls /mnt/efunciona bien en mi shell WSL1.
  • Ahora, deje que CMD se inicie chkdsk /f E:y espere a que se complete.
  • Vuelva al shell WSL1, encuentro que ls /mnt/efalla con un "argumento no válido".

WSL1 no puede volver a montar la letra de unidad

Esto también sucede si E: es una partición en un disco duro USB externo y desconecta y vuelve a conectar el disco duro, que es un escenario más común.

Entonces, ¿cómo recuperarse de este problema? Mi mejor esfuerzo ahora es finalizar toda la sesión WSL ( wsl -t Ubuntu-22.04etc.) y luego volver a ejecutarla. Esto es excesivo porque forzará a todos los programas de Linux dentro de ese WSL a la terminal, lo cual es bastante inconveniente.

¿Alguna forma mejor de recuperar mi `/mnt/e'?

Respuesta1

Lo siguiente me funciona (en WSL1) después de un desmontaje forzado en una unidad extraíble mediante chkdsk /f:

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

También debería funcionar si la unidad se desconecta o se vuelve a conectar.

Estoy ejecutando Windows 11, pero esta funcionalidad WSL1 no ha cambiado desde hace bastante tiempo, por lo que debería comportarse igual en Windows 10.

información relacionada