缘由

最近玩明日方舟,想在电脑上玩玩官服,我便去下载了mumu模拟器。结果一玩,没意思,用鼠标点好没感觉,我就把mumu卸载了。
结果我的hyper-v被mumu给关了,我今天打开我的Ubuntu on Windows,给我报错:

请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化[已退出进程,代码为 4294967295]

我当场裂开,我干了啥啊,怎么突然就用不了了,我还得学Linux呢。
结果我在网上,找了好久,找了好多方法,最终花了我一上午搞好了,在这里记录一下方法,以防以后又遇到了。

打开cpu虚拟化

进入bios,打开cpu虚拟化,不然没有办法整wsl。

不同的主板型号进入bios的方法不一样,可以自行百度查询,也可以从F1一直按到F12,还有delete键。

然后打开Windows功能,拉到下面,打开适用于Linux的Windows子系统

linux
linux

安装hyper-v

打开Windows功能,查看电脑中是否存在hyper-v,如果存在则可以跳过该步骤,直接勾选就行了

hyper-v
hyper-v

如果不存在就需要安装相关组件。

随便在哪里新建一个.txt文件,把后缀名改成.cmd,编辑文件,把下面这一段复制进去:

pushd "%~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

保存退出,用管理员权限运行,等待安装完毕,过程可能很繁琐,很漫长,慢慢等不要心急。我第一次急死了,没等安装完就退出了

安装完成之后,打开Windows功能,把hyper-v打开,勾选上,重启电脑。

启动hyper-v

用管理员权限在powershell中执行

bcdedit /set hypervisorlaunchtype auto

然后重启电脑,重启完成之后,应该就可以打开wsl了。我的Ubuntu能用了呜呜呜

总结

  1. 打开cpu虚拟化
  2. 确保hyper-v存在于电脑上,并且打开
  3. 打开适用于Linux的Windows子系统
  4. 虚拟机一般都会把你的hyper-v关掉
  5. 不要乱装模拟器呜呜呜