有沒有辦法在沒有硬體虛擬化(amd-v、vt-x)的情況下在 64 位元處理器上運行 64 位元虛擬機器?

有沒有辦法在沒有硬體虛擬化(amd-v、vt-x)的情況下在 64 位元處理器上運行 64 位元虛擬機器?

我們有一個 64 位元虛擬機器(CentOS),我們想在 64 位元主機上運行(可以在任何作業系統下運行),但是該主機不支援硬體虛擬化,您知道,這應該是為了在其中運行64 位虛擬機。

我嘗試了 VirtualBox 和 VMware Player,但它們在非硬體虛擬化處理器上都存在此問題。我想也許另一個虛擬化系統可能會有所幫助,例如 OpenVZ 或 XEN 或 KVM?你怎麼認為?

在 Stackoverflow,我被建議使用 Qemu。 OpenVZ、XEN 或 KVM 不起作用嗎?我們只是想嘗試其中一款軟體,如果其中一款可以解決這個問題。

謝謝!

答案1

可能不是,或至少不是簡單且得到良好支持的方式。

http://en.wikipedia.org/wiki/X86_virtualization#Software-based_virtualization其中說

x86-64(AMD64)的初始版本由於缺乏長模式下的分段支持,不允許純軟體完全虛擬化,這使得無法保護虛擬機管理程式的內存,特別是陷阱處理程序的保護[12][13 ]:11 和20 修訂版D 以及更高版本的64 位元AMD 處理器(根據經驗,採用90 nm 或更小的製程製造的處理器)添加了對長分段的基本支援模式,使得可以透過二進位轉換在64 位元主機中運行64 位元客戶機。 Intel 沒有為其 x86-64 實現 (Intel 64) 添加分段支持,這使得在 Intel CPU 上無法實現 64 位元純軟體虛擬化,

答案2

如果你可以犧牲效能,你可以嘗試使用完整的 CPU 模擬器,例如QEMU或者博克斯。使用 QEMU,您可以使用幾乎任何類型的 CPU 作為來賓或主機。使用 Bochs,來賓可以是 x86 或 x86-64,主機可以是任何類型的 CPU。

答案3

看看 LXC 或 OpenVZ。

它提供基於容器的虛擬化,無需具有 VT 指令的處理器。這種虛擬化幾乎不會產生任何開銷。

LXC 與 OpenVZ 非常相似,VM 相容於這兩種技術。 LXC 是一個更新的專案。

http://en.wikipedia.org/wiki/Operating_system-level_virtualization

http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines

相關內容