带有 KVM 的 QEMU 具有不同的主机/来宾架构

A. *_*ael 4 kvm virtual-machine arm x86 qemu

我的来宾操作系统是 x86(.vmdk 格式),从 QEMU 文档看来,由于我的主机是 ARM Raspberry Pi 3,即使在内核中启用 KVM,我也无法利用它。

那是对的吗?

Gil*_*il' 9

运行虚拟机最简单的方法是解释每条指令。VM 软件解码每条指令并运行它。

当虚拟机的指令集与主机相同时,另一种方法是简单地执行指令。只有少数指令不能直接执行,因为来宾不能完全控制硬件。一个棘手的问题是内存访问:来宾无法访问整个内存,因此需要对地址执行转换。高端 CPU,例如带有 VT-x (Intel) 或 AMD-V (AMD) 扩展的 x86 CPU,或 ARM Cortex-A15 及更高版本(包括 Pi 2 和 Pi 3),具有执行此地址的硬件功能翻译。KVM 是 Linux 内核的一个组件,它利用这些指令允许本地处理器直接执行虚拟机中的代码。

这对您没有帮助,因为您没有尝试在 ARM CPU 上执行 ARM 代码,或在 x86 CPU 上执行 x86 代码。您想在 ARM CPU 上执行 x86 代码。为此,需要解码和解释指令的软件。KVM 在这里没有帮助。