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