MacOS High Sierra 10.13 introduziu o recurso de carregamento de extensão de kernel aprovado pelo usuário em 2017. Em todas as versões do macOS, você deve aprovar manualmente as extensões do kernel antes que elas possam ser carregadas.

Se você tentar carregar a extensão do kernel (KEXT) sem aprovação, você encontrará a mensagem de erro VirtualBox Kernel Driver Not Installed.

Embora isso geralmente aconteça durante a primeira inicialização após a instalação, o erro também pode ocorrer em momentos posteriores devido a módulos não assinados e problemas semelhantes. O mesmo vale para os sistemas Linux também.

O que está causando o erro de driver do kernel do VirtualBox não instalado?

Como afirmado, esse erro ocorre no Mac principalmente porque a extensão do kernel não foi aprovada para carregar. Outros motivos comuns para esse erro incluem: Problemas de assinatura do módulo kextKernel Vbox não registradosProblemas com o cache kext Sinalizador de gerenciamento kext configurado incorretamenteMódulo do kernel e incompatibilidade de versão do GCC

Como corrigir este erro no Mac?

Em primeiro lugar, observe que O VirtualBox funciona apenas em Macs Intel, pois ainda não foi portado para macs M1. Outra coisa que vale a pena mencionar é que vários usuários conseguiram resolver esse erro mudando para uma versão diferente do VirtualBox e instalando o pacotes de extensão.

Dessa forma, antes de iniciar a solução de problemas, recomendamos usar a versão mais recente do VirtualBox ou reverter para uma versão estável mais antiga, pois isso pode corrigir facilmente o erro.

Permitir que o módulo carregue

Na maioria dos casos, permitir que o módulo do kernel carregue é tudo o que é necessário para corrigir esse erro. Aqui estão as etapas necessárias para isso:

Clique no menu Apple e vá para Preferências do sistema > Segurança e privacidade. Pressione o botão Permitir na parte inferior.
O problema deve ser resolvido agora. Mas lembre-se de que a opção de permissão fica disponível apenas por 30 minutos após a solicitação de carregamento. Você precisará tentar carregar o módulo novamente para fazê-lo reaparecer.

Se o método GUI não estiver funcionando, digite o seguinte comando no terminal para reiniciar o serviço de inicialização para carregar o módulo do kernel e tente mais uma vez:

sudo/Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

Além disso, você também pode tentar registrar a extensão do kernel do VirtualBox diretamente por meio do terminal,, pois isso corrigiu esse erro para alguns usuários. Aqui está o comando necessário para isso:

sudo kmutil load-p’/Library/Application Support/VirtualBox/VBoxDrv.kext’

Como antes, permita que o kernel seja carregado via System Preferências e reinicie e verifique se o VirtualBox funciona. Se o erro ainda persistir, você pode tentar adicionar o ID de desenvolvedor da Oracle à política de avaliação de segurança. Você está basicamente aprovando que a extensão do kernel pode ser carregada, mas desta vez pelo terminal.

Primeiro , digite o seguinte comando no terminal:
spctl kext-consent add VB5E2TV963Se isso não ajudar, reinicie o Mac e segure Command + R para inicializar no modo de recuperação >.Selecione Utilitários > Terminal e digite o comando da Etapa 1 novamente.

Limpar a reinstalação do VirtualBox

Como afirmado, a reinstalação do VirtualBox tem sido uma solução eficaz correção para vários usuários. Aqui estão as etapas para uma reinstalação limpa:

Abra o arquivo de instalação do VirtualBox e clique em VirtualBox_uninstall.tool.
Digite Sim para confirmar que deseja desinstalar o VirtualBox e todos os seus pacotes. Depois, reinicie o seu Mac e baixe a versão mais recente do VirtualBox. No meu caso, o nome do arquivo é VirtualBox-6.1.36-152435-OSX.dmg. Execute os seguintes comandos no terminal para instalar o VirtualBox:
sudo hdiutil attach VirtualBox-6.1.36-152435-OSX.dmg
cd/Volumes/VirtualBox
sudo installer-package VirtualBox.pkg-target/

Desabilitar Inicialização Segura

A Inicialização Segura é conhecida por às vezes interferir em programas confiáveis ​​devido a problemas com a assinatura digital. Você pode tentar desabilitar isso brevemente para garantir que não esteja causando o erro. Aqui estão as etapas para fazer isso:

Segure Command + R enquanto liga o Mac para inicializar no modo de recuperação. Clique em Utilitários na barra de menus e selecione Utilitário de segurança de inicialização.Na janela Inicialização segura, selecione Sem segurança.
Reinicie o seu Mac e verifique se o VirtualBox funciona agora. Se o erro persistir, outra coisa é provavelmente o culpado. Você pode seguir as mesmas etapas para reativar o Secure Boot e prosseguir para as outras correções.

