Могу ли я запустить 64-разрядный образ VMware на 32-битной машине?

Можно ли запустить 64-битное изображение VMware на 32-битной машине?

Я искал это, но, похоже, не существует убедительного ответа.

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

Ответ 1

Самый простой способ проверить свою рабочую станцию ​​- загрузить инструмент проверки совместимости VMware для 64-битной совместимости с веб-сайта VMware.

Вы не можете запустить 64-разрядный сеанс VM на 32-битном процессоре. Тем не менее, вы можете запустить 64-разрядный сеанс VM, если у вас есть 64-разрядный процессор, но у вас установлена ​​32-разрядная ОС хоста, и ваш процессор поддерживает правильные расширения. Инструмент, связанный выше, скажет вам, есть ли у вас.

Ответ 2

Если у вас есть 32-разрядное оборудование, нет, вы не можете запустить 64-разрядную гостевую ОС. Программное обеспечение VMware не эмулирует набор инструкций для разных аппаратных средств, которые физически не присутствуют.

Однако QEMU может эмулировать 64-битный процессор, поэтому вы можете преобразовать машину VMWare и запустить ее с помощью этого

Из это сообщение в блоге 2008 года (зеркальное копирование по адресу archive.org):

$ cd /path/to/vmware/guestos
$ for i in \`ls *[0-9].vmdk\`; do qemu-img convert -f vmdk $i -O raw {i/vmdk/raw};done
$ cat *.raw >> guestos.img

Чтобы запустить его,

qemu -m 256 -hda guestos.img

Недостаток? Большинство из нас запускает VMware без предустановочного пространства для виртуального диска. Таким образом, когда мы делаем преобразование из VMware в QEMU, необработанным файлом будет общее пространство WITH preallocation. Я все еще тестирую формат -f qcow, он решает проблема или нет. Например:

for i in `ls *[0-9].vmdk`; do qemu-img convert -f vmdk $i -O qcow ${i/vmdk/qcow}; done && cat *.qcow >> debian.img

Ответ 3

Да, запуск 64-битной ОС в VMWare возможен из 32-разрядной ОС, если у вас 64-разрядный процессор.

У меня есть старый Intel Core 2 Duo с Windows XP, работающий на нем, и я получил его для работы.

Прежде всего, посмотрите, может ли ваш процессор работать с 64-разрядной ОС. Найдите "Проверка процессора для 64-разрядной совместимости" на сайте VMware. Запустите программу.

Если он говорит, что ваш процессор способен, перезагрузите компьютер и войдите в BIOS и посмотрите, есть ли у вас "виртуализация" и вы можете его включить. Я смог и получил Windows Server 2008 R2 под управлением VMware на этом старом ноутбуке.

Я надеюсь, что это сработает для вас!

Ответ 4

Если ваше оборудование только 32-битное, то нет. Если у вас есть 64-битное оборудование и 32-разрядная операционная система, то, может быть. Подробнее см. Требования к оборудованию и прошивке для 64-разрядных гостевых операционных систем. Он не имеет ничего общего с одним или несколькими процессорами.

Ответ 5

Это сводится к тому, имеет ли процессор на вашем компьютере бит VT (виртуализация), а BIOS позволяет включить его. Например, мой ноутбук является Core 2 Duo, который способен использовать это. Однако мой BIOS не позволяет включить его.

Обратите внимание, что я прочитал, что включение этой функции может замедлить нормальные операции на 10-12%, поэтому он обычно отключается.

Ответ 6

Я честно сомневаюсь в этом по ряду причин, но самым важным является то, что есть несколько инструкций, которые разрешены в 32-битном режиме, но не в 64-битном режиме. В частности, префикс REX, который используется для кодирования некоторых инструкций и регистров в 64-битном режиме, является байтом формы 0x4f: 0x40, но в 32-битном режиме один и тот же байт является либо INC, либо DEC с фиксированным операндом.
Из-за этого любая 64-разрядная команда, префиксная с помощью REX, будет интерпретироваться как INC или DEC, и не даст VMM возможность эмулировать 64-битную инструкцию (например, путем передачи сообщения об ошибке undefined).

Единственный способ сделать это - использовать исключение trap для возврата в VMM после каждой инструкции, чтобы он мог видеть, нужна ли ему специальная 64-разрядная обработка. Я просто не вижу этого.

Ответ 7

VMware? Нет. Однако QEMU имеет целевую систему x86_64, которую вы можете использовать. Вероятно, вы не сможете напрямую использовать изображение VMware (IIRC, там нет инструмента для преобразования), но вы можете установить ОС и так себя и работать внутри него. QEMU может быть немного PITA, чтобы встать и работать, но он работает очень хорошо.

Ответ 8

VMware не позволяет запускать 64-разрядную гостевую систему на 32-разрядном хосте. Вам просто нужно прочитать документацию, чтобы узнать об этом.

Если вы действительно хотите это сделать, вы можете использовать QEMU, и я рекомендую хост Linux, но он будет очень медленным (я действительно имею ввиду медленный).

Ответ 9

Да, вы можете. У меня 64-разрядный Debian работает в VMware на Windows XP 32-бит. Пока вы устанавливаете гостя для использования двух процессоров, он будет работать нормально.

Ответ 10

Вы можете, если ваш процессор поддерживает 64-битное расширение Virtualization Technology (VT) (его можно отключить в BIOS). Вы не можете сделать это на 32-битном процессоре.

Чтобы проверить это под Linux, вам просто нужно посмотреть в файл /proc/cpuinfo. Просто найдите соответствующий флаг ( vmx для процессора Intel или svm для процессора AMD)

egrep '(vmx|svm)' /proc/cpuinfo

Чтобы проверить это под Windows, вам нужно использовать такую ​​программу, как CPU-Z, которая отобразит вашу архитектуру процессора и поддерживаемые расширения.