安装WSL2时遇到的问题(0x80370102报错)解决_wsl

因为更新了win11,wsl终于在资源管理器中可以看到,所以就想玩一玩

先来简单提一句啥是WSL(适用于 Linux 的 Windows 子系统)

适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销

这也是虚拟化的一种方式,微软官方也是给出了文档,​​Link​

目前WSL一共有两个版本,两个版本还是存在不小差异的

安装WSL2时遇到的问题(0x80370102报错)解决_wsl_02

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之间出现了兼容性的问题导致报错

官方解决方法:

安装WSL2时遇到的问题(0x80370102报错)解决_win11_03

具体也就是以下步骤

首先就是检查配置

  1. 检查系统版本
  • 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本
  • 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本
  • 低于 18362 的版本不支持 WSL 2。 使用 ​​Windows Update 助手​​更新 Windows 版本
  1. 检查是否开启VT虚拟化
    在任务管理器->性能中查看

安装WSL2时遇到的问题(0x80370102报错)解决_win11_04

如果没有启用需要更改BIOS设置

具体设置方法参考这篇文章

​https://www.yuchen.xyz/2021/09/17/Note on Ubuntu/​

  1. 检查相关Windows功能是否开启
    win+Q键搜索->启用或关闭windows功能
    win11需要检查是用与Linux的Windows子系统选项是否开启

win10需要检查三项

安装WSL2时遇到的问题(0x80370102报错)解决_ubuntu_05

在管理员权限下打开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

安装WSL2时遇到的问题(0x80370102报错)解决_windows_06


如果用的是win11系统可以在资源管理器中看到wsl目录

安装WSL2时遇到的问题(0x80370102报错)解决_win11_07


安装WSL2时遇到的问题(0x80370102报错)解决_wsl_08