Demorei muito tempo para resolver esse problema. Teve esse problema com vBox em 2 distros (Ubuntu e Arch).
Eu tinha dkms e todos os módulos já instalados e compilados no meu kernel, mas ainda tenho uma mensagem de erro relacionada ao módulo quando tentei executar uma máquina virtual vBox.
Se sua GUI vBox iniciar sem problemas mas receber um erro informando que você deve instalar o módulo de kernel VBoxDrv (ou qualquer outro módulo) ao tentar executar uma máquina virtual, seus problemas não estão relacionados à instalação dos módulos em seu kernel mas ativando-os no modprobe que o script de instalação do módulo não faz.
Para carregar um módulo manualmente (como vboxdrv
), abra um prompt de terminal e insira:
sudo modprobe vboxdrv
se a sua mensagem de erro lhe disser que falta outro módulo, não deixe de ativá-lo também.
Se a Máquina virtual for executada depois disso sem fornecer uma mensagem de erro, você encontrará a solução. Então você pode ativar o módulo vboxdrv permanentemente indo até /etc/modules-load.d/
(ou qualquer que seja o diretório .d
que seu modprobe usa) e fazendo um arquivo .conf dentro dele (como vbox.conf
). No arquivo .conf, insira os nomes dos módulos de kernel do vbox que você deseja adicionar, como: vboxdrv
e, opcionalmente, vboxnetadp
, vboxnetflt
e vboxpci
. Se você não sabe o que eles fazem, veja o trecho abaixo que tirei do wiki do vBox. Salve o arquivo .conf e reinicie
Do wiki do Vbox:
vboxnetadp
e vboxnetflt
são necessários quando você pretende usar o recurso "Rede somente para host". Mais precisamente, vboxnetadp
é necessário para criar a interface do host nas preferências globais do VirtualBox, e vboxnetflt
é necessário para iniciar uma máquina virtual usando essa interface de rede.
vboxpci
é necessário quando sua máquina virtual precisa passar por um dispositivo PCI em seu host.
Nota: Se os módulos do kernel do VirtualBox foram carregados no kernel enquanto você atualizou os módulos, você precisa recarregá-los manualmente para usar a nova versão atualizada. Para fazer isso, execute vboxreload
como root.