Hoje vou trazer uma solução para um erro que me deu um trabalhão para encontrar uma solução, o erro VT-x is not available (verr_vmx_no_vmx).
Passei por este erro ao instalar o
Docker-Machine na minha máquina com Windows 10 e o VirtualBox, resultando que
nenhum dos dois funcionou mais.
1 - Vamos entender o problema:
VT-x é a Tecnologia de Virtualização da Intel que permite o processador
rodar varios SOs ao mesmo tempo de forma que eles “achem” que estão rodando de
forma independente. (tem link sobre isso no final).
Bem, até aí, tudo normal, você pode instalar VirtualBox por exemplo e
mandar ver. A questão é quando você instala algum programa ou usa alguma
funcionalidade que usa o Hyper-v no Windows 10 ele simplesmente “toma” o driver
VT-x pra ele e não divide com outros programas, assim, o VirtualBox, por
exemplo, para de funcionar. E geralmente habilitamos o Hyper-v pra trabalhar com o Docker. Isso quer dizer que as
duas tecnologias Docker podem gerar incompatibilidade entre si dependendo da
forma que usadas no Windows.
O
que é o Hyper-v? É o sistema de virtualização nativo do Windows 10. (link no
final).
2 – Solução:
Para o caso de o problema ter sido gerado pelo uso do Docker-Machine
você pode usar o driver Hyper-v ao invés do VirtualBox para criar as VMs. Veja
como aqui: https://docs.docker.com/machine/drivers/hyper-v/
Para outros casos, ou quando quiser forçar o uso do VirtualBox com o
Docker-Machine você vai precisar ficar habilitando e desabilitando o Hyper-v
pela linha de comando e também na tela de ativação/desativação de recursos do windows, e vai precisar reiniciar ao fazer isso.
Com
esse comando você desabilita:
> bcdedit /set hypervisorlaunchtype off
Com esse você habilita:
> bcdedit /set hypervisorlaunchtype on
ou
> bcdedit /set hypervisorlaunchtype auto
!IMPORTANTE! O Docker está dando a opção de usar o Windows Subsystem Linux - WSL 2 no lugar do Hyper-v, mas essa solução continua usando o Hyper-v por baixo dos panos, veja no link https://docs.docker.com/docker-for-windows/wsl/. Por hoje é isso, espero ter ajudado!
Links:
https://docs.microsoft.com/pt-br/virtualization/hyper-v-on-windows/about/
https://docs.microsoft.com/en-us/archive/blogs/gmarchetti/turning-hyper-v-on-and-off
Cara, também estou com um problema com o Docker, aqui está dando o erro ""This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"."
ResponderExcluirSendo que na BIOS já está habilitado
Oi Luiz, então, este erro que citei é justamente quando já está habilitado e mesmo assim não funciona. Você está usando o Docker-Machine também? Ou só o Docker? Ao executar o comando bcdedit /set hypervisorlaunchtype auto como administrador e reiniciar esse erro vai parar, vc vai conseguir usar o Docker e quando usar o bcdedit /set hypervisorlaunchtype off vai conseguir usar o VirtualBox.
Excluir