Fala pessoal beleza! Recentemente, troquei meu computador e instalei o Windows 10 Pro para trabalhar com o Docker. Mas eu também queria usar o Docker no Ubuntu em uma máquina virtual e aí começaram os meus problemas :-|. Ao inicializar minha máquina virtual Ubuntu pelo VitualBox acontecia um erro:
Failed to open a session for the virtual machine Ubuntu. (VERR_NEM_MISSING_KERNEL_API). VT-x is not available (VERR_VMX_NO_VMX). Result Code: E_FAIL (0x80004005) Component: ConsoleWrap Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
Aí depois de uma longa pesquisa e um monte de posts inúteis eu descobri que o VirtualBox e o Hyper-V não podem coexistir na mesma máquina (legal né :-|). Como apenas uma virtualização pode executar por vez (desconhecia isso) e como o Hyper-V executa o tempo todo, o VirtualBox não inicializa nenhuma máquina virtual. A solução alternativa (ainda bem que geralmente há uma solução alternativa, não é?) é desabilitar o Hyper-V quando você quiser executar o VirtualBox. Eu encontrei algumas maneiras diferentes na web para fazer isso, mas o único que achei que funcionou (foi esse post do Derek Gusoff) envolveu a alteração das configurações de inicialização usando o bcdedit.
Se você executar o bcdedit sem argumentos, deverá ver uma propriedade chamada hypervisorlaunchtype. Essa propriedade pode ser definida como off ou auto.
Para desabilitar o Hyper-V para usar o VirtualBox, abra um prompt de comando como administrador e execute o comando:
bcdedit /set hypervisorlaunchtype off
Depois disso você precisará reinicializar sua máquina, feito isso o VirtualBox executará suas máquinas virtuais normalmente. Para ativar o Hyper-V novamente, execute o comando:
bcdedit /set hypervisorlaunchtype auto
E claro reinicie.