Gibt es eine Möglichkeit, eine 64-Bit-Virtual Machine auf einem 64-Bit-Prozessor ohne Hardware-Virtualisierung (amd-v, vt-x) auszuführen?

2972
Paul

Wir haben eine virtuelle 64-Bit-Maschine (CentOS), die auf 64-Bit-Host-Maschinen (möglicherweise unter jedem Betriebssystem) ausgeführt werden kann. Diese Host-Maschine unterstützt jedoch keine Hardwarevirtualisierung Ausführen von virtuellen 64-Bit-Maschinen.

Ich habe VirtualBox und VMware Player ausprobiert, aber beide haben dieses Problem mit einem Nicht-Hardware-Virtualisierungsprozessor. Ich dachte, vielleicht hilft ein anderes Virtualisierungssystem, wie OpenVZ oder XEN oder KVM? Was denkst du?

Bei Stackoverflow wurde mir empfohlen, Qemu zu verwenden. Funktioniert OpenVZ oder XEN oder KVM nicht? Wir wollten nur eine dieser Software ausprobieren, wenn eine von ihnen dieses Problem lösen kann.

Vielen Dank!

5
qemu virtualisiert alles vollständig, sodass es auch völlig inkompatible und unterschiedliche Architekturen ausführen kann. Der Kompromiss ist hier Leistung. Ich glaube, ich erinnere mich, dass Sie 64-Bit-VMs auf 64-Bit-Systemen ohne Probleme ausführen können, aber ich kann mich irren Journeyman Geek vor 11 Jahren 2
Es kann am einfachsten sein, den fehlerhaften Prozessor zu ersetzen. Michael Hampton vor 11 Jahren 1

3 Antworten auf die Frage

2
RedGrittyBrick

Wahrscheinlich nicht oder zumindest nicht einfach, gut unterstützt.

Siehe http://en.wikipedia.org/wiki/X86_virtualization#Software-based_virtualization, die besagt ,

In der ursprünglichen Version von x86-64 (AMD64) war aufgrund der fehlenden Segmentierungsunterstützung im Long-Modus keine vollständige Software-Virtualisierung möglich, die den Schutz des Hypervisor-Speichers unmöglich machte, insbesondere den Schutz des Trap-Handlers das im Gast-Kernel-Adressraum ausgeführt wird. [12] [13]: 11 und 20 Revision D und spätere 64-Bit-AMD-Prozessoren (in der Regel Daumen, die in 90 nm oder weniger hergestellt werden) fügten der Segmentierung lange Unterstützung hinzu Modus, wodurch 64-Bit-Gäste in 64-Bit-Hosts über binäre Übersetzung ausgeführt werden können. Intel hat der x86-64-Implementierung (Intel 64) keine Segmentierungsunterstützung hinzugefügt, wodurch eine 64-Bit-Software, die nur auf Software-Virtualisierung ausgelegt ist, auf Intel-CPUs unmöglich wird.

0
yms

Wenn Sie auf Leistung verzichten müssen, können Sie es mit vollständigen CPU-Emulatoren wie QEMU oder Bochs versuchen . Mit QEMU können Sie nahezu jede Art von CPU als Gast oder Host verwenden. Bei Bochs kann der Gast x86 oder x86-64 sein, und der Host kann jede Art von CPU sein.

-1
Marc MAURICE

Schauen Sie sich LXC oder OpenVZ an.

Es bietet eine Container-basierte Virtualisierung, ohne dass ein Prozessor mit VT-Anweisungen erforderlich ist. Diese Virtualisierung verursacht fast keinen Overhead.

LXC ist OpenVZ sehr ähnlich, wobei VM mit den beiden Technologien kompatibel ist. LXC ist ein neueres Projekt.

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

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