Puis-je exécuter une image VMware 64 bits sur une machine 32 bits?

89

Puis-je exécuter une image VMware 64 bits sur une machine 32 bits?

J'ai googlé ceci, mais il ne semble pas y avoir de réponse concluante.

Je sais que cela devrait être complètement émulé et fonctionnerait comme un chien - mais la lenteur des performances n'est pas nécessairement un problème car je suis simplement intéressé à tester certains de mes codes de services d'arrière-plan sur des plates-formes 64 bits.

John Sibly
la source
Je peux vous donner un moyen d'installer une machine virtuelle 64 bits sans même avoir un hyperviseur installé comme vmware ou hyper v.
user2050269

Réponses:

123

Le moyen le plus simple de vérifier votre poste de travail consiste à télécharger l' outil VMware Processor Check for 64-Bit Compatibility sur le site Web de VMware.

Vous ne pouvez pas exécuter une session de machine virtuelle 64 bits sur un processeur 32 bits. Cependant, vous pouvez exécuter une session de machine virtuelle 64 bits si vous disposez d'un processeur 64 bits mais que vous avez installé un système d'exploitation hôte 32 bits et que votre processeur prend en charge les bonnes extensions. L'outil lié ci-dessus vous dira si le vôtre le fait.

Dave Webb
la source
3
Impressionnant! Je n'ai jamais su que cet outil existait !!
saschabeaumont
5
Le lien ci-dessus ne vous amène plus à une page qui fait référence à l'outil de vérification du processeur. Voici un lien direct: downloads.vmware.com/d/details/…
Phil Ross
3
@Phil Ross - Merci! J'ai mis à jour le lien dans la réponse avec l'URL que vous avez publiée.
Dave Webb
2
Vous dites donc que VMWare lui-même ne peut pas le faire. Mais vous pouvez convertir l'image en image qemu comme expliqué par dbr. Ou (avec suffisamment de RAM) exécutez VMWare à partir d'une machine virtuelle hôte 64 bits qui était à son tour une machine virtuelle s'exécutant dans qemu ou un autre utilitaire de machine virtuelle qui émule un processeur 64 bits. Compliqué, mais dire catégoriquement que ce n'est pas possible est incorrect.
intuité
1
Voici le lien pour les versions Windows et Linux également: my.vmware.com/web/vmware/details/processor_check_5_5_dt/…
jrace
30

Si vous disposez d'un matériel 32 bits, non, vous ne pouvez pas exécuter un système d'exploitation invité 64 bits. «Le logiciel VMware n'émule pas un jeu d'instructions pour différents matériels non physiquement présents» .

Cependant, QEMU peut émuler un processeur 64 bits, vous pouvez donc convertir la machine VMWare et l'exécuter avec ce

