Por que o VirtualBox ou VMware não pode ser executado com o Hyper-V ativado no Windows 10

58

Estou executando o Windows 10 Pro de 64 bits com a tecnologia de virtualização Hyper-V e Intel VT-x ativada. Quando tento executar o VirtualBox 64bit, o Windows entra em um BSOD. Quando executo o VMware, ele mostra um erro.

Por que o VirtualBox e o VMware não podem ser executados com o Hyper-V ativado? Explique com todos os detalhes que você possui, incluindo hardware e software. Quero saber a causa interna desse erro.

Aqui estão algumas das minhas conclusões. A maioria dos sites sugere adicionar uma entrada de inicialização com o BCDedit ou desativar o Hyper-V com o BCDedit. Por exemplo, criando uma entrada de inicialização "sem hipervisor" , execute o Hyper-V e o VirtualBox na mesma máquina . Mas eu posso executar o QEMU com o Hyper-V . O Qemu não mostra nenhum erro no Hyper-V e é executado sem problemas.

Biswapriyo
fonte
2
O Hyper-V não suporta virtualização aninhada (com aceleração de hardware). No entanto, não falhará em circunstâncias normais. O VirtualBox reclamaria que não pode executar convidados x64 e é isso. Então, algo está errado, como um driver de dispositivo com defeito ou o que quer.
Daniel B
Entendo, ele realmente falha. No entanto, novamente: isso não é normal. Um acidente nunca é normal. Parece que este é um erro no Hyper-V. Você provavelmente deve entrar em contato com a Microsoft sobre isso.
Daniel B
Vale ressaltar que o QEMU não é um hipervisor. Hiper-V faz apoio virtualização aninhada.
Ramhound 13/05

Respostas:

67

O VirtualBox e o VMware Workstation (e o VMware Player) são "hipervisores de nível 2". Hyper-V e VMware ESXi são "hipervisores de nível 1".

A principal diferença é que um hipervisor de nível 2 é um aplicativo em execução em um sistema operacional existente, enquanto o hipervisor de nível 1 é o próprio sistema operacional.

Isso significa que, quando você ativa o Hyper-V, o "host" do Windows 10 se torna uma máquina virtual. Especial, mas ainda assim uma máquina virtual.

Portanto, sua pergunta seria mais apropriada: "Por que o VirtualBox e o VMware Workstation não funcionam em uma máquina virtual Hyper-V?" Pode-se responder porque, como VM, a instrução Intel VT-X não é mais acessível a partir da sua máquina virtual, apenas o host tem acesso a ela.

O QEMU funciona porque não faz virtualização, mas emulação, o que é completamente diferente e explica por que o QEMU é dolorosamente lento. A virtualização é o processo para executar uma máquina isolada completa dentro de outra, mas com a ajuda do processador. Isso requer que a máquina virtual e o host sejam compatíveis com as instruções.

Emulação é o processo para executar qualquer máquina dentro de um sistema operacional em execução, não há restrição de plataforma e é por isso que o QEMU pode executar uma máquina ARM em uma plataforma amd64.

Nota: QEMU possui 2 modos de operação:

  • pode funcionar como um emulador, este é o modo explicado acima
  • ele pode funcionar como software de virtualização com a ajuda do KVM se a arquitetura do convidado for compatível com a do host e se a instrução VT estiver presente, é claro.
Veovis
fonte
11
A virtualização cria um sistema "falso" inteiro, exceto o processador em que o hipervisor limita apenas a quantidade de tempo do processador que a vm pode usar. Assim, você pode virtualizar arm apenas em um host arm, x86 em um host x86 / amd64, amd64 em um host amd64 etc. Um emulador recompilará cada instrução para um binário compilado para uma plataforma específica para executar em outra plataforma. QEMU pertence à mesma família como emuladores de consoles por exemplo (PSX, golfinho, Virtual Boy, Project64, MAME ...)
Veovis
A virtualização (sim, não a emulação) já estava disponível muito antes da virtualização assistida por hardware. Pode ser aninhado conforme desejado.
Daniel B
2
Por que o VirtualBox não pode tirar proveito do "Nested VT-x / AMD-V"? Isso é uma limitação do hardware? Do Hyper-V?
user643011 11/08
21

A partir da compilação do Windows Redstone 4, o QEMU poderá executar no Hyper-V empregando a API da plataforma Windows Hypervisor .

O acelerador da Windows Hypervisor Platform (WHPX) está sendo integrado aos patches do QEMU e enviados para mesclagem .

A API da plataforma Windows Hypervisor será incluída no build do Redstone 4

Suporte experimental para WHPX está incluído no QEMU 2.12

Atualização: o Virtualbox 6.0 adicionou suporte ao WHPX Virtualbox 6.0 Changelog .

Atualização 2: O VMWare adicionará suporte ao WHPX na próxima versão do VMWare Workstation e fusão. Estação de trabalho VMware e Hyper-V - trabalhando juntos

nkef
fonte
3
Esta API, em teoria, também poderia ser usada pelo VMWare e VirtualBox.
Ramhound 4/02
@ Ramhound Isso pode ser feito com o VirtualBox ou VMware? Esse artigo menciona apenas o qemu.
Biswapriyo 28/03
@Biswapriyo Eu determinei que o VMWare e o VirtualBox eram possíveis diretamente da documentação. No entanto, VMWare e VirtualBox teria que fazer as mudanças necessárias para a sua aplicação
Ramhound
Você pode explicar como isso é diferente do Nested VT-x / AMD-V?
user643011 11/08
O suporte ao Virtualbox 6.0 'WHPX é de qualidade muito alfa. Mal funciona agora.
user643011 11/08