Czy mogę uruchomić 64-bitowy obraz VMware na komputerze 32-bitowym?

89

Czy mogę uruchomić 64-bitowy obraz VMware na komputerze 32-bitowym?

Przeszukałem to w Google, ale nie ma rozstrzygającej odpowiedzi.

Wiem, że musiałby być całkowicie emulowany i działałby jak pies - ale niska wydajność niekoniecznie jest problemem, ponieważ jestem zainteresowany przetestowaniem niektórych moich usług w tle na platformach 64-bitowych.

John Sibly
źródło
Mogę dać ci sposób na zainstalowanie 64-bitowej maszyny wirtualnej bez zainstalowanego hiperwizora, takiego jak vmware lub hyper v.
user2050269

Odpowiedzi:

123

Najłatwiejszym sposobem sprawdzenia stacji roboczej jest pobranie narzędzia VMware Processor Check for 64-bit Compatibility ze strony internetowej VMware.

Nie można uruchomić 64-bitowej sesji maszyny wirtualnej na 32-bitowym procesorze. Możesz jednak uruchomić 64-bitową sesję maszyny wirtualnej, jeśli masz 64-bitowy procesor, ale masz zainstalowany 32-bitowy system operacyjny hosta, a Twój procesor obsługuje odpowiednie rozszerzenia. Narzędzie, do którego link znajduje się powyżej, powie Ci, czy tak jest.

Dave Webb
źródło
3
Niesamowite! Nigdy nie wiedziałem, że to narzędzie istnieje !!
saschabeaumont
5
Powyższe łącze nie prowadzi już do strony, która odwołuje się do narzędzia do sprawdzania procesora. Oto bezpośredni link: downloads.vmware.com/d/details/…
Phil Ross
3
@Phil Ross - Dzięki! Zaktualizowałem odsyłacz w odpowiedzi podany przez Ciebie adres URL.
Dave Webb
2
Więc mówisz, że sam VMWare nie może tego zrobić. Ale możesz przekonwertować obraz na obraz Qemu, jak wyjaśniono w dbr. Lub (mając wystarczającą ilość pamięci RAM) uruchom VMWare z 64-bitowej maszyny wirtualnej hosta, która z kolei była maszyną wirtualną działającą w qemu lub innym narzędziu VM, które emuluje 64-bitowy procesor. Skomplikowane, ale stwierdzenie, że to niemożliwe, jest błędne.
intuicyjnie
1
Tutaj jest również łącze do wersji Windows i Linux: my.vmware.com/web/vmware/details/processor_check_5_5_dt/ ...
jrace
30

Jeśli masz sprzęt 32-bitowy, nie, nie możesz uruchomić 64-bitowego systemu gościa. „Oprogramowanie VMware nie emuluje zestawu instrukcji dla innego sprzętu, który nie jest fizycznie obecny” .

Jednak QEMU może emulować 64-bitowy procesor, więc możesz przekonwertować maszynę VMWare i uruchomić ją z tym

