安装WSL2时遇到的问题(0x80370102报错)解决
Posted Ocean:)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装WSL2时遇到的问题(0x80370102报错)解决相关的知识,希望对你有一定的参考价值。
因为更新了win11,wsl终于在资源管理器中可以看到,所以就想玩一玩
先来简单提一句啥是WSL(适用于 Linux 的 Windows 子系统)
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销
这也是虚拟化的一种方式,微软官方也是给出了文档,Link
目前WSL一共有两个版本,两个版本还是存在不小差异的
WSL 2 对于 windows 版本要求还是比较高的,WSL 2 仅适用于 Windows 10 版本 1903、内部版本 18362 或更高版本
那么怎么才能拥有呢?很简单是可以做到一条命令安装的
wsl --install
官方也是给出了详细的安装过程
https://docs.microsoft.com/zh-cn/windows/wsl/install
旧版的手动安装教程也有
https://docs.microsoft.com/zh-cn/windows/wsl/install-manual
当然直接去微软商店下载也可以
问题解决
本文主要是解决下安装过程中有可能遇到的问题
wsl打开报错
WslRegisterDistribution failed with error: 0x80370102
出现这个问题是因为VMware16、Hyper-v、WSL2、Docker之间出现了兼容性的问题导致报错
官方解决方法:
具体也就是以下步骤
首先就是检查配置
-
检查系统版本
- 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本
- 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本
- 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本
-
检查是否开启VT虚拟化
在任务管理器->性能中查看
如果没有启用需要更改Bios设置
具体设置方法参考这篇文章
https://www.yuchen.xyz/2021/09/17/Note on Ubuntu/
-
检查相关Windows功能是否开启
win+Q键搜索->启用或关闭windows功能
win11需要检查是用与Linux的Windows子系统选项是否开启
win10需要检查三项
在管理员权限下打开powershell,执行以下命令后重启电脑
# 启用适用于 Linux 的 Windows 子系统 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 启用虚拟机功能 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 下载 Linux 内核更新包 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
一定要仔细执行每一个步骤,一般都是可以的,反正我一开始是不行,后来执行了以上命令重启电脑就解决了
如果检查完毕重新安装仍然存在报错,请进行以下操作
因为 WSL 版本默认为 2 ,但是会存在报错,将版本改为 1 报错消失,之后可以再将应用版本转为 2,就不会出现报错
参考以下教程
https://www.ziruchu.com/art/197
安装之后可以使用命令查看安装的wsl
如果用的是win11系统可以在资源管理器中看到wsl目录
以上是关于安装WSL2时遇到的问题(0x80370102报错)解决的主要内容,如果未能解决你的问题,请参考以下文章
Windows10启动Linux子系统报错WslRegisterDistribution failed with error: 0x80370102
WSL2 BIOS已经开启了VT-x 但windows内安装显示不支持
WSL2使用ls或dir报错reading directory ‘.‘: Input/output error