De ce billet de blog datant de 2008 (reflété par 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

Pour l'exécuter,

qemu -m 256 -hda guestos.img

Le mauvais côté? La plupart d'entre nous exécutent VMware sans espace de préallocation pour le disque virtuel. Ainsi, lorsque nous effectuons une conversion de VMware vers QEMU, le fichier brut sera l'espace total AVEC préallocation. Je suis toujours en train de tester le -f qcowformat pour résoudre le problème ou non. Tel que:

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
la source
10

Oui, exécuter un système d'exploitation 64 bits dans VMWare est possible à partir d'un système d'exploitation 32 bits si vous disposez d'un processeur 64 bits.

J'ai un ancien Intel Core 2 Duo avec Windows XP Professionnel 2002 en cours d'exécution, et je l'ai fait fonctionner.

Tout d'abord, voyez si votre processeur est capable d'exécuter un système d'exploitation 64 bits. Recherchez 'Processor check for 64-bit Compatibility' sur le site VMware. Exécutez le programme.

S'il indique que votre processeur est capable, redémarrez votre ordinateur et accédez au BIOS et voyez si vous avez la «virtualisation» et pouvez l'activer. J'ai pu et j'ai installé Windows Server 2008 R2 sous VMware sur ce vieil ordinateur portable.

J'espère que cela fonctionne pour vous!

Kevin
la source
2
Core 2 Duo est un processeur 64 bits. Il est intéressant de noter qu'il peut fonctionner sous VMWare sur la version 32 bits de Windows XP.
John Sibly
1
Vous dites d'abord que vous pouvez exécuter un système d'exploitation 64 bits sur un processeur 32 bits, puis vous dites que vous devriez vérifier si votre processeur est 64 bits?
kyrias
J'utilise 32 bits, 2 Go de RAM, Windows 7.Hey Ma VM donne cette erreur drive.google.com/file/d/0B9LzXNh-gDLNVml5bHl0clZIdUk/...
bonne ambiance et la programmation
4

Cela se résume à savoir si le processeur de votre machine a le bit VT (virtualisation), et le BIOS vous permet de l'allumer. Par exemple, mon ordinateur portable est un Core 2 Duo qui est capable de l'utiliser. Cependant, mon BIOS ne me permet pas de l'activer.

Notez que j'ai lu que l'activation de cette fonctionnalité peut ralentir les opérations normales de 10 à 12%, c'est pourquoi elle est normalement désactivée.

Joël Lucsy
la source
3

J'en doute honnêtement, pour un certain nombre de raisons, mais la plus importante est que certaines instructions sont autorisées en mode 32 bits, mais pas en mode 64 bits. Plus précisément, le préfixe REX utilisé pour coder certaines instructions et registres en mode 64 bits est un octet de la forme 0x4f: 0x40, mais en mode 32 bits, le même octet est INC ou DEC avec un opérande fixe.
Pour cette raison, toute instruction 64 bits préfixée par REX sera interprétée comme INC ou DEC, et ne donnera pas au VMM la possibilité d'émuler l'instruction 64 bits (par exemple en signalant une exception d'opcode non définie).

La seule façon de procéder consiste à utiliser une exception d'interruption pour retourner au VMM après chaque instruction afin qu'il puisse voir s'il a besoin d'une gestion 64 bits spéciale. Je ne peux tout simplement pas voir cela se produire.

Nathan Fellman
la source
1
VMWare n'aurait pas besoin d'un tel système de trappe. Lorsqu'ils n'utilisent pas la prise en charge de la virtualisation matérielle, ils vérifient chaque bloc de base pour des instructions privilégiées et les remplacent par des appels à leurs gestionnaires. Ils / pourraient / font de même pour les instructions x64, mais cela en ferait un émulateur - pas leur truc.
Cody Brocious
3

VMware? Non. Cependant, QEMU a une cible système x86_64 que vous pouvez utiliser. Vous ne pourrez probablement pas utiliser directement une image VMware (IIRC, il n'y a pas d'outil de conversion), mais vous pouvez installer vous-même le système d'exploitation et y travailler. QEMU peut être un peu un PITA pour être opérationnel, mais il a tendance à fonctionner assez bien.

Cody Brocious
la source
3

VMware ne vous permet pas d'exécuter un invité 64 bits sur un hôte 32 bits. Il vous suffit de lire la documentation pour le découvrir.

Si vous voulez vraiment faire cela, vous pouvez utiliser QEMU, et je recommande un hôte Linux, mais ça va être très lent (je veux dire vraiment lent).

Peter Mortensen
la source
2

Oui, vous pouvez. J'ai un Debian 64 bits fonctionnant dans VMware sur Windows XP 32 bits. Tant que vous configurez l'invité pour utiliser deux processeurs, cela fonctionnera très bien.

UnkwnTech
la source
1

Vous pouvez si votre processeur est 64 bits et que l'extension Virtualization Technology (VT) est activée (elle peut être désactivée dans le BIOS). Vous ne pouvez pas le faire sur un processeur 32 bits.

Pour vérifier cela sous Linux, il vous suffit de regarder dans le fichier / proc / cpuinfo . Recherchez simplement l'indicateur approprié ( vmx pour processeur Intel ou svm pour processeur AMD)

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

Pour vérifier cela sous Windows, vous devez utiliser un programme comme CPU-Z qui affichera l'architecture de votre processeur et les extensions prises en charge.

Knapsu
la source
1
Autant que je sache, John veut exécuter la VM sur un processeur 32 bits
Gábor Lipták