Z tego posta na blogu z 2008 roku (kopia lustrzana z 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

Aby to uruchomić,

qemu -m 256 -hda guestos.img

Wadą? Większość z nas uruchamia VMware bez wstępnej alokacji miejsca na dysk wirtualny. Tak więc, kiedy dokonamy konwersji z VMware do QEMU, plik raw będzie całkowitą przestrzenią Z prealokacją. Nadal testuję -f qcowformat, czy to rozwiąże problem, czy nie. Jak na przykład:

for i in `ls *[0-9].vmdk`; do qemu-img convert -f vmdk $i -O qcow ${i/vmdk/qcow}; done && cat *.qcow >> debian.img
dbr
źródło
10

Tak, uruchomienie 64-bitowego systemu operacyjnego w VMWare jest możliwe z 32-bitowego systemu operacyjnego, jeśli masz 64-bitowy procesor.

Mam stary procesor Intel Core 2 Duo z systemem Windows XP Professional 2002 i mam go do pracy.

Przede wszystkim sprawdź, czy Twój procesor jest w stanie uruchomić 64-bitowy system operacyjny. Wyszukaj hasło „Sprawdź procesor pod kątem zgodności 64-bitowej” w witrynie VMware. Uruchom program.

Jeśli mówi, że twój procesor jest w stanie, uruchom ponownie komputer i przejdź do BIOS-u i sprawdź, czy masz `` wirtualizację '' i możesz ją włączyć. Udało mi się uruchomić system Windows Server 2008 R2 pod kontrolą VMware na tym starym laptopie.

Mam nadzieję, że to zadziała dla ciebie!

Kevin
źródło
2
Core 2 Duo to 64-bitowy procesor. Ciekawe, że może działać w VMWare w 32-bitowej wersji systemu Windows XP.
John Sibly,
1
Najpierw mówisz, że możesz uruchomić 64-bitowy system operacyjny na 32-bitowym procesorze, a potem mówisz, że powinieneś sprawdzić, czy twój procesor jest 64-bitowy?
kyrias
Używam 32-bitowego, 2GB RAM, Windows 7 Hej, moja maszyna wirtualna daje ten błąd drive.google.com/file/d/0B9LzXNh-gDLNVml5bHl0clZIdUk/ ...
czuję się dobrze i programuję
4

Sprowadza się to do tego, czy procesor w komputerze ma bit VT (wirtualizacja), a BIOS umożliwia jego włączenie. Na przykład mój laptop to Core 2 Duo, który jest w stanie to wykorzystać. Jednak mój BIOS nie pozwala mi go włączyć.

Zauważ, że przeczytałem, że włączenie tej funkcji może spowolnić normalne działanie o 10-12%, dlatego zwykle jest wyłączona.

Joel Lucsy
źródło
3

Szczerze w to wątpię z wielu powodów, ale najważniejszym jest to, że niektóre instrukcje są dozwolone w trybie 32-bitowym, ale nie w trybie 64-bitowym. W szczególności prefiks REX używany do kodowania niektórych instrukcji i rejestrów w trybie 64-bitowym jest bajtem w postaci 0x4f: 0x40, ale w trybie 32-bitowym tym samym bajtem jest INC lub DEC ze stałym operandem.
Z tego powodu każda 64-bitowa instrukcja poprzedzona przedrostkiem REX zostanie zinterpretowana jako INC lub DEC i nie da VMM szansy na emulację instrukcji 64-bitowej (na przykład poprzez sygnalizację niezdefiniowanego wyjątku kodu operacji).

Jedynym sposobem, w jaki można to zrobić, jest użycie wyjątku pułapki w celu powrotu do VMM po każdej instrukcji, aby mógł sprawdzić, czy wymaga specjalnej obsługi 64-bitowej. Po prostu nie widzę, żeby to się stało.

Nathan Fellman
źródło
1
VMWare nie potrzebowałby takiego systemu pułapek. Kiedy nie używają obsługi wirtualizacji sprzętu, sprawdzają każdy podstawowy blok pod kątem uprzywilejowanych instrukcji i zastępują je wywołaniami do swoich programów obsługi. Mogli / mogli / zrobić to samo dla instrukcji x64, ale to uczyniłoby z tego emulator - nie ich rzecz.
Serafina Brocious,
3

VMware? Nie. Jednak QEMU ma cel systemowy x86_64, którego można użyć. Prawdopodobnie nie będziesz w stanie bezpośrednio użyć obrazu VMware (IIRC, nie ma narzędzia do konwersji), ale możesz samodzielnie zainstalować system operacyjny i inne elementy i pracować w nim. QEMU może być trochę PITA, aby zacząć działać, ale zwykle działa całkiem nieźle.

Serafina Brocious
źródło
3

VMware nie pozwala na uruchomienie 64-bitowego gościa na 32-bitowym hoście. Aby się tego dowiedzieć, wystarczy przeczytać dokumentację.

Jeśli naprawdę chcesz to zrobić, możesz użyć QEMU i polecam hosta Linuksa, ale będzie to bardzo powolne (naprawdę mam na myśli wolne).

Peter Mortensen
źródło
2

Tak, możesz. Mam 64-bitowego Debiana działającego w środowisku VMware na 32-bitowym systemie Windows XP. Dopóki ustawisz gościa na korzystanie z dwóch procesorów, będzie działać dobrze.

UnkwnTech
źródło
1

Możesz to zrobić, jeśli Twój procesor jest 64-bitowy i włączone jest rozszerzenie technologii wirtualizacji (VT) (można je wyłączyć w systemie BIOS). Nie możesz tego zrobić na 32-bitowym procesorze.

Aby to sprawdzić pod Linuksem, wystarczy zajrzeć do pliku / proc / cpuinfo . Wystarczy spojrzeć na odpowiednią flagę ( VMX dla procesora Intel lub SVM dla procesora AMD)

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

Aby to sprawdzić w systemie Windows, musisz użyć programu takiego jak CPU-Z, który wyświetli architekturę procesora i obsługiwane rozszerzenia.

Knapsu
źródło
1
O ile rozumiem, John chce uruchomić maszynę wirtualną na 32-bitowym procesorze
Gábor Lipták