Limpar Kext Cache

Você pode usar o comando sudo kextcache – clear-staging para limpar o cache de extensão do kernel e potencialmente resolver este erro. Se o comando não ajudar inicialmente, aqui estão algumas outras etapas que você pode seguir:

Reinicie seu Mac e use o comando novamente.
Desinstale VirtualBox, reinicie o Mac novamente e reinstale VirtualBox.Verifique se o erro foi resolvido agora.

Alterar sinalizador de extensão do kernel

Alguns usuários também relataram casos em que o sinalizador restrito não foi definido em relação a KernelExtensionManagement. Isso afetou a forma como o SIP interagiu com o diretório e, finalmente, levou ao erro VirtualBox Kernel Driver Not Installed. Veja como você resolve esse erro nesses casos:

Desinstale Virtualbox e reinicie seu Mac. Segure Command + R para inicializar no modo de recuperação e selecione Utilitários > Terminal. Execute o seguinte comando para alterar o sinalizador:
chflags restrito/Volumes/Macintosh\ HD/private/var/db/KernelExtensionManagement
Reinicie o Mac e reinstale o VirtualBox.

Como corrigir este erro no Linux?

As correções listadas abaixo são destinadas a distribuições baseadas em Debian, mas você pode modificá-las ligeiramente e aplicá-las à maioria das outras distribuições também.

Resolver problemas do módulo do kernel do VBox

As etapas a seguir ajudarão a resolver vários problemas potenciais com o módulo do kernel do VirtualBox que podem estar causando esse erro:

Primeiro, tente reinstalar o módulo do kernel do VirtualBox com o seguinte comando:
sudo/etc/init.d/vboxdrv setupSe isso não ajudar, atualize os cabeçalhos do kernel do Linux, reconfigure o pacote do VirtualBox e carregue o módulo como tal:
sudo apt-get install linux-headers-$(uname-r)
sudo dpkg-reconfigure virtualbox-dkms 
sudo modprobe vboxdrv
Se o erro ainda persistir, exec ute os seguintes comandos para remover o VirtualBox completamente e reinstalá-lo:
rm-r/etc/init.d/vboxdrv
rm-r/var/lib/update-rc.d/vboxdrv
sudo apt-get remove virtualbox-dkms
sudo apt-get install virtualbox virtualbox-dkms virtualbox-guest-utils virtualbox-guest-additions virtualbox-qtVerifique se o erro foi resolvido.

Alterar versão do GCC

Há um problema comum em que o O módulo Kernel do VirtualBox não carrega porque o kernel não corresponde à versão do GCC usada para compilar o módulo. Nesses casos, você deve usar o mesmo compilador usado para construir o kernel.

Por exemplo, para alterar a versão do GCC para GCC 8, você deve seguir os seguintes passos:

Primeiro, remova o VirtualBox e seus arquivos de configuração com o seguinte comando:
sudo apt-get purge virtualbox-*Em seguida, instale a versão do GCC desejada, que neste exemplo é 8:
sudo apt-get install gcc-8 g++-8
Defina o GCC padrão para GCC 8:
sudo update-alternatives – instale/usr/bin/gcc gcc/usr/bin/gcc-8 800 – slave/usr/bin/g++ g++/usr/bin/g++-8Finalmente, reinstale o VirtualBox e verifique se o problema foi resolvido.

Corrigir problemas de assinatura do módulo

Os módulos DKMS geralmente são configurados na instalação para funcionar com inicialização segura. Mas se houver problemas de assinatura do módulo, o módulo não poderá ser carregado. Você pode confirmar isso facilmente desativando temporariamente o Secure Boot. Aqui estão as etapas para fazer isso no Ubuntu:

Execute o comando sudo mokutil – disable-validation.Digite uma senha temporária e confirme. Reinicie seu sistema e pressione qualquer tecla na tela MOK Management. Selecione Change Secure Boot State e digite a senha temporária.Selecione Sim > OK para desabilitar a Inicialização Segura. Você pode usar o comando sudo mokutil – enable-validation para reativar a Inicialização Segura mais tarde, se desejar.

Se você não se sentir à vontade para desabilitar a inicialização segura, a segunda maneira de corrigir o problema de assinatura do módulo é assinando os módulos você mesmo. Veja como você pode fazer isso:

Primeiro, use o seguinte comando para criar uma nova chave MOK:
sudo update-secureboot-policy – ​​new-keyPróximo, execute o comando kmodsign apropriado para assinar o módulo. assinado, execute sudo update-secureboot-policy – ​​register-key para executar o assistente de registro ou registre-o manualmente executando sudo mokutil – import .

Se você está tendo dificuldade para assinar manualmente os módulos do kernel do VirtualBox, há são alguns guias excelentes sobre este no GitHub e o blog do Ubuntu.

Categories: IT Info