Назад | Перейти на главную страницу

VMware Workstation перезагружает 32-битный хост при запуске 32/64-битной гостевой системы с использованием VT-x

Я пытаюсь запустить 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-разрядной ОС хоста.

Вот что я бы порекомендовал:

  1. Подключите P2V к существующему 32-битному хосту Gentoo и убедитесь, что он загружается на VMware Workstation. В зависимости от того, используете ли вы фиксированную IP-адресацию или можете предвидеть другие потенциальные конфликты, вы можете быть осторожны с настройками виртуального сетевого адаптера для целей этого теста.

  2. Сделайте резервную копию всего на коробке, включая вашу новую виртуальную машину Gentoo.

  3. Установите любую полностью поддерживаемую 64-разрядную ОС хоста.

  4. Запустите существующий 32-разрядный компьютер на виртуальной машине. Конечно, вы можете запустить его в полноэкранном режиме, подключить к нему сетевой адаптер и использовать его в качестве «основной» операционной системы. Если у вас достаточно оперативной памяти и вы предоставите ей отдельный физический диск, вы не заметите каких-либо значительных изменений в производительности.

  5. Запускайте 32-битные и 64-битные гостевые операционные системы сколько душе угодно.

Могут быть причины, по которым это будет невозможно для вас, но если у вас нет проблем с блокировкой, это может дать вам полностью поддерживаемый путь вперед.