WSL2与VMWare的兼容性问题
今天发现Windows自带的Linux子系统 WSL 不能用了, 打开报错
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.

我的操作系统是Windows11, 之前一直没有问题, 而且我启用了Linux子系统功能, 但是因为很长时间没用WSL了, 不知道中间是否有什么变更.

查了一下, 微软对WSL进行了升级
cmd中查看WSL版本

可以看到当前版本是WSL2, 状态是Stopped(如果不是stopped可在cmd中手动关闭: wsl --shutdown)

确认BIOS配置
首先进入BIOS确认virtualization的功能是打开的, 这个一般没有问题, 因为如果之前虚拟机能用那么这个功能都是启用的. 所以原因就是virtual machine platform没有启用, 这个东西其实就是Hyper-V, 而我的Hyper-V 是关闭的, 因为当初安装VMware的时候提示和Hyper-V不兼容, 所以就关掉了.
在powershell中查看Hyper-V状态

升级VMware
WSL和VMware我都想用, 还好现在VMware15.5.5+的版本支持Hyper-V了, 目前我的VMware版本是15.5.1, 需要升级, 升级方式很简单, 打开Vmware, 在'帮助'选项卡中选择'软件更新'

跳出来的是推荐我升到16Pro, 但这个是收费的, 点击取消

然后提示可以免费升级到15.5.7, 在线下载安装包, 安装时需要退出Vmware. 软件升级不会影响现有的数据.

升级完成, 版本15.5.7


启用Hyper-V
注意不要在'启用或关闭Windows功能'中启用 , 否则在重启后会导致更新配置失败并回滚重启.

使用管理员权限运行powershell
启用Hyper-V:
查看Hyper-V状态
状态变为Auto

重启计算机以完成更改.
重启后WSL恢复正常, 同时不影响VMware使用


参考1: https://docs.microsoft.com/en-us/windows/wsl/troubleshooting#error-0x80370102-the-virtual-machine-could-not-be-started-because-a-required-feature-is-not-installed