You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VirtualBox Ubuntu虚拟机KVM启用失败,提示“CPU does not support KVM extensions”求助

VirtualBox Ubuntu虚拟机KVM启用失败,提示“CPU does not support KVM extensions”求助

看起来你已经做了不少基础配置,但还是遇到了KVM不支持的问题,我来帮你一步步排查和解决:

首先明确核心问题:从你提供的CPU flags里看不到vmx(Intel虚拟化指令集),这是KVM能正常工作的关键——没有这个flag,Ubuntu就识别不到KVM扩展,自然会报错。接下来我们从主机到虚拟机逐层排查:

1. 确认嵌套虚拟化命令的执行条件是否正确

你用了VBoxManage modifyvm "YourVMName" --nested-hw-virt on这个命令,但要注意:

  • 必须在Ubuntu虚拟机完全关机的状态下执行,不能是暂停或休眠状态
  • 要确保YourVMName和VirtualBox里显示的虚拟机名称完全一致(包括大小写、空格,最好用引号包裹)

执行完命令后,打开VirtualBox的虚拟机设置→系统→处理器,看看“嵌套VT-x/AMD-V”选项是否已经被勾选(如果命令生效,这个选项会自动启用)。

2. 彻底关闭Windows主机的Hypervisor相关组件

你已经关闭了Windows功能里的Hyper-V等,但有时候系统还会残留Hypervisor的启动项,需要额外操作:

  1. 以管理员身份打开命令提示符(CMD)
  2. 执行命令:bcdedit /set hypervisorlaunchtype off
  3. 重启你的Windows主机

这一步能确保Hypervisor完全不启动,避免和VirtualBox的嵌套虚拟化冲突。

3. 确认主机BIOS/UEFI的虚拟化设置完全开启

你的CPU是11代Intel i9,需要确保BIOS里的以下选项都已启用:

  • VT-x(Intel硬件虚拟化)
  • VT-d(I/O虚拟化,可选但建议开启,避免后续兼容性问题)
  • 有些主板还会有“Intel Virtualization Technology”或类似名称的选项,都要设为Enabled

4. 在Ubuntu虚拟机中检查并加载KVM模块

进入Ubuntu虚拟机后:

  1. 先检查是否有vmx flag:执行grep -E 'vmx|svm' /proc/cpuinfo
    • 如果有输出,说明虚拟化指令集已经被识别,继续下一步
    • 如果没有输出,回到前面的步骤重新检查嵌套虚拟化和Hypervisor设置
  2. 检查KVM模块是否加载:执行lsmod | grep kvm
    • 如果没有看到kvm_intelkvm,手动加载模块:sudo modprobe kvm_intel
  3. 再次运行sudo kvm-ok,应该就能看到支持的提示了

额外注意:关于Docker的需求

其实Docker默认使用containerd作为运行时,不需要KVM就能正常工作——除非你是要运行需要硬件加速的虚拟机类 workload(比如Docker Machine、Kubernetes节点,或者带硬件加速的容器)。如果只是普通的Docker容器,你可以先跳过KVM的问题,直接安装Docker试试:

sudo apt update
sudo apt install docker.io docker-compose-plugin

备注:内容来源于stack exchange,提问作者jarvis

火山引擎 最新活动