启动wsl里的Ubuntu24报错:当前计算机配置不支持 WSL2,HCS_E_HYPERV_NOT_INSTALLED

问题:启动wsl里的Ubuntu24报错

报错信息:

当前计算机配置不支持 WSL2。

请启用"虚拟机平台"可选组件,并确保在 BIOS 中启用虚拟化。

通过运行以下命令启用"虚拟机平台": wsl.exe --install --no-distribution

有关信息,请访问 https://aka.ms/enablevirtualization

错误代码: Wsl/Service/CreateInstance/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED

自己估计原因是前段时间关闭了虚拟化

重新打开虚拟化,然后执行:

复制代码
wsl.exe --install --no-distribution

结果执行完这句后,还是一样的报错信息。

进入:控制面板\程序\程序和功能 ,执行"启用或关闭Windows功能",发现里面的Hyper-V确实没有选中,将其勾选,然后重启系统。

重启系统后,点图标进入ubuntu报错:

无法打开 Ubuntu 24.04.1 LTS,因为它处于脱机状态。可能缺少存储设备,或者存储设备已断开连接。

到微软商店里重装,没搞定。

到cmd里执行重装,有报错:

复制代码
wsl --install
无法从"https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json"中提取列表分发。无法解析服务器 的名称或地址
错误代码: Wsl/InstallDistro/WININET_E_NAME_NOT_RESOLVED

ping测试一下:

复制代码
ping githubusercontent.com
Ping 请求找不到主机 githubusercontent.com。请检查该名称,然后重试。

发现确实找到不服务器,于是到网上找了解析,然后修改文件:C:\Windows\System32\drivers\etc\hosts

将这段解析加入进去:

185.199.108.133 raw.githubusercontent.com

这样wsl --install 就能执行了。

(认为也可以使用微软的Store来安装,重装了ubuntu24,但是不管用,还是报错)。所以wsl --install 这句少不了。

安装好后还是报错:

复制代码
当前计算机配置不支持 WSL2。
请启用"虚拟机平台"可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用"虚拟机平台": wsl.exe --install --no-distribution
有关信息,请访问 https://aka.ms/enablevirtualization
错误代码: Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED

明白了,原来可能是我以前把wsl升级到wsl2了,要去掉才行

复制代码
C:\Users\Admin>wsl --set-default-version 1
操作成功完成。

C:\Users\Admin>wsl --install
正在下载: Ubuntu
正在安装: Ubuntu
已成功安装分发。它可通过 "wsl.exe -d Ubuntu" 启动

但是在商店Store安装了Ubuntu20.04,可以进。

Ubuntu22和24都不可以,报错。后来知道wsl1的能进,wsl2的不能进。

复制代码
当前计算机配置不支持 WSL2。
请启用"虚拟机平台"可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用"虚拟机平台": wsl.exe --install --no-distribution
有关信息,请访问 https://aka.ms/enablevirtualization
错误代码: Wsl/Service/CreateInstance/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED

也就是现在系统里有wsl1 和wsl2 ,估计是上次装安卓虚拟机的时候装了wsl2导致的。

果然,所有wsl2的都出问题了:

复制代码
C:\Users\Admin>wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-24.04           Stopped         2
  docker-desktop-data    Stopped         2
  Ubuntu-20.04           Stopped         1
  docker-desktop         Stopped         2
  Ubuntu-22.04           Stopped         2
  Ubuntu                 Running         1

尝试解决问题

方法1

以管理员身份打开powershell

执行

复制代码
 Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All


FeatureName      : Microsoft-Hyper-V-All
DisplayName      : Hyper-V
Description      : 提供一些帮助创建和运行虚拟机及其资源的服务和管理工具。
RestartRequired  : Possible
State            : Enabled
CustomProperties :

没问题啊,

重新部署一下

复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

部署完成:

复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

部署映像服务和管理工具
版本: 10.0.19041.3636

映像版本: 10.0.19045.5487

启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。

启用虚拟机平台

复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

启动成功:

复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

部署映像服务和管理工具
版本: 10.0.19041.3636

映像版本: 10.0.19045.5487

启用一个或多个功能
[==========================100.0
  • 勾选虚拟机平台 / Windows 虚拟机监控程序平台

控制面板\程序\程序和功能 ,执行"启用或关闭Windows功能",将里面的虚拟机平台 / Windows 虚拟机监控程序平台勾选上。

还是没搞定.....

这样,先把虚拟机改成wsl1吧

复制代码
 wsl --set-version Ubuntu-24.04 1
正在进行转换,这可能需要几分钟时间。

当前计算机配置不支持 WSL2。
请启用"虚拟机平台"可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用"虚拟机平台": wsl.exe --install --no-distribution
有关信息,请访问 https://aka.ms/enablevirtualization
错误代码: Wsl/Service/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED

啥计算机配置不支持WSL2 啊!

看网上,大部分把hyper-V打上勾就好了

有同样问题的:How to solve Wsl/Service/CreateInstance/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED - Microsoft Q&A

github也有:

Error code: Wsl/Service/CreateInstance/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED · Issue #10332 · microsoft/WSL

方法2

用这条试试

复制代码
bcdedit /set hypervisorlaunchtype auto

重启后,成了!

总结

在近期使用VirtualBox和VMware之后,还是想用轻量级的wsl ubuntu虚拟环境,结果发现报错:当前计算机配置不支持 WSL2。

尝试解决,看网上,大部分只要把Hyper-V勾上重启就行了。具体操作:控制面板\程序\程序和功能 ,执行"启用或关闭Windows功能",将Hyper-V选中,将其勾选,然后重启系统。

我这个好像没成,是又进行了如下的操作:

以管理身份打开powershell,然后重新部署一下:

复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

启用虚拟机平台

复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

打开服务

复制代码
bcdedit /set hypervisorlaunchtype auto

重启电脑!

就成了!

相关推荐
深念Y11 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
Cerman17 小时前
QEMU启动OVMF shell超时分析
c语言·windows·经验分享
小鱼仙官19 小时前
Ubuntu C++ NTP校时程序
linux·c++·ubuntu
CHHH_HHH21 小时前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu
comedate1 天前
Windows / Linux GPU 虚拟内存布局差异与 CUDA 越界访问行为
linux·windows·mmu·cuda 越界访问
IT技术分享社区1 天前
Windows桌面时钟推荐:始终置顶、无级缩放、支持全屏游戏显示时间
windows·微软技术·电脑技巧·桌面美化·电脑干货
晨枫阳2 天前
@changesets/cli是什么?哪些情况下需要使用?怎么使用
linux·运维·ubuntu
公子小六2 天前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
诸神缄默不语2 天前
如何在Win11系统中找到是哪个程序占用了指定端口
windows
hkNaruto2 天前
【Linux】Ubuntu 22.04 LTS GNOME 原生远程桌面配置:告别vnc、nomachine
linux·运维·ubuntu