¿Puedo ejecutar una imagen de VMware de 64 bits en una máquina de 32 bits?

89

¿Puedo ejecutar una imagen de VMware de 64 bits en una máquina de 32 bits?

Lo busqué en Google, pero no parece haber una respuesta concluyente.

Sé que tendría que ser completamente emulado y funcionaría como un perro, pero el rendimiento lento no es necesariamente un problema, ya que solo estoy interesado en probar algunos de mis códigos de servicios en segundo plano en plataformas de 64 bits.

John Sbly
fuente
Puedo darle una manera de instalar una máquina virtual basada en 64 bits sin siquiera tener un hipervisor instalado como vmware o hyper v.
user2050269

Respuestas:

123

La forma más sencilla de comprobar su estación de trabajo es descargar la herramienta VMware Processor Check para compatibilidad con 64 bits del sitio web de VMware.

No puede ejecutar una sesión de VM de 64 bits en un procesador de 32 bits. Sin embargo, puede ejecutar una sesión de máquina virtual de 64 bits si tiene un procesador de 64 bits pero ha instalado un sistema operativo host de 32 bits y su procesador admite las extensiones correctas. La herramienta vinculada arriba le dirá si la suya lo hace.

Dave Webb
fuente
3
¡Increíble! ¡Nunca supe que esta herramienta existía!
saschabeaumont
5
El enlace anterior ya no lo lleva a una página que hace referencia a la herramienta de verificación del procesador. Aquí hay un enlace directo: downloads.vmware.com/d/details/…
Phil Ross
3
@Phil Ross - ¡Gracias! Actualicé el enlace en la respuesta con la URL que publicaste.
Dave Webb
2
Entonces estás diciendo que VMWare por sí solo no puede hacerlo. Pero puede convertir la imagen en una imagen qemu como explica dbr. O (con suficiente RAM) ejecute VMWare desde una máquina virtual de host de 64 bits que a su vez era una máquina virtual que se ejecutaba en qemu u otra utilidad de máquina virtual que emula un procesador de 64 bits. Complicado, pero decir rotundamente que no es posible es incorrecto.
intuido el
1
Aquí está el enlace para las versiones de Windows y Linux: my.vmware.com/web/vmware/details/processor_check_5_5_dt/…
jrace
30

Si tiene hardware de 32 bits, no, no puede ejecutar un sistema operativo invitado de 64 bits. "El software de VMware no emula un conjunto de instrucciones para hardware diferente que no esté físicamente presente" .

Sin embargo, QEMU puede emular un procesador de 64 bits, por lo que puede convertir la máquina VMWare y ejecutarla con este

