Convidado do Windows de 64 bits no VirtualBox impossível sem o suporte ao VT-x? [duplicado]


8

Instalei com êxito o Windows Vista de 32 bits em uma VM com o VirtualBox. Agora estou tentando fazer o mesmo com o Windows Vista de 64 bits e ele simplesmente não está funcionando. Eu criei a VM, mas parece que ela não inicializa a imagem ISO do Vista de 64 bits. Ele cospe esse erro do gerenciador de inicialização.

uma

O sistema operacional host é o Windows 7 de 64 bits em um processador Intel Core 2 Duo de 64 bits. Agora, fiz a mesma coisa e instalei a mesma versão do VirtualBox em outro computador, também executando o Windows 7 de 64 bits, criei a VM e, em seguida ... durante o processo de configuração da VM, notei que havia opções adicionais para escolher. quando eu escolho o convidado. Aqui está uma captura de tela.

b

Você pode ver essas opções no meio, onde diz 64 bits, não tenho essas opções nesse outro computador. Agora, este roda um Intel Core 2 Quad, um modelo mais avançado. Ele suporta a tecnologia de virtualização Intel, enquanto o outro não.

É assim que a mesma caixa de diálogo se parece no computador Core 2 Duo. Aqui está uma captura de tela.

c

Poderia ser esse o motivo? Isso significa que você não pode emular um Windows 64-bit sistema operacional convidado em tudo com o VirtualBox, a menos que seu processador suporta tecnologia de virtualização Intel? Entendo que essa tecnologia torna as coisas muito mais rápidas, mas não permite que você imite esse sistema operacional ... isso é um pouco extremo, não?

Se sim, o que você sugere que eu use?


@ Ramhound Você acabou de perguntar se tenho certeza de que estou executando um sistema operacional de 64 bits e depois mudou de idéia? Recebi o comentário na minha caixa de entrada. Bem, para o que vale a pena, sim, eu tenho certeza que ambos os computadores estão executando a versão do Windows 7. 64-bit
— Samir

@ Limitação Ramhound do hardware? Então você concorda, isso tem a ver com suporte a VT-x, ou melhor, a falta dele?
— Samir

Independentemente das limitações de hardware, você deve sempre fazer as coisas no software. Esse é um dos benefícios da virtualização, pois permite substituir completamente o hardware físico do software. Sei que é bom ter o Intel VT-x, mas por que você não pode emular o sistema operacional de 64 bits no VirtualBox em todo o software, mesmo que seja extremamente lento? Por que eles não permitem que você faça isso? Isso é uma limitação no VirtualBox.
— Samir

Emm ... você não quer dizer "você não pode fazer algo no software se o hardware não suportar"?
— Samir

Respostas:


18

A seção 3.1.2 do manual VirtualBox afirma explicitamente que você precisa de suporte à virtualização de hardware para usar os sistemas operacionais convidados de 64 bits (ênfase adicionada):

O VirtualBox suporta sistemas operacionais convidados de 64 bits, mesmo em sistemas operacionais host de 32 bits, desde que as seguintes condições sejam atendidas:

  1. Você precisa de um processador de 64 bits com suporte à virtualização de hardware (consulte a Seção 10.3, “Virtualização de hardware versus virtualização de software”).

  2. Você deve habilitar a virtualização de hardware para a VM específica para a qual deseja suporte de 64 bits; a virtualização de software não é suportada para VMs de 64 bits.

  3. Se você deseja usar o suporte ao convidado de 64 bits em um sistema operacional host de 32 bits, também deve selecionar um sistema operacional de 64 bits para a VM específica. Como o suporte a 64 bits em hosts de 32 bits incorre em sobrecarga adicional, o VirtualBox somente habilita esse suporte mediante solicitação explícita.

Fonte: https://www.virtualbox.org/manual/ch03.html#intro-64bitguests

A seção 10.3 também afirma isso (grifo nosso):

