WSL 2 安装和升级过程中错误的解决方法

微软近期推出了 WSL 2,相较于 WSL 1 增加了不少优点,包括完整的 Linux 内核支持、文件 IO 性能的提升、更好的系统调用兼容性、更少的内存占用。总的来说还是非常值得安装或升级的。

微软为安装和升级 WSL 2 提供了指导网页(适用于 Linux 的 Windows 子系统安装指南 (Windows 10)),但在实际操作中还是遇到了不少指南中未提及的问题。经过搜索网上各位大佬的解答和自己的实际操作,对遇到的部分问题做个小结,希望能对遇到类似问题的朋友有所帮助。

首次安装 Linux 分发版(Ubuntu)时出现 WslRegisterDistribution failed with error: 0x80370102 报错

0x80370102 报错通常会包含其他相关信息,常见的有:

  • Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.

遇到这个问题首先请对照上述微软 WSL 2 安装指南,确认是否遗漏或跳过某个步骤。其次就是打开启用或关闭 Windows 功能检查Hyper-V、适用于 Linux 的 Windows 子系统、虚拟机平台这个几个选项是否勾选,特别的还应该注意 BIOS 中的 CUP 虚拟化支持是否打开在BIOS中开启VT,BIOS开启VT虚拟化技术图文教程)。

  • Error: 0x80370102 ?????????????????????

然而,在检查上述所有设置后,错误依然存在,而且提示十分令人崩溃。结合后续为现有 Linux 分发版从 WSL 1 升级到 WSL 2 遇到的问题,怀疑也是 53 端口被占用造成的。但这里先叙述实际解决问题的步骤。

首先将 WSL 1 恢复设置为默认版本

wsl --set-default-version 1

然后再重新安装 Ubuntu 就不会报错了

将 Ubuntu 从 WSL 1 升级 WSL 2 遇到 0xffffffff 报错

在成功安装 Ubuntu 后,我们使用 wsl --set-version Ubuntu 2 来升级,但提示 0xffffffff 报错。实际解决手段也比较粗暴,先用 netstat -ano 查出占用 53 端口的程序/服务,终止掉就可以了。

到这里回顾遇上面遇到的 0x80370102 报错是不是也和这个有关,希望试过的同学能反馈一下~

发表评论

电子邮件地址不会被公开。 必填项已用*标注