从WSL2还原到WSL1

时间:2020-06-20 07:54:26

标签: windows-subsystem-for-linux wsl-2

我是WSL的忠实拥护者,当他们宣布WSL2时非常激动。但是,官方文档说,在处理Windows File系统中的文件时,WSL2的性能不如WSL1。这真是令人um目结舌,因为我的大部分工作都在Windows文件系统本身中进行,我希望保持这种状态。

但是为了进行检查,我将主发行版转换为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,这通常会导致错误,即在使用WSL1运行时,Windows无法访问具有Linux结构或类似结构的文件路径。

所以我想知道这是否正常,还是由于恢复而发生了,还是我以某种方式中断了安装?

TIA!

2 个答案:

答案 0 :(得分:3)

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

我想您在尝试从资源管理器访问WSL1时收到了一条2004年错误消息,对此我感到很惊讶。也许您只是假设1903年以前的经验仍然会失败?

答案 1 :(得分: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

编辑

实际上我在留下这个评论后阅读了问题的描述,我想我根本没有回答它,但我决定把它留在这里,因为它可以对那些有帮助的人有帮助想办法解决!