Можно ли запустить 64-разрядный образ VMware на 32-разрядном компьютере? - PullRequest
89 голосов
/ 11 сентября 2008

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

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

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

Ответы [ 10 ]

122 голосов
/ 11 сентября 2008

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

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

30 голосов
/ 11 сентября 2008

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

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

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

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

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

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

8 голосов
/ 11 сентября 2008

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

4 голосов
/ 11 сентября 2008

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

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

3 голосов
/ 08 мая 2009

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

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

3 голосов
/ 11 сентября 2008

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

3 голосов
/ 11 сентября 2008

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

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

2 голосов
/ 11 сентября 2008

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

1 голос
/ 09 ноября 2012

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

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

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

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

...