2008-09-11 19 views
88

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

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

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

+0

Puedo darte una forma de instalar una [máquina virtual basada en 64 bits] (http://www.youtube.com/watch?v=oFtRw38VIc4&feature=youtu.be) sin siquiera tener un hipervisor instalado como vmware o hyper v. – user2050269

Respuesta

121

La forma más sencilla 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 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 sí.

+3

¡Impresionante! ¡Nunca supo que esta herramienta existía! – saschabeaumont

+5

El enlace de arriba ya no lo lleva a una página que hace referencia a la herramienta de comprobación del procesador. Aquí hay un enlace directo: http://downloads.vmware.com/d/details/processor_check_for_64_bit_compatibility_6_0/JWpiQHBqYiVo –

+3

@Phil Ross - ¡Gracias! He actualizado el enlace en la respuesta con la URL que ha publicado. –

3

honestamente 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 el modo de 64 bits. Específicamente, el prefijo REX que se utiliza 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 está prefijado por REX se interpretará como sea INC o DEC, y no dará la VMM la oportunidad de emular la instrucción de 64 bits (por ejemplo, mediante la señalización de una excepción opcode indefinido)

La única forma en que se podría hacer es utilizar una trampa de excepción para volver a la VMM después de cada instrucción para que pueda ver si necesita un tratamiento especial de 64 bits. Simplemente no puedo ver que eso suceda.

+1

VMWare no necesitaría un sistema de trampas de este tipo. Cuando no utilizan soporte de virtualización de hardware, revisan cada bloque básico para obtener instrucciones privilegiadas y las reemplazan con llamadas a sus controladores. Ellos/podrían/​​hacer lo mismo para las instrucciones x64, pero eso lo convertiría en un emulador, no en lo suyo. –

3

VMware? No. Sin embargo, QEMU tiene un objetivo del 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 y usted mismo y trabajar dentro de él. QEMU puede ser un poco de un PITA para comenzar a funcionar, pero tiende a funcionar bastante bien.

2

Sí, puedes. Tengo un Debian de 64 bits ejecutándose en VMware en Windows   XP de 32 bits. Siempre que configure el Guest para usar dos procesadores, funcionará perfectamente.

30

Si tiene hardware de 32 bits, no, no puede ejecutar un sistema operativo invitado de 64 bits. "VMware software does not emulate an instruction set for different hardware not physically present".

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

De this 2008-era blog post (mirrored by 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 

¿El inconveniente? 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 formato será el espacio total CON preasignación.Todavía estoy probando con el formato -f qcow ¿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 
4

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

Tenga en cuenta que he leído que activar esta función puede reducir el funcionamiento normal en un 10-12%, por lo que normalmente está desactivado.

3

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

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

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 viejo Intel Core 2 Duo con Windows   XP Professional 2002 corriendo en él, y lo tengo para trabajar.

Antes que nada, vea si su CPU es capaz de ejecutar un sistema operativo de 64 bits. Busque 'Verificación del procesador para la 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 obtuve Windows Server 2008 R2 corriendo bajo VMware en esta vieja computadora portátil.

¡Espero que te sirva!

+2

Core 2 Duo es un procesador de 64 bits. Es interesante que pueda ejecutarse en VMWare en la versión de 32 bits de Windows XP. –

+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

+0

estoy usando 32 bit, 2GB RAM, windows 7.Hey My VM está dando este error https://drive.google.com/file/d/0B9LzXNh-gDLNVml5bHl0clZIdUk/edit?usp=sharing –

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 apagar en el BIOS). No puedes hacerlo en un procesador de 32 bits.

Para comprobar esto en Linux solo tiene que mirar en el archivo /proc/cpuinfo. Sólo tiene que buscar la bandera correspondiente (vmx para el procesador Intel o SVM para el procesador AMD)

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

Para comprobar esto en Windows es necesario utilizar un programa como CPU-Z, que mostrará su arquitectura de procesador y extensiones compatibles

+1

Por lo que yo entiendo John quiero ejecutar la máquina virtual en un procesador de 32 bits –

Cuestiones relacionadas