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

官方解决方法:

具体也就是以下步骤

首先就是检查配置

  1. 检查系统版本

    • 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本
    • 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本
    • 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本
  2. 检查是否开启VT虚拟化

    在任务管理器->性能中查看

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

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

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

  1. 检查相关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

Windows 10 (WSL2) 上不支持的操作系统 Laravel 8 with Sail

使用过vmware 再开启wsl2闪退处理

wsl2+ubuntu18环境部署zabbix问题记录