问题:启动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
重启电脑!
就成了!