Чи можу я запустити 64-розрядний образ VMware на 32-розрядному комп'ютері?


89

Чи можу я запустити 64-розрядний образ VMware на 32-розрядному комп'ютері?

Я погуглив це, але, схоже, остаточної відповіді немає.

Я знаю, що його потрібно було б повністю імітувати і працювати як собака, але повільна продуктивність не обов'язково є проблемою, оскільки я просто зацікавлений у тестуванні деяких моїх кодів фонових служб на 64-бітних платформах.


Я можу дати вам спосіб встановити 64-розрядну віртуальну машину, навіть не встановивши гіпервізор, такий як vmware або hyper v.
user2050269

Відповіді:


123

Найпростіший спосіб перевірити робочу станцію - це завантажити інструмент VMware Processor Check for 64-Bit Compatibility з веб-сайту VMware.

Ви не можете запустити 64-розрядний сеанс віртуальної машини на 32-розрядному процесорі. Однак ви можете запустити 64-розрядний сеанс віртуальної машини, якщо у вас 64-розрядний процесор, але встановлена ​​32-розрядна хост-ОС і ваш процесор підтримує правильні розширення. Інструмент, зв’язаний вище, повідомить вам, чи ваш.


3
Чудово! Ніколи не знав, що цей інструмент існує !!
saschabeaumont

5
Посилання вище не переводить вас на сторінку, яка посилається на інструмент перевірки процесора. Ось пряме посилання: downloads.vmware.com/d/details/…
Філ Росс,

3
@Phil Ross - Дякую! Я оновив посилання у відповіді URL-адресою, яку ви опублікували.
Дейв Вебб,

2
Отже, ви говорите, що VMWare сама не може цього зробити. Але ви можете перетворити зображення на зображення qemu, як пояснюється dbr. Або (з урахуванням достатньої кількості оперативної пам'яті) запустіть VMWare із 64-розрядної хост-віртуальної машини, яка, у свою чергу, є віртуальною машиною, що працює в qemu, або іншою утилітою VM, яка емулює 64-розрядний процесор. Складне, але категорично твердити, що це неможливо, невірно.
інтуїція

1
Ось посилання для обох версій для Windows та Linux: my.vmware.com/web/vmware/details/processor_check_5_5_dt/…
jrace

30

Якщо у вас 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

Так, запуск 64-розрядної ОС у VMWare можливий із 32-розрядної ОС, якщо у вас 64-розрядний процесор.

У мене є старий Intel Core 2 Duo, на якому працює Windows XP Professional 2002, і я змусив його працювати.

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

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

Сподіваюся, це спрацює у вас!


2
Core 2 Duo - це 64-розрядний процесор. Цікаво, що він може працювати у VMWare на 32-розрядної версії Windows XP.
Джон Сіблі

1
Спочатку ви говорите, що можете запустити 64-розрядну ОС на 32-розрядному процесорі, а потім скажете, що слід перевірити, чи є ваш процесор 64-розрядним?
kyrias

я використовую 32-бітну, 2 Гб оперативної пам'яті, Windows 7. Гей, моя віртуальна машина видає цю помилку drive.google.com/file/d/0B9LzXNh-gDLNVml5bHl0clZIdUk/…
почуваюся добре та програмую

8

Якщо ваше обладнання лише 32-розрядне, то ні. Якщо у вас 64-розрядне обладнання та 32-розрядна операційна система, то можливо. Детальніше див. У розділі Вимоги до апаратного та мікропрограмного забезпечення для 64-розрядних гостьових операційних систем . Це не має нічого спільного з одним чи кількома процесорами.


4

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

Зауважте, що я вже читав, що ввімкнення цієї функції може сповільнити нормальну роботу на 10-12%, тому її зазвичай вимикають.


3

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

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


1
VMWare не потребувала б такої системи пасток. Коли вони не використовують підтримку апаратної віртуалізації, вони перевіряють кожен базовий блок на наявність привілейованих інструкцій і замінюють їх викликами своїх обробників. Вони могли / могли / робити те саме для інструкцій x64, але це зробило б емулятор - не їхню річ.
Cody Brocious

3

VMware? Ні. Однак QEMU має системну ціль x86_64, яку ви можете використовувати. Швидше за все, ви не зможете використовувати образ VMware безпосередньо (IIRC, немає інструменту перетворення), але ви можете встановити ОС та подібні самі і працювати всередині неї. QEMU може бути трохи ПІТА для запуску, але він, як правило, працює досить добре.


3

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

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


2

Так, ти можеш. У мене є 64-розрядна версія Debian, яка працює у VMware у Windows XP 32-Bit. Поки ви налаштуєте Гість використовувати два процесори, він працюватиме чудово.


1

Ви можете, якщо ваш процесор 64-розрядний і ввімкнено розширення технології віртуалізації (VT) (його можна вимкнути в BIOS). Це неможливо зробити на 32-розрядному процесорі.

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

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

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


1
Наскільки я розумію, Джон хоче запустити віртуальну машину на 32-бітному процесорі
Габор Ліптак,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.