必须先确认任务管理器中“虚拟化”状态:若显示“已禁用”则需进bios开启vt-x/amd-v;若“已启用”,则需依次关闭hyper-v、禁用vbs、取消windows功能中的虚拟机平台等组件,并重启生效。

VirtualBox在Win10上启动虚拟机时突然报错“VT-x is not available”,说明CPU硬件虚拟化能力被系统级组件锁死,不是软件重装能解决的问题——必须逐层解除BIOS、Windows内核、安全机制三重封锁。
先确认虚拟化是否真被禁用
按下 Ctrl + Shift + Esc 打开任务管理器 → 点击顶部“性能”选项卡 → 左侧选“CPU” → 滚动到右下角查看“虚拟化”状态。
如果显示【已禁用】,必须进BIOS开启;如果已是【已启用】,问题出在Hyper-V、VBS或驱动冲突,跳过BIOS步骤直接进入系统层排查。
进UEFI/BIOS开启VT-x
方法一:用Windows内置入口(推荐新手)
按 Win + I 打开设置 → 左侧点“系统” → 滚到底部点“恢复” → 在“高级启动”区域点“立即重新启动”。
电脑重启后进入蓝色恢复界面 → 依次选“疑难解答” → “高级选项” → “UEFI固件设置” → 点“重启”。
此时进入主板UEFI主界面。用方向键切换到 Advanced 或 Configuration 标签页。
查找 Intel VT-x、Intel Virtualization Technology、SVM Mode 或 AMD-V ——不同品牌叫法不同,但关键词逃不开这几个。
选中它,按 Enter,把值从 Disabled 改为 Enabled。
【若同时看到 Intel VT-d 或 IOMMU,也一并设为 Enabled——漏掉可能导致WSL2设备直通异常】
按 F10 → 选“Yes”保存并退出 → 电脑自动重启。
关闭Windows内核级抢占组件
第一步:以管理员身份运行 PowerShell。
第二步:执行三行命令,顺序不能错:dism.exe /Online /Disable-Feature:Microsoft-Hyper-V /All /NoRestart → bcdedit /set hypervisorlaunchtype off → wsl --shutdown。
第三步:重启电脑。不重启,命令不会生效。
注意:这三步缺一不可。只关Hyper-V功能但没执行 bcdedit,系统重启后仍会自动加载hypervisor;不执行 wsl --shutdown,WSL2后台进程可能继续占用VT-x资源。
禁用基于虚拟化的安全性(VBS)
打开“Windows安全中心” → “设备安全性” → “基于虚拟化的安全性”。
点击“关闭基于虚拟化的安全性”按钮。系统会弹出警告,确认关闭。
这一步容易被忽略。VBS比Hyper-V更隐蔽,它通过HVCI驱动强制接管VMXON指令权限,即使Hyper-V已关,VBS开着照样让VirtualBox报错“VERR_VMX_NO_VMX”。
检查Windows功能开关
按 Win + R 输入 optionalfeatures.exe 回车 → 打开“启用或关闭Windows功能”。
取消勾选以下三项:
• Hyper-V
• 虚拟机平台
• Windows 虚拟化平台
点“确定”,等待系统应用更改。
这三项中的任意一项启用,都会导致VirtualBox无法获取VT-x控制权。尤其“虚拟机平台”常被误认为只是给WSL2用,实则它底层也依赖hypervisor,会与VirtualBox直接冲突。











