Não foi possível instalar uma VM em outra VM

23

Meu computador host está executando o Windows 10 e meu convidado é o Ubuntu no VirtualBox. Estou tentando executar uma terceira VM no Ubuntu, mas o VirtualBox diz:

Falha ao abrir uma sessão para a máquina virtual Windows XP. VT-x não está disponível. (VERR_VMX_NO_VMX).

Ele também retornou um código de erro 0x80004005

Eu tenho a virtualização ativada, é claro. Não é nem uma opção para desligar no meu BIOS (MSI z170a). Minha máquina é muito sofisticada, então eu sei que ela pode funcionar, eu descartei tudo o que posso.

SidedTech
fonte
4
FWIW, o KVM pode fazer aninhados.
Jonas Schäfer
1
Pelo que me lembro, uma VM interna de 32 bits deve funcionar, pois isso não requer virtualização de hardware (VT-x). Supondo que você esteja interessado no Windows XP de 32 bits, isso deve funcionar para você.
CodesInChaos
4
Por que aninhar as caixas virtuais, afinal?
Xen2050
4
@ Xen2050 porque, VMception.
David Refoua
@DRSDavidSoft Esse também foi o meu primeiro ... A SidedTech poderia ter procurado o VMception , teria encontrado Você pode executar um emulador de máquina (Bochs) dentro de uma máquina virtual? que responde indiretamente ao seu Q. Eu imaginaria algo como "Eu tive que mudar minha instalação do linux para uma VM [por algum bom motivo], mas ainda quero executar as minhas VMs que eu mantenho no linux e não sei se apenas copiar arquivos de configuração para ganhar vai funcionar e não quero tentar"
Xen2050

Respostas:

45

O que você está tentando fazer é virtualização aninhada. Não é suportado no virtualbox e de forma alguma é uma prioridade para eles.

Você precisará executar a VM do XP no host.

No THEORY, você poderia executar um QEMU antigo simples na VM (emula todo o processador e praticamente todo o sistema) para fazer isso, mas o desempenho será realmente muito ruim.

Journeyman Geek
fonte
O desempenho de fazer isso provavelmente será uma reminiscência das soluções iniciais de virtualização de PCs (não assistidas por hardware). Pense lento MS-DOS em hardware moderno ...
um CVn
4
@ MichaelKjörling Por que a comparação? A virtualização inicial de PCs era assistida por hardware, mas não da mesma maneira que hoje. O VMWare costumava executar o código do anel 0 no anel 1 com traps em algumas instruções e outros truques, como reescrever o código do kernel. Pelo que me lembro, o método do VMWare era, na verdade, um par de% mais rápido que o VT-x, quando o VT-x foi lançado pela primeira vez, de acordo com os benchmarks da época, portanto, nem um pouco lento. Aliás, executar uma versão antiga aninhada do VMWare, ou talvez o VBox com o VT-x desativado em um convidado de 32 bits, pode realmente funcionar e funcionar relativamente bem. Mesmo que eu o fizesse apenas por curiosidade.
Nitro2k01
@ nitro2k01Quando Micheal esperou soluções de virtualização "iniciais", ele quis dizer muito cedo, como meados dos anos 90. Naquela época, havia uma coisa chamada Virtual PC (posteriormente comprada pela Microsoft) que era executada não apenas em um Mac, mas em uma CPU PowerPC emulando x86. Seu VMWare não é cedo, é definitivamente muito moderno
slebetman
@slebetman O Virtual PC foi lançado pela primeira vez em 1997. O VMWare foi lançado pela primeira vez em 1999, que também é sobre quando eu o experimentei. As comparações de benchmark com o VT-x foram obviamente feitas muito mais tarde, mas mencionei isso apenas para mostrar que o método original de virtualização do VMWare não era necessariamente lento. O Virtual PC original, apesar do nome, não é realmente uma máquina virtual, mas um emulador.
Nitro2k01
@ nitro2k01: AH sim. Eu lembro disso. Fusão VMWare que também emulava x86 em máquinas PowerPC. Obrigado por me lembrar disso. Então, o VMWare, por evidência que você mesmo forneceu. Originalmente era realmente como Michael mencionou (apesar do fato de não ter mencionado especificamente o VMWare) #
slebetman