从 WSL2 恢复到 WSL1
Revert from WSL2 to WSL1
我是 WSL 的忠实粉丝,当他们宣布 WSL2 时我非常激动。但是,官方文档表示,在处理 Windows 文件系统中的文件时,WSL2 的性能不如 WSL1。这有点令人失望,因为我的大部分工作都在 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
将我的主要发行版列为 运行ning 版本 1。
但现在如果我转到 ~
和 运行 explorer.exe .
,它仍然会在文件资源管理器中打开目录! AFAIK,这通常会导致 windows 无法访问具有 Linux 结构的文件路径或当 运行 使用 WSL1.
时类似的错误
所以我想知道这是正常现象,还是因为还原而发生,还是我以某种方式破坏了我的安装?
TIA!
对我来说听起来“正常”。一年多以前,Windows 10 版本 1903 中的 WSL1 中添加了对从 Windows 安全访问 WSL 文件的支持。参见 https://devblogs.microsoft.com/commandline/whats-new-for-wsl-in-windows-10-version-1903/
我想我更惊讶的是您在尝试从资源管理器访问 WSL1 时收到错误消息 2004。也许您只是假设根据 1903 年之前的经验它仍然会失败?
键入此命令以获取发行版
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
编辑
实际上我在留下这条评论后阅读了问题的描述,我想我根本不会回答这个问题,但我决定把它留在这里,因为它可能会有帮助对于正在努力弄清楚的人!
我是 WSL 的忠实粉丝,当他们宣布 WSL2 时我非常激动。但是,官方文档表示,在处理 Windows 文件系统中的文件时,WSL2 的性能不如 WSL1。这有点令人失望,因为我的大部分工作都在 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
将我的主要发行版列为 运行ning 版本 1。
但现在如果我转到 ~
和 运行 explorer.exe .
,它仍然会在文件资源管理器中打开目录! AFAIK,这通常会导致 windows 无法访问具有 Linux 结构的文件路径或当 运行 使用 WSL1.
所以我想知道这是正常现象,还是因为还原而发生,还是我以某种方式破坏了我的安装?
TIA!
对我来说听起来“正常”。一年多以前,Windows 10 版本 1903 中的 WSL1 中添加了对从 Windows 安全访问 WSL 文件的支持。参见 https://devblogs.microsoft.com/commandline/whats-new-for-wsl-in-windows-10-version-1903/
我想我更惊讶的是您在尝试从资源管理器访问 WSL1 时收到错误消息 2004。也许您只是假设根据 1903 年之前的经验它仍然会失败?
键入此命令以获取发行版
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
编辑
实际上我在留下这条评论后阅读了问题的描述,我想我根本不会回答这个问题,但我决定把它留在这里,因为它可能会有帮助对于正在努力弄清楚的人!