如何在 Win10 WSL1 中恢复/重新挂载丢失的驱动器号?

如何在 Win10 WSL1 中恢复/重新挂载丢失的驱动器号?

我正在使用 Win10.21H2,并且被一个长期存在的问题困扰。

下面进行演示:

  • 假设我的 Win10 主机上有驱动器 E:,那么ls /mnt/e在我的 WSL1 shell 中可以正常工作。
  • 现在,让 CMD 启动chkdsk /f E:并等待其完成。
  • 回到 WSL1 shell,我发现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 中的行为应该相同。

相关内容