Início
» LINUX
»
Como corrigir um erro de inicialização de máquina virtual do VirtualBox no Linux
Como corrigir um erro de inicialização de máquina virtual do VirtualBox no Linux
Se uma máquina virtual do VirtualBox não iniciar no Linux , leia a mensagem de erro exata antes de reinstalar qualquer coisa. Uma causa comum no host é a vboxdrvausência do módulo do kernel necessário, a compilação para um kernel diferente ou o bloqueio pela Inicialização Segura (Secure Boot). Outras mensagens apontam para uma configuração da máquina virtual, uma incompatibilidade de versões ou um recurso que requer o Pacote de Extensões (Extension Pack).
1. Registre o erro e verifique as versões do host.
Anote todo o texto da caixa de diálogo e o código de erro e, em seguida, verifique qual versão do VirtualBox e qual kernel do Linux estão em execução:
VBoxManage --version
uname -r
Use o próprio erro para escolher a próxima verificação. Se o VirtualBox abrir, mas uma máquina virtual falhar, concentre-se no log e nas configurações dessa máquina virtual. Se todas as máquinas virtuais falharem com uma mensagem de driver do host, comece com vboxdrv...
Exemplo apenas: utilize o código de erro e os valores de versão exibidos em seu próprio host Linux.
2. Verifique se o driver de host do VirtualBox está carregado.
O Linux usa o vboxdrvmódulo do kernel do host para executar máquinas virtuais. Verifique se há módulos do VirtualBox e tente carregar o driver principal:
lsmod | grep '^vbox'
sudo modprobe vboxdrv
Se modproberetornar um erro, mantenha a mensagem exata. Se a operação for bem-sucedida, tente novamente com a máquina virtual. O guia de instalação do host Linux da Oracle explica que o VirtualBox precisa de módulos do kernel do host e dos cabeçalhos do kernel apropriados.
Uma operação bem-sucedida modprobepode não retornar nenhum texto; a pista importante é uma mensagem de erro.
3. Recompile o módulo para o kernel que você inicializou.
Após uma atualização do kernel do Linux, o módulo do VirtualBox pode ainda não ser compatível com o kernel em execução. Confirme se os arquivos de desenvolvimento para esse kernel específico estão disponíveis:
uname -r
ls -ld "/lib/modules/$(uname -r)/build"
Se o buildlink estiver faltando, instale os cabeçalhos do kernel ou o pacote de desenvolvimento correspondente usando o gerenciador de pacotes da sua distribuição. No Ubuntu ou Debian, quando o VirtualBox veio do repositório da distribuição, uma solução típica é:
Os nomes dos pacotes diferem no Fedora, Arch Linux, openSUSE e outros sistemas. Instale os cabeçalhos para o kernel em execução e o pacote host-module que corresponda à forma como você instalou o VirtualBox. Não misture o instalador da Oracle com os pacotes do VirtualBox da sua distribuição; use uma única fonte de pacote e suas instruções de recompilação. O índice de pacotes do Ubuntu mostra quais versões atualmente fornecem o VirtualBox virtualbox-dkms.
A versão do kernel e seu diretório de compilação devem corresponder ao mesmo kernel em execução.Este comando de pacote se aplica a instalações do Ubuntu ou Debian a partir de seus repositórios; use os nomes de pacote da sua distribuição em outros casos.
4. Verifique a Inicialização Segura se o Linux rejeitar o módulo.
A Inicialização Segura pode impedir o carregamento de um módulo de kernel de terceiros não assinado. Verifique o estado do módulo e procure por mensagens de kernel relacionadas:
Se a saída indicar que a chave foi rejeitada ou que o módulo não está assinado, siga o processo de assinatura de módulos da sua distribuição. No Ubuntu, os módulos DKMS podem ser assinados com uma Chave do Proprietário da Máquina (MOK); se a instalação solicitar o cadastro de uma chave, conclua o processo na próxima reinicialização. A Canonical documenta o processo de Inicialização Segura e MOK . Desativar a Inicialização Segura não é a primeira solução a ser tentada.
Utilize o log do kernel para distinguir um módulo rejeitado de uma compilação ausente ou com falha.
5. Verifique o Pacote de Extensão somente quando o erro assim o exigir.
O Pacote de Extensões não é um requisito geral para iniciar uma máquina virtual comum. Ele adiciona recursos específicos, incluindo suporte a USB 2.0 e 3.0 e recursos de exibição remota. Se o erro mencionar uma extensão ou um desses recursos, verifique o pacote instalado:
VBoxManage list extpacks
Se estiver instalado, a versão deve corresponder à versão do host VirtualBox. Atualize ou remova um pacote desatualizado através do gerenciamento de extensões do VirtualBox ou baixe a versão correspondente na página oficial de downloads do VirtualBox . Não instale um pacote de extensão antigo apenas porque uma máquina virtual não inicia.
Compare a versão do pacote de extensão com a versão do host em VBoxManage --version.
6. Utilize o log da máquina virtual para erros que afetam uma única máquina.
Quando apenas uma máquina virtual (VM) falha, abra o arquivo de log correspondente VBox.logna Logspasta da VM. O local padrão é `/etc/systemd/system` ~/VirtualBox VMs/VM-name/Logs, embora uma VM possa usar uma pasta diferente. Verifique as últimas linhas próximas à inicialização com falha para identificar o primeiro erro fatal; o capítulo de solução de problemas da Oracle descreve o log e as pistas de diagnóstico comuns.
Os trechos dos logs variam de acordo com a falha; utilize o log real da máquina virtual que não iniciou.
Se a mensagem indicar que a virtualização de hardware não está disponível, habilite o Intel VT-x ou AMD-V (às vezes chamado de SVM) no firmware do host. Se o próprio Linux estiver sendo executado dentro de outra máquina virtual, o hipervisor externo deve expor a virtualização aninhada. Evite alterar configurações de máquinas virtuais não relacionadas, a menos que o erro indique isso.
Os rótulos e o layout do gerenciador variam de acordo com a versão do VirtualBox; a mensagem de erro deve indicar qual configuração verificar.
7. Evite alterações de permissão arriscadas
Não tente chowncorrigir /usro VirtualBox dessa forma. O diretório do sistema normalmente pertence ao usuário root, e alterar a propriedade de forma abrangente pode danificar arquivos gerenciados por pacotes sem reparar o módulo do kernel. Após instalar os cabeçalhos corretos ou recompilar o driver, reinicie o sistema com o kernel correto e tente executar a máquina virtual novamente.
Se o problema persistir, anote o texto exato da caixa de diálogo, a distribuição Linux e a versão do kernel, a versão do VirtualBox, dkms statusa saída e o final relevante do comando VBox.log. Esses detalhes identificam se a próxima etapa está relacionada ao driver do host, à Inicialização Segura, à configuração da máquina virtual ou a uma incompatibilidade de versões.