De esta publicación de blog de la era de 2008 (reflejada por 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

Para ejecutarlo,

qemu -m 256 -hda guestos.img

¿La baja? La mayoría de nosotros ejecuta VMware sin espacio de preasignación para el disco virtual. Entonces, cuando hacemos una conversión de VMware a QEMU, el archivo sin procesar será el espacio total CON preasignación. Todavía estoy probando con el -f qcowformato, ¿resolverá el problema o no? Como:

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
fuente
10

Sí, es posible ejecutar un sistema operativo de 64 bits en VMWare desde un sistema operativo de 32 bits si tiene un procesador de 64 bits.

Tengo un Intel Core 2 Duo antiguo con Windows XP Professional 2002 ejecutándose en él y lo hice funcionar.

En primer lugar, vea si su CPU es capaz de ejecutar un sistema operativo de 64 bits. Busque "Comprobación del procesador para compatibilidad de 64 bits" en el sitio de VMware. Ejecuta el programa.

Si dice que su procesador es capaz, reinicie su computadora y vaya al BIOS y vea si tiene 'Virtualización' y puede habilitarlo. Pude y conseguí que Windows Server 2008 R2 se ejecutara bajo VMware en esta vieja computadora portátil.

¡Espero que te funcione!

Kevin
fuente
2
Core 2 Duo es un procesador de 64 bits. Es interesante que se pueda ejecutar en VMWare en la versión de 32 bits de Windows XP.
John Sbly
1
Primero dice que puede ejecutar un sistema operativo de 64 bits en un procesador de 32 bits y luego dice que debe verificar si su procesador es de 64 bits.
kyrias
Estoy usando 32 bits, 2 GB de RAM, Windows 7. Oye, mi VM está dando este error drive.google.com/file/d/0B9LzXNh-gDLNVml5bHl0clZIdUk/…
siéntete bien y programando el
4

Todo se reduce a si la CPU de su máquina tiene el bit VT (virtualización) y si el BIOS le permite activarlo. Por ejemplo, mi computadora portátil es un Core 2 Duo que es capaz de usar esto. Sin embargo, mi BIOS no me permite encenderlo.

Tenga en cuenta que he leído que activar esta función puede ralentizar las operaciones normales en un 10-12%, por lo que normalmente está desactivada.

Joel Lucsy
fuente
3

Sinceramente, lo dudo, por varias razones, pero la más importante es que hay algunas instrucciones que están permitidas en el modo de 32 bits, pero no en el modo de 64 bits. Específicamente, el prefijo REX que se usa para codificar algunas instrucciones y registros en el modo de 64 bits es un byte de la forma 0x4f: 0x40, pero en el modo de 32 bits el mismo byte es INC o DEC con un operando fijo.
Debido a esto, cualquier instrucción de 64 bits que tenga el prefijo REX se interpretará como INC o DEC, y no le dará al VMM la oportunidad de emular la instrucción de 64 bits (por ejemplo, al señalar una excepción de código de operación indefinida).

La única forma de hacerlo es usar una excepción de captura para volver al VMM después de todas y cada una de las instrucciones para que pueda ver si necesita un manejo especial de 64 bits. Simplemente no puedo ver que eso suceda.

Nathan Fellman
fuente
1
VMWare no necesitaría tal sistema de trampas. Cuando no están usando el soporte de virtualización de hardware, verifican cada bloque básico para obtener instrucciones privilegiadas y las reemplazan con llamadas a sus controladores. Ellos / podrían / ​​hacer lo mismo con las instrucciones x64, pero eso lo convertiría en un emulador, no en lo suyo.
Cody Brocious
3

VMware? No. Sin embargo, QEMU tiene un objetivo de sistema x86_64 que puede usar. Es probable que no pueda usar una imagen de VMware directamente (IIRC, no hay una herramienta de conversión), pero puede instalar el sistema operativo usted mismo y trabajar dentro de él. QEMU puede ser un poco como un PITA para poner en marcha, pero tiende a funcionar bastante bien.

Cody Brocious
fuente
3

VMware no le permite ejecutar un invitado de 64 bits en un host de 32 bits. Solo tienes que leer la documentación para averiguarlo.

Si realmente quieres hacer esto, puedes usar QEMU, y te recomiendo un host Linux, pero será muy lento (realmente me refiero a lento).

Peter Mortensen
fuente
2

Sí tu puedes. Tengo una Debian de 64 bits ejecutándose en VMware en Windows XP de 32 bits. Siempre que configure el invitado para que utilice dos procesadores, funcionará bien.

UnkwnTech
fuente
1

Puede hacerlo si su procesador es de 64 bits y la extensión de Tecnología de virtualización (VT) está habilitada (se puede desactivar en BIOS). No puede hacerlo en un procesador de 32 bits.

Para verificar esto en Linux, solo necesita mirar en el archivo / proc / cpuinfo . Simplemente busque la bandera apropiada ( vmx para procesador Intel o svm para procesador AMD)

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

Para verificar esto en Windows, debe usar un programa como CPU-Z que mostrará la arquitectura de su procesador y las extensiones compatibles.

Knapsu
fuente
1
Por lo que tengo entendido, John quiere ejecutar la máquina virtual en un procesador de 32 bits
Gábor Lipták