从 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的主要内容,如果未能解决你的问题,请参考以下文章
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
DockerDocker-Compose 快速安装 (CentOS | Ubuntu | Mac OS | Windows[虚拟机/WSL1/WSL2])