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?

Samir
fonte
@ 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 ).

nc4pk
fonte
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

phuclv
fonte