Posso executar uma imagem VMware de 64 bits em uma máquina de 32 bits?


89

Posso executar uma imagem VMware de 64 bits em uma máquina de 32 bits?

Eu pesquisei isso, mas não parece haver uma resposta conclusiva.

Eu sei que ele teria que ser completamente emulado e executado como um cachorro - mas o desempenho lento não é necessariamente um problema, pois estou apenas interessado em testar alguns dos meus códigos de serviços em segundo plano em plataformas de 64 bits.


Posso oferecer uma maneira de instalar uma máquina virtual baseada em 64 bits, mesmo sem ter um hypervisor instalado como vmware ou hyper v.
user2050269

Respostas:


123

A maneira mais fácil de verificar sua estação de trabalho é baixar a ferramenta VMware Processor Check for 64-Bit Compatibility no site da VMware.

Você não pode executar uma sessão VM de 64 bits em um processador de 32 bits. No entanto, você pode executar uma sessão de VM de 64 bits se tiver um processador de 64 bits, mas tiver instalado um sistema operacional host de 32 bits e seu processador suportar as extensões corretas. A ferramenta vinculada acima dirá se a sua sim.


3
Impressionante! Nunca soube que essa ferramenta existia !!
saschabeaumont

5
O link acima não leva mais você a uma página que faz referência à ferramenta de verificação do processador. Aqui está um link direto: downloads.vmware.com/d/details/…
Phil Ross

3
@Phil Ross - Obrigado! Eu atualizei o link na resposta com o URL que você postou.
Dave Webb

2
Então você está dizendo que o próprio VMWare não pode fazer isso. Mas você pode converter a imagem em uma imagem qemu, conforme explicado por dbr. Ou (com RAM suficiente) execute o VMWare de dentro de uma VM host de 64 bits que, por sua vez, era uma VM em execução no qemu ou outro utilitário VM que emula um processador de 64 bits. Complicado, mas dizer categoricamente que não é possível é incorreto.
intuído em

1
Este é o link para as versões do Windows e do Linux também: my.vmware.com/web/vmware/details/processor_check_5_5_dt/…
jrace

30

Se você tiver hardware de 32 bits, não, você não pode executar um sistema operacional convidado de 64 bits. "O software VMware não emula um conjunto de instruções para diferentes hardwares não fisicamente presentes" .

No entanto, o QEMU pode emular um processador de 64 bits, então você pode converter a máquina VMWare e executá-la com este

Desta postagem do blog da era de 2008 (espelhado 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 executá-lo,

qemu -m 256 -hda guestos.img

A desvantagem? A maioria de nós executa o VMware sem espaço de pré-alocação para o disco virtual. Portanto, quando fizermos uma conversão de VMware para QEMU, o arquivo bruto será o espaço total COM pré-alocação. Ainda estou testando com -f qcowformato vai resolver o problema ou não. Tal 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

10

Sim, é possível executar um sistema operacional de 64 bits no VMWare a partir de um sistema operacional de 32 bits se você tiver um processador de 64 bits.

Eu tenho um antigo Intel Core 2 Duo com Windows XP Professional 2002 em execução nele e o fiz funcionar.

Em primeiro lugar, veja se sua CPU é capaz de rodar um SO de 64 bits. Pesquise por 'Verificação do processador para compatibilidade de 64 bits' no site da VMware. Execute o programa.

Se disser que o seu processador é capaz, reinicie o computador e vá para o BIOS e veja se você tem 'virtualização' e é capaz de habilitá-la. Consegui e coloquei o Windows Server 2008 R2 em execução no VMware neste laptop antigo.

Espero que funcione para você!


2
O Core 2 Duo é um processador de 64 bits. É interessante que ele pode ser executado em VMWare na versão de 32 bits do Windows XP.
John Sibly de

1
Primeiro você diz que pode rodar um SO de 64 bits em um processador de 32 bits e depois diz que deve verificar se o seu processador é de 64 bits?
kyrias

Estou usando 32 bits, 2 GB de RAM, windows 7. Ei, minha VM está apresentando este erro drive.google.com/file/d/0B9LzXNh-gDLNVml5bHl0clZIdUk/…
sinta


4

Tudo se resume a se a CPU em sua máquina tem o bit VT (virtualização), e o BIOS permite que você o ligue. Por exemplo, meu laptop é um Core 2 Duo que é capaz de usar isso. No entanto, meu BIOS não me permite ligá-lo.

Observe que li que ativar esse recurso pode desacelerar as operações normais em 10-12%, razão pela qual ele normalmente é desativado.


3

Eu honestamente duvido, por uma série de razões, mas a mais importante é que existem algumas instruções que são permitidas no modo de 32 bits, mas não no modo de 64 bits. Especificamente, o prefixo REX que é usado para codificar algumas instruções e registros no modo de 64 bits é um byte no formato 0x4f: 0x40, mas no modo de 32 bits o mesmo byte é INC ou DEC com um operando fixo.
Por causa disso, qualquer instrução de 64 bits prefixada por REX será interpretada como INC ou DEC e não dará ao VMM a chance de emular a instrução de 64 bits (por exemplo, sinalizando uma exceção de opcode indefinida).

A única maneira de fazer isso é usar uma exceção trap para retornar ao VMM após cada instrução para que ele possa ver se precisa de tratamento especial de 64 bits. Eu simplesmente não consigo ver isso acontecendo.


1
VMWare não precisaria de tal sistema de armadilha. Quando não estão usando o suporte à virtualização de hardware, eles verificam cada bloco básico para obter instruções privilegiadas e as substituem por chamadas para seus manipuladores. Eles / poderiam / fazer o mesmo com as instruções x64, mas isso o tornaria um emulador - não é o caso deles.
Cody Brocious,

3

VMware? Não. No entanto, o QEMU tem um destino de sistema x86_64 que você pode usar. Você provavelmente não será capaz de usar uma imagem VMware diretamente (IIRC, não há ferramenta de conversão), mas você mesmo pode instalar o sistema operacional e trabalhar dentro dele. O QEMU pode ser um pouco difícil de colocar em funcionamento, mas tende a funcionar muito bem.


3

O VMware não permite que você execute um convidado de 64 bits em um host de 32 bits. Você só precisa ler a documentação para descobrir isso.

Se você realmente quiser fazer isso, pode usar o QEMU, e eu recomendo um host Linux, mas será muito lento (na verdade, lento).


2

Sim você pode. Eu tenho um Debian de 64 bits em execução no VMware no Windows XP de 32 bits. Contanto que você configure o Guest para usar dois processadores, ele funcionará perfeitamente.


1

Você pode fazer isso se o seu processador for de 64 bits e a extensão Virtualization Technology (VT) estiver habilitada (ela pode ser desligada no BIOS). Você não pode fazer isso em um processador de 32 bits.

Para verificar isso no Linux, você só precisa examinar o arquivo / proc / cpuinfo . Basta procurar o sinalizador apropriado ( vmx para processador Intel ou svm para processador AMD)

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

Para verificar isso no Windows, você precisa usar um programa como o CPU-Z, que exibirá a arquitetura do processador e as extensões compatíveis.


1
Pelo que entendi John deseja rodar a VM em processador de 32 bits
Gábor Lipták
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.