Я пытаюсь запустить 64-битную гостевую систему (MacOSX и Windows7) на 32-битном хосте (Hardened Gentoo Linux, ядро 2.6.28-hardened-r9) с помощью VMware Workstation (6.5.3.185404 и 7.0.1.227600).
Если VT-X отключен в BIOS, VMware отказывается запускать 64-битную гостевую систему (как и ожидалось). Если VT-X включен в BIOS, VMware запускает гостевую систему без жалоб, но затем, примерно через секунду (я полагаю, как только гость попытается включить 64-разрядную версию) хозяин перезагружается (на самом деле это больше похоже на перезагрузку - обычная процедура перезагрузки пропускается и сразу запускается BIOS POST).
Мое оборудование - Core 2 Duo 6600 на ASUS P5B-Deluxe с последней стабильной версией BIOS 1101. Я отключил и выключил систему, а затем включил Vanderpool в BIOS. Мой процессор не поддерживает технологию Trusted Execution, и ее невозможно отключить в BIOS. После этого я несколько раз перезагружался, иногда с выключением и включением питания, и проверял, включен ли Vandertool в BIOS.
Я также запустил инструмент VMware-guest64check-5.5.0-18463, и он сообщает: «Этот хост может запускать 64-разрядную гостевую операционную систему под этим продуктом VMware».
Около года назад я попытался отключить усиление в ядре, чтобы убедиться, что это не из-за PaX / GrSecurity, но это не помогает. Я еще не проверял 32-битных гостей с включенным VT-X, но без VT-X они работают нормально. ASUS предоставляет бета-обновления BIOS, но, согласно их описанию, эти обновления не решают эту проблему, поэтому я не уверен, что стоит их попробовать.
Думаю, это ошибка материнской платы / BIOS. Любые идеи?
Обновление 1: Я пытался загрузить vt.iso с http://communities.vmware.com/docs/DOC-8978 и вот это отчет:
CPU 0: VT is enabled on this core
CPU 1: VT is enabled on this core
Обновление 2: Я только что попытался загрузить 32-битные гостевые системы (Windows7, Ubuntu9.04 и Gentoo), используя все возможные режимы виртуализации. В Automatic
, Automatic with Replay
, Binary translation
все работает, в Intel VT-x/EPT or AMD-V/RVI
Я получил сообщение «Этот хост не поддерживает EPT. Использование программной виртуализации с программным MMU». и все работает. Но в Intel VT-x or AMD-V
режим все 32-битные гости сбрасывают хост так же, как 64-битные гости! Так, эта проблема не характерна для 64-битных гостей.
Еще кое-что. С помощью Intel VT-x or AMD-V
режим для обоих 32/64-битных гостей мой хост сбрасывается сразу после запуска виртуальной машины, то есть до запуска VM BIOS POST и даже до того, как гость начнет загрузку. Но используя Intel VT-x/EPT or AMD-V/RVI
BIOS виртуальной машины работает нормально, затем начинается загрузка 64-битных гостей (Windows7 завершила индикатор выполнения «Загрузка файлов») и только после сброса этого хоста.
Около года назад я попытался отключить усиление в ядре, чтобы убедиться, что это не из-за PaX / GrSecurity, но это не помогает.
Наконец, в текущих ядрах (протестированных 2.6.32-hardened-r22 и 2.6.35-hardened-r5) эту проблему можно решить, отключив CONFIG_PAX_MEMORY_UDEREF!
edit: Я больше не верю, что мой ответ ниже полезен. Я бы посоветовал другим дать альтернативные ответы.
Запуск 64-битных гостей на 32-битных хостах - занятие хитрое. Удивительно, но VMware Workstation, по-видимому, может сделать это при ограниченных обстоятельствах, но я думаю, что вам будет намного лучше с 64-разрядной ОС хоста.
Вот что я бы порекомендовал:
Подключите P2V к существующему 32-битному хосту Gentoo и убедитесь, что он загружается на VMware Workstation. В зависимости от того, используете ли вы фиксированную IP-адресацию или можете предвидеть другие потенциальные конфликты, вы можете быть осторожны с настройками виртуального сетевого адаптера для целей этого теста.
Сделайте резервную копию всего на коробке, включая вашу новую виртуальную машину Gentoo.
Установите любую полностью поддерживаемую 64-разрядную ОС хоста.
Запустите существующий 32-разрядный компьютер на виртуальной машине. Конечно, вы можете запустить его в полноэкранном режиме, подключить к нему сетевой адаптер и использовать его в качестве «основной» операционной системы. Если у вас достаточно оперативной памяти и вы предоставите ей отдельный физический диск, вы не заметите каких-либо значительных изменений в производительности.
Запускайте 32-битные и 64-битные гостевые операционные системы сколько душе угодно.
Могут быть причины, по которым это будет невозможно для вас, но если у вас нет проблем с блокировкой, это может дать вам полностью поддерживаемый путь вперед.