你能告诉我在虚拟机 Ubuntu 中安装 KVM 时我做错了什么,导致我看到“CPU 不支持 KVM 扩展”的错误吗?
我在 VirtualBox(版本 7.0)中运行 Linux(Ubuntu 22.04.3 LTS)操作系统作为虚拟机,我的主机是 Windows 11 pro 操作系统。我的虚拟化在主机的 BIOS/UEFI 中已启用。我已在 Windows 功能中关闭 Hyper-V、Windows HyperVisor 平台、虚拟机平台和 Windows Hypervisor 平台。然后,我在主机 PC 中通过“VBoxManage modifiedvm“YourVMName”--nested-hw-virt on”添加了尝试将 KVM 安装到嵌套虚拟化的虚拟机。我在 Virtual Box 中安装了 VM_VirtualBox_Extension_Pack-7.0.14。
我正在尝试在我的 VM Linux 中安装 Docker,为此我需要 KVM。但在“sudo apt install qemu-kvm ovmf”之后,它显示已安装。但在“sudo kvm-ok”之后,我看到以下错误,因为我的机器不支持 KVM:
“信息:您的 CPU 不支持 KVM 扩展
KVM 加速无法使用”
Linux 架构如下,其中也显示了 KVM:
“”架构:x86_64
CPU 操作模式:32 位、64 位
地址大小:39 位物理地址,48 位虚拟地址
字节顺序:小端
CPU:4
在线 CPU 列表:0-3
供应商 ID:GenuineIntel
型号名称:第 11 代 Intel(R) Core(TM) i9-11900 @ 2.50GHz
CPU family: 6
Model: 167
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Stepping: 1
BogoMIPS: 4991.99
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc
a cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall n
x rdtscp lm constant_tsc rep_good nopl xtopology nonsto
p_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 pci
d sse4_1 sse4_2 movbe popcnt aes rdrand hypervisor lahf
_lm abm 3dnowprefetch invpcid_single ibrs_enhanced fsgs
base bmi1 bmi2 invpcid rdseed clflushopt arat md_clear
flush_l1d arch_capabilities
虚拟化功能:
虚拟机管理程序供应商:KVM
虚拟化类型:完整
缓存(全部总和):
L1d:192 KiB(4 个实例)
L1i:128 KiB(4 个实例)
L2:2 MiB(4 个实例)
L3:64 MiB(4 个实例)
NUMA:
NUMA 节点:1
NUMA 节点 0 CPU:0-3
漏洞:
收集数据采样:不受影响
Itlb 多重打击:不受影响
L1tf:不受影响
Mds:不受影响
崩溃:未受影响
Mmio 陈旧数据:易受攻击:尝试清除 CPU 缓冲区,没有微码;
SMT Host state unknown
Retbleed:缓解措施;增强型 IBRS
Spec rstack overflow:不受影响
Spec store 绕过:易受攻击
Spectre v1:缓解措施;usercopy/swapgs 屏障和 __user 指针
sanitization
Spectre v2:缓解;增强/自动 IBRS、RSB 填充、PBR
SB-eIBRS SW sequence
SRBD:不受影响
Tsx 异步中止:不受影响
“”
答案1
KVM 检测是正确的。您正在 Windows 上的 VM 内嵌套 Linux。因此它无法找到 KVM 功能,因为您没有在裸机上运行 Linux,并且它未在 VirtualBox 中启用。
要启用嵌套 KVM,请从 VirtualBox 管理器中选中“处理器”选项卡上的“启用嵌套 VT-x/AMD-V”复选框。