从 WSL2 恢复到 WSL1

Posted

技术标签:

【中文标题】从 WSL2 恢复到 WSL1【英文标题】:Revert from WSL2 to WSL1 【发布时间】:2020-10-10 11:13:06 【问题描述】:

我是 WSL 的忠实粉丝,当他们宣布 WSL2 时,我非常激动。但是,官方文档表示,在处理 Windows 文件系统中的文件时,WSL2 的性能不如 WSL1。这有点令人沮丧,因为我的大部分工作都在 Windows 文件系统本身中,我希望保持这种状态。

但为了检查一下,我将我的主 Distro 转换为 WSL2:

wsl --set-version Ubuntu-18.04 2

转换成功。然后当我跑的时候

cd
explorer.exe .

它在Network\wsl$\Ubuntu-18.04\home\user 中启动了一个文件浏览器。我知道这是 WSL2 中的一个特性;我们可以使用 Windows 资源管理器访问 Linux 文件系统。

但是,我随后决定恢复到 WSL1(文件系统访问)。所以我运行了命令:

wsl --set-version Ubuntu-18.04 1

只是为了交叉检查,运行

wsl --list --verbose

将我的主要发行版列为运行版本 1。

但是现在如果我转到~ 并运行explorer.exe .,它仍然会在文件资源管理器中打开目录! AFAIK,这通常会导致 Windows 无法访问具有 Linux 结构的文件路径或使用 WSL1 运行时类似的错误。

所以我想知道这是否正常,还是因为还原而发生,或者我是否以某种方式破坏了我的安装?

TIA!

【问题讨论】:

【参考方案1】:

键入此命令以获取发行版的版本

wsl -l -v

然后键入此命令回滚/设置默认版本

  wsl --set-version Ubuntu-20.04 1

它会输出类似 - 正在转换,这可能需要几分钟...

然后再次尝试wsl -l -v命令,查看结果

在我的情况下,之前和之后的结果是

  NAME                   STATE           VERSION
* Ubuntu-20.04           Stopped         2
  docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

之后

  NAME                   STATE           VERSION
* Ubuntu-20.04           Stopped         1
  docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

编辑

实际上,在留下此评论后,我阅读了问题的描述,我想我根本没有回答,但我决定将其留在这里,因为它对那些试图弄清楚!

【讨论】:

【参考方案2】:

对我来说听起来“正常”。一年多前,Windows 10 版本 1903 中的 WSL1 添加了对从 Windows 安全访问 WSL 文件的支持。见https://devblogs.microsoft.com/commandline/whats-new-for-wsl-in-windows-10-version-1903/

我想您在尝试从 Explorer 访问 WSL1 时收到 2004 的错误消息,这让我感到更惊讶。也许您只是假设它仍然会因您在 1903 年之前的经验而失败?

【讨论】:

以上是关于从 WSL2 恢复到 WSL1的主要内容,如果未能解决你的问题,请参考以下文章

WSL1 升级为 WSL2

WSL1 升级为 WSL2

最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2

WSL2的安装应用

WSL2的安装应用

DockerDocker-Compose 快速安装 (CentOS | Ubuntu | Mac OS | Windows[虚拟机/WSL1/WSL2])