Virtual-Machine

帶有 KVM 的 QEMU 和不同的主機/來賓架構

  • October 12, 2020

我的客戶作業系統是 x86(.vmdk 格式),從 QEMU 文件看來,由於我的主機是 ARM Raspberry Pi 3,即使在核心中啟用 KVM 後,我也無法利用它。

那是對的嗎?

執行虛擬機的簡單方法是解釋每條指令。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 在這裡沒有幫助。

引用自:https://unix.stackexchange.com/questions/340912