Есть ли способ запустить 64-битную виртуальную машину на 64-битном процессоре без аппаратной виртуализации (amd-v, vt-x)?

Есть ли способ запустить 64-битную виртуальную машину на 64-битном процессоре без аппаратной виртуализации (amd-v, vt-x)?

У нас есть 64-битная виртуальная машина (CentOS), которую мы хотели бы запустить на 64-битной хост-машине (может работать под управлением любой ОС), но эта хост-машина не поддерживает аппаратную виртуализацию, которая, как вы знаете, должна быть предусмотрена для запуска на ней 64-битных виртуальных машин.

Я пробовал VirtualBox и VMware Player, но у них обоих есть эта проблема с процессором неаппаратной виртуализации. Я думал, может быть, другая система виртуализации может помочь, например OpenVZ или XEN или KVM? Что вы думаете?

На Stackoverflow мне посоветовали использовать Qemu. Разве OpenVZ, XEN или KVM не подойдут? Мы просто хотели попробовать одно из этих программ, может ли одно из них решить эту проблему.

Спасибо!

решение1

Вероятно, нет, или, по крайней мере, нет простого и хорошо обоснованного способа.

Видетьhttp://en.wikipedia.org/wiki/X86_virtualization#Программная_виртуализациякоторый говорит

Первоначальная версия x86-64 (AMD64) не допускала полностью программную виртуализацию из-за отсутствия поддержки сегментации в длинном режиме, что делало невозможной защиту памяти гипервизора, в частности, защиту обработчика прерываний, который работает в адресном пространстве гостевого ядра.[12][13]:11 и 20 Revision D и более поздние 64-битные процессоры AMD (как правило, те, которые производятся по 90 нм или меньше) добавили базовую поддержку сегментации в длинном режиме, что сделало возможным запуск 64-битных гостей на 64-битных хостах с помощью двоичной трансляции. Intel не добавила поддержку сегментации в свою реализацию x86-64 (Intel 64), что сделало невозможной 64-битную программную виртуализацию на процессорах Intel,

решение2

Если вы можете пожертвовать производительностью, вы можете попробовать использовать полноценные эмуляторы ЦП, напримерQEMUилиБохс. С QEMU вы можете использовать практически любой тип ЦП в качестве гостя или хоста. С Bochs гостевой может быть x86 или x86-64, а хост может быть любым типом ЦП.

решение3

Взгляните на LXC или OpenVZ.

Он предлагает контейнерную виртуализацию без необходимости процессора с инструкциями VT. Эта виртуализация почти не вызывает накладных расходов.

LXC очень похож на OpenVZ, а VM совместима с обеими технологиями. LXC — более новый проект.

http://en.wikipedia.org/wiki/Виртуализация_на_уровне_операционной_системы

http://en.wikipedia.org/wiki/Сравнение_платформенных_виртуальных_машин

Связанный контент