![选择 CPU 型号(-cpu ? 用于列表和附加功能选择)](https://linux22.com/image/24352/%20%20%20%20%20%20%20%20%20%20%20%E9%80%89%E6%8B%A9%20CPU%20%E5%9E%8B%E5%8F%B7%EF%BC%88-cpu%20%3F%20%E7%94%A8%E4%BA%8E%E5%88%97%E8%A1%A8%E5%92%8C%E9%99%84%E5%8A%A0%E5%8A%9F%E8%83%BD%E9%80%89%E6%8B%A9%EF%BC%89.png)
根据测试Mac Mini 3,1CPU是64位的(grep -q "^flags.*\blm\b" /proc/cpuinfo
) 和支持Intel虚拟化扩展( grep -q "^flags.*\bvmx\b" /proc/cpuinfo
)。但是,在运行kvm -m 512 -boot d -cdrom archlinux-2012.07.15-netinstall-dual.iso
并查看硬件检测工具后,处理器被列为不是x86_64。使用-cpu kvm64
没有帮助。是否还需要有 64 位内核(我不需要)?
答案1
很遗憾地告诉您,但似乎是这样,您需要在主机上安装 x86_64 内核才能运行 64 位客户机。
查看 KVM FAQ,我们可以读到:
KVM 可以在 64 位主机上运行 32 位客户机吗? PAE 怎么样?
KVM 支持 64 位主机上的 32 位客户机,以及 PAE 和非 PAE 客户机与主机的任意组合。唯一不受支持的组合是 32 位主机上的 64 位来宾。
在 32 位主机上虚拟化 64 位来宾更像是“模拟”,因为您的来宾会发出指令,而您的主机无法理解。它们都是不同的架构,但我想我们可以在 64 位主机上虚拟化 32 位来宾,因为这两种架构共享一个共同的基础......
答案2
您可以使用 qemu 命令行参数来分配特殊的虚拟 cpu。有一些类型的 32 位 cpu。
-CPU型号
选择 CPU 型号(-cpu ? 用于列表和附加功能选择)
qemu-系统-x86_64-cpu ? x86 qemu64 QEMU 虚拟 CPU 版本 1.4.2
x86 phenom AMD Phenom(tm) 9550 四核处理器
x86 core2duo Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz x86 kvm64 通用 KVM 处理器
x86 qemu32 QEMU 虚拟 CPU 版本 1.4 .2
x86 kvm32 通用 32 位 KVM 处理器
x86 coreduo 正版 Intel(R) CPU T2600 @ 2.16GHz x86 486
x86 pentium
x86 pentium2
x86 pentium3
x86 athlon QEMU 虚拟 CPU 版本 1.4.2
x86 n270 Intel(R) Atom(TM) CPU N270 @ 1.60GHz
x86 Conroe Intel Celeron_4x0 (Conroe/Merom Class Core 2)
x86 Penryn Intel Core 2 Duo P9xxx (Penryn Class Core 2)
x86 Nehalem Intel Core i7 9xx (Nehalem Class Core i7)
x86 Westmere Westmere E56xx/L56xx/X56xx ( Nehalem-C)
x86 SandyBridge Intel Xeon E312xx (Sandy Bridge)
x86 Haswell Intel Core 处理器 (Haswell)
x86 Opteron_G1 AMD Opteron 240 (Gen 1 Class Opteron)
x86 Opteron_G2 AMD Opteron 22xx (Gen 2 Class Opteron)
x86 Opteron_G3 AMD Opteron 23xx (Gen 1 Class Opteron) 3 级 Opteron)
x86 Opteron_G4 AMD Opteron 62xx 级 CPU
x86 Opteron_G5 AMD Opteron 63xx 级 CPU