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

ops/2025/3/11 5:02:58/

问题:启动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 -vNAME                   STATE           VERSION
* Ubuntu-24.04           Stopped         2docker-desktop-data    Stopped         2Ubuntu-20.04           Stopped         1docker-desktop         Stopped         2Ubuntu-22.04           Stopped         2Ubuntu                 Running         1

尝试解决问题

方法1 

以管理员身份打开powershell

执行

 Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-AllFeatureName      : 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

 重启电脑!

就成了!


http://www.ppmy.cn/ops/164842.html

相关文章

天气查询项目(cJOSN)

一.功能 二.cJOSN使用规则 1.cJOSN介绍 JSON对象是一个无序的"名称/值"键值对的集合: 以"{“开始,以”}"结束,允许嵌套使用;每个名称和值成对出现,名称和值之间使用":"分隔&#xff…

捌拾贰- 贝尔不等式 (2)

1. 贝尔不等式理解 我感觉我前期理解的不是很对 柒拾玖- 贝尔不等式 … 思来想去几天,感觉贝尔不等式应该是这样来的 因为观测的值只有可能是 1 (别问我为什么) , 设观测角度 Q 值为 1 的概率为 a , -1 的概率为 b , Q 的数学期望值为 E(Q) a * 1 b * (-1) a…

laravel中 添加公共/通用 方法/函数

一,现在app 下面创建Common目录,然后在创建Common.php 文件 二,修改composer.json文件 添加这个到autoload 中 "files": ["app/Common/Common.php"]"autoload": {"psr-4": {"App\\": &quo…

Linux 入门:常用命令速查手册

目录 一.指令 1.pwd(显示所在路径) 2.ls(列出所有子目录与文件) 3.touch(创建文件) 4.mkdir(创建目录) 5.cd(改变所处位置) 6.rm(删除&…

两数之和 力扣1

一、题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案…

[项目]基于FreeRTOS的STM32四轴飞行器: 五.Motor驱动

基于FreeRTOS的STM32四轴飞行器: 五.Motor驱动 一.配置CubeMX二.Motor驱动3.bug修改 一.配置CubeMX 观察motor原理图引脚对应的TIM: 使用内部时钟,配置4分频,后为18M,在设置Counter Period为1000-1,之后频率为18K&am…

游戏引擎学习第139天

决定做一个音频混音器 我们正在进行一个完整的游戏开发,完全从零开始,不使用任何游戏引擎或第三方库,而是亲手实现所有底层技术。目前,我们正处于一个决策点,思考接下来的开发方向。在上一次的开发过程中,…

解决电脑问题(1)——硬件问题

电脑硬件出现问题可以按照以下思路和方法进行解决: 电源问题 症状:电脑完全无法开机,电源指示灯不亮,风扇不转。检查方法:首先检查电源插头是否插紧,尝试更换一个电源插座,看是否能解决问题。如…