O suporte de convidado de 64 bits do VirtualBox (adicionado com a versão 2.0) e o multiprocessamento (SMP, adicionado com a versão 3.0) requerem a virtualização de hardware para ser ativada . (Isso não é uma limitação muito grande, pois a grande maioria das CPUs de 64 bits e multicore de hoje é fornecida com virtualização de hardware de qualquer maneira; as exceções a essa regra são, por exemplo, as CPUs Intel Celeron e AMD Opteron mais antigas.)

Fonte: https://www.virtualbox.org/manual/ch10.html#hwvirt

Portanto, você precisa de um processador compatível com VT-x ou AMD-V para usar convidados de 64 bits com o VirtualBox. No entanto , QEMU, Bochs e VMWare Player suportam convidados de 64 bits sem suporte à virtualização de hardware (pelo menos de acordo com esta página ).


Sim ... e isso é lamentável. Eu pensei que isso se referia apenas a convidados de 64 bits em hosts de 32 bits. Mas, no capítulo 10, eles dizem especificamente que a virtualização de hardware é um requisito. Eu me pergunto, como é que isso não é um requisito para os hóspedes de 32 bits? Por que apenas 64 bits?
— Samir

Eu lhe dei uma votação positiva, apesar de já ter postado esse texto exato em minha própria resposta. Obrigado pelo esforço! Vou mesclar minha resposta com a sua, se estiver tudo bem.
— Samir

Você conhece algum outro software de virtualização (de preferência gratuito e de código aberto) que possa emular um Windows de 64 bits sem o suporte à virtualização de hardware?
— Samir

@sammyg parece que QEMU, Bochs e VMWare Player suportam, veja minha última revisão.
— Nc4pk

Não é verdade. O VMware player também requer virtualização para executar palpites de 64 bits, assim como outros hipervisores. Você só pode executar palpite de 64 bits sem virtualizações em um emulador como o Bochs ou QEMU ou um software de virtualização como o Xen en.wikipedia.org/wiki/Vt-x#Software-based_virtualization
— phuclv

0

Nenhum hypervisor de máquina virtual suporta máquinas virtuais de 64 bits em uma CPU x86 sem virtualização, porque o isolamento da máquina virtual seria impossível sem ela.

O motivo foi mencionado na Wikipedia (ênfase minha):

A versão inicial do x86-64 (AMD64) não permitia uma virtualização completa somente para software devido à falta de suporte à segmentação no modo longo , o que tornava impossível a proteção da memória do hipervisor , em particular a proteção do manipulador de trap. que é executado no espaço de endereço do kernel convidado.

A revisão D e os processadores AMD de 64 bits posteriores (como regra geral, aqueles fabricados em 90 nm ou menos) adicionaram suporte básico à segmentação em modo longo, possibilitando a execução de convidados de 64 bits em hosts de 64 bits via tradução binária . A Intel não adicionou suporte de segmentação à sua implementação x86-64 (Intel 64), impossibilitando a virtualização de software de 64 bits nas CPUs Intel, mas o suporte ao Intel VT-x possibilita a virtualização assistida de hardware de 64 bits na plataforma Intel

O VMWare também disse que a falta de virtualização desafia a proteção da VM

Desafios da virtualização x86-64

  • A arquitetura AMD64 inicial não incluiu segmentação no modo de 64 bits
    • Segmentação também ausente do EM64T

Como protegemos o VMM?

  • O suporte ao convidado de 64 bits requer assistência adicional de hardware
    • Verificações de limite de segmento disponíveis no modo de 64 bits nos processadores AMD mais recentes
    • O VT-x pode ser usado para proteger o VMM no EM64T
      • Requer abordagem de captura e emulação em vez de BT

Consulte Mais informação:

As CPUs Intel exigem suporte a EM64T e VT no chip e no BIOS para executar máquinas virtuais de 64 bits. Este artigo ajuda a garantir que seu processador seja compatível com VT e também o instrui sobre como habilitar esse recurso
http://kb.vmware.com/selfservice/microsites/search.do?language=pt_BR&cmd=displayKC&externalId=1003944


A única maneira, neste caso, é usar um emulador como QEMU ou Bochs , ou um software de paravirtualização como Xen.

Leia mais: Executando o x86-64 ASM em um processador x86-32

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.