minikube启动报错PROVIDER_HYPERV_NOT_FOUND如何解决?
排查解决步骤
修正Hyper-V引导启动参数
以管理员身份打开命令提示符或PowerShell,执行如下命令查看当前引导配置:bcdedit /enum {current}
查找hypervisorlaunchtype配置项,若值为Off,执行以下命令修改为自动启动:bcdedit /set {current} hypervisorlaunchtype Auto
修改完成后重启设备。该参数被篡改是此类问题的最常见诱因,通常由系统优化工具、其他虚拟化软件(旧版VirtualBox/VMware)安装或卸载时修改导致,即使Windows功能面板显示Hyper-V已启用,该参数关闭时Hypervisor也不会实际运行。
验证并修复WMI组件
重启后以管理员身份打开PowerShell,执行如下命令确认Hypervisor运行状态:Get-Wmiobject Win32_ComputerSystem | Select-Object HypervisorPresent
若返回结果仍为False,执行以下命令修复损坏的WMI仓库:winmgmt /verifyrepository winmgmt /salvagerepository执行完成后再次重启设备验证返回值。
排查第三方软件冲突
- 卸载或临时关闭近期安装的系统优化工具、第三方杀毒软件的虚拟化防护功能
- 若安装了VirtualBox 6.0以下版本、VMware Workstation 15以下版本,先卸载对应软件后重启验证,旧版虚拟化软件会抢占硬件虚拟化权限导致Hyper-V无法正常加载
- 临时关闭Windows Defender的「核心隔离-内存完整性」功能,该功能开启时可能导致Hyper-V状态检测异常
重置minikube配置
当上述步骤执行完成,确认HypervisorPresent返回值为True后,执行以下命令清除minikube旧配置后重新启动:minikube delete --allminikube start --driver=hyperv
若上述操作均无效,可尝试将minikube升级到最新稳定版本后重试。
内容的提问来源于stack exchange,提问作者Atharwa Mokasdar

