首页 > 解决方案 > WSL 在尝试所有步骤以升级到版本 2 后如果失败:WslRegisterDistribution failed with error: 0x80370102

问题描述

从 VS Code 中启动任何 WSL “未找到 WSL 发行版。可以从 Microsoft Store 安装新发行版。

源远程 - WSL(扩展)

按钮:“添加发行版”-> 将您带到商店。安装 Linux 版本,并尝试启动它,您会得到以下信息。我以前曾使用过 WSL,但现在无法将其恢复为原来的工作 WSL。

我尝试了一些东西来更新到版本 2,我可以使用命令“ WSL -l -v”列出版本,但它出现了,但不再显示了。我已经正确设置了功能。WSL 功能已启用。我确实尝试在具有 AMD 64 位 cpu 的 HP 笔记本电脑上设置 bios“虚拟化技术”。在发现它没有帮助之后,现在关闭了。

特性:“虚拟机平台”、“Windows Hypervisor 平台”、“Linux 的 Windows 子系统”还有其他的,但这些似乎相关。

安装,这可能需要几分钟... WslRegisterDistribution 失败,错误:0x80370102 错误:0x80370102 由于未安装必需的功能,无法启动虚拟机。

按任意键继续...

标签: windows-subsystem-for-linux

解决方案


这必须有bios设置。也因为是 Windows 10 Home 没有 Hyper V 功能,但是有一批可以添加这个。有一个安装 WSL 2 的 msi,因此升级了 wsl.exe。这得到了显示 ubuntu-20-04 安装的 WSL 版本 2 的结果还有一些重置需要让“WSL -l -v”命令运行。

我不知道 100% 确定这些是解决问题的方法。但可能会帮助无法让 Linux 启动而不会在 Windows 子系统 Linux 上运行的各种错误的人。我花了一天的时间来修复。

通过谷歌搜索“del hyper-v.txt”找到以下内容,您将点击一个页面,告诉您“如何在 Windows 10 Home 中激活 Hyper-V”

批处理命令的来源 https://github.com/MicrosoftDocs/Virtualization-Documentation/issues/915

推送“%~dp0”
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
暂停

重新启动,仍然没有运行,但需要以下顺序。

wsl --关闭
netsh winsock 重置
netsh int ip 重置
ipconfig /发布
ipconfig /更新
ipconfig /flushdns
wsl -l -v
  名称 国家版本
* Ubuntu-20.04 运行 2

最初只有一个 root 用户。在 %userprofile% 文件夹中使用以下内容更新了新用户。省略破折号和点。

Ubuntu2004 config --default-user addedUsername

VS Code 扩展现在可以看到 WSL,并且不再标记为更新到版本 2。现在转到 VS Code 下的 RxJS 教程。


推荐阅读