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


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

He buscado esto en Google, pero no parece haber una respuesta concluyente.

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

Author: Alex Abdugafarov, 2008-09-11

10 answers

La forma más fácil de comprobar su estación de trabajo es descargar la herramienta VMware Processor Check for 64-Bit Compatibility desde el 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 VM 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 enlazada anteriormente le dirá si la suya lo hace.

 120
Author: Dave Webb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-10-20 09:58:06

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 podría convertir la máquina VMware y ejecutarla con este

De este post del blog de la era 2008 (reflejado 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 desventaja? La mayoría de nosotros ejecuta VMware sin espacio de preasignación para el disco virtual. Por lo tanto, cuando hacemos una conversión de VMware a QEMU, el archivo raw será el espacio total CON preasignación. Todavía estoy probando con el formato -f qcow va a resolver el problema o no. Tales 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
 30
Author: dbr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-22 11:37:26

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

Tengo un viejo Intel Core 2 Duo con Windows XP Professional 2002 ejecutándose en él, y lo conseguí funcionar.

En primer lugar, vea si su CPU es capaz de ejecutar un sistema operativo de 64 bits. Busque 'Processor check for 64-bit compatibility' en el sitio de VMware. Ejecuta el programa.

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

Espero que funcione para usted!

 10
Author: Kevin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-28 23:36:08

Si su hardware es solo de 32 bits, entonces no. Si usted tiene hardware de 64 bits y un sistema operativo de 32 bits, entonces tal vez. Véase Requisitos de Hardware y Firmware para Sistemas Operativos Invitados de 64 Bits para más detalles. No tiene nada que ver con uno o varios procesadores.

 8
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-08 14:41:40

Se reduce a si la CPU en su máquina tiene el bit VT (Virtualización), y el BIOS le permite encenderlo. Por ejemplo, mi 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.

 4
Author: Joel Lucsy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-08 16:18:52

Honestamente lo dudo, por varias razones, pero la más importante es que hay algunas instrucciones que se permiten en modo de 32 bits, pero no en modo de 64 bits. Específicamente, el prefijo REX que se usa para codificar algunas instrucciones y registros en modo de 64 bits es un byte de la forma 0x4f: 0x40, pero en 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, señalando una excepción de opcode indefinida).

La única manera de hacerlo es usar una excepción trap para volver a la VMM después de cada instrucción para que pueda ver si necesita un manejo especial de 64 bits. Simplemente no puedo ver que eso suceda.

 3
Author: Nathan Fellman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-11 09:32:01

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

 3
Author: Cody Brocious,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-08 14:38:13

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 va a ser muy lento (realmente quiero decir lento).

 3
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-08 16:21:43

Sí, puedes. Tengo un Debian de 64 bits corriendo en VMware en Windows XP de 32 Bits. Siempre y cuando configure al Invitado para que use dos procesadores, funcionará bien.

 2
Author: UnkwnTech,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-08 14:39:03

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

Para comprobar esto en Linux solo tiene que buscar en el archivo /proc/cpuinfo. Simplemente busque la bandera apropiada ( vmx para el procesador Intel o svm para el procesador AMD)

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

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

 1
Author: Knapsu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-17 22:15:22