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


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

я погуглил это, но, похоже, нет окончательного ответа.

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

10 88

10 ответов:

самый простой способ проверить вашу рабочую станцию, это скачать проверка процессора VMware на 64-битную совместимость инструмент с веб-сайта VMware.

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

если у вас есть 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, файл raw будет полным пространством с предварительным распределением. Я все еще тестирую с -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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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