Могу ли я запустить 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, которая отобразит вашу архитектуру процессора и поддерживаемые расширения.