anúncios

domingo, 26 de maio de 2019

Resolvendo o problema Kernel driver not installed no VirtualBox

Se após instalar o VirtualBox, criar a máquina virtual (VM) e ao tentar iniciar a VM ocorrer o erro seguinte:
"Kernel driver not installed (rc=-1908) The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing '/sbin/vboxconfig' as root.

If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information. where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT."

Desde a versão do kernel Linux 4.4.0-20, foi obrigado que os módulos do kernel sem estar assinados não poderão ser executados com o Secure Boot ativado. Caso você deseja manter o Secure Boot habilitado, então precisa seguir os procedimentos a seguir para assinar esses módulos.

Antes, verifique com o comando seguinte:
$ mokutil --sb-state
SecureBoot enabled

Se estiver como SecureBoot e quiser continuar habilitado para usar VMs no VirtualBox, então segue os procedimentos.

1. openssl req -new -x509 -newkey rsa:2048 -keyout vboxdrv.priv -outform DER -out vboxdrv.der -nodes -days 36500 -subj "/CN=MySelf/"

2. sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./vboxdrv.priv ./vboxdrv.der $(modinfo -n vboxdrv)

3. tail $(modinfo -n vboxdrv) | grep "Module signature appended"

4. sudo mokutil --import vboxdrv.der

5. Reiniciar e aplicar o MOK no boot com o password do item 4.

Perform MOK management
Enroll MOK
Continue
Yes
Password (definido no item 4)
OK

6. mokutil --test-key MOK.der

Carregar o módulo vboxdrv
sudo modprobe vboxdrv

Caso não queira, pode desativar a validação com o comando seguinte:
$ sudo mokutil --disable-validation
Ou desabilitar o SecureBoot

Referências
https://askubuntu.com/questions/760671/could-not-load-vboxdrv-after-upgrade-to-ubuntu-16-04-and-i-want-to-keep-secur

Feito!

15 comentários:

  1. Parabéns! Excelente post. Me ajudou bastante e resolveu o problema. Obrigado.

    ResponderExcluir
  2. Olá estava seguindo seu tutorial mais to parado nesse ponto sem saber o que fazer pode explicar ?


    fsociety@blackbox:~$ sudo su
    [sudo] senha para fsociety:
    root@blackbox:/home/fsociety# openssl req -new -x509 -newkey rsa:2048 -keyout vboxdrv.priv -outform DER -out vboxdrv.der -nodes -days 36500 -subj "/CN=MySelf/"
    Can't load /root/.rnd into RNG
    140513823494592:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/root/.rnd
    Generating a RSA private key
    ..............................+++++
    ...................................+++++
    writing new private key to 'vboxdrv.priv'
    -----
    root@blackbox:/home/fsociety# /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./vboxdrv.priv ./vboxdrv.der $(modinfo -n vboxdrv)
    modinfo: ERROR: Module vboxdrv not found.
    Usage: scripts/sign-file [-dp] []
    scripts/sign-file -s []
    root@blackbox:/home/fsociety#

    ResponderExcluir
    Respostas


    1. Adilson M S JUnior,

      Se estiver como SecureBoot e quiser continuar habilitado para usar VMs no VirtualBox, então segue os procedimentos.

      1. openssl req -new -x509 -newkey rsa:2048 -keyout vboxdrv.priv -outform DER -out vboxdrv.der -nodes -days 36500 -subj "/CN=MySelf/"

      2. sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./vboxdrv.priv ./vboxdrv.der $(modinfo -n vboxdrv)

      3. tail $(modinfo -n vboxdrv) | grep "Module signature appended"

      4. sudo mokutil --import vboxdrv.der

      5. Reiniciar e aplicar o MOK no boot com o password do item 4.

      Feito!

      Excluir
  3. tive o seguinte erro: modinfo: ERROR: Module vboxdrv not found.

    ResponderExcluir
    Respostas
    1. Henrique.

      Faça isso

      $ sudo apt install linux-headers-`uname -r`

      $ sudo apt install --reinstall virtualbox-dkms

      Feito!

      Excluir
  4. o q é aplicar o MOK no boot???? sou noob

    ResponderExcluir
    Respostas
    1. Ao reiniciar o sistema, deve exibir no primeiro boot caso tenha o Secure Boot ativado.

      Perform MOK management
      Enroll MOK
      Continue
      Yes
      Password (definido no item 4)
      OK

      Isso é aplicar o MOK

      Excluir
    2. Depois que eu digito a senha, não aparece OK, mas sim 3 opções:

      Reboot
      Enroll Key from disk
      Enroll hash from disk

      Em que, dentro do "Enroll key from disk" aparecem duas opções:

      SYSTEM
      PciRoot(0)/Pci(0x17/0x0)/Sata(0x1,0xffff,0x0)/HD(Part2,Sig61F44945-8AFF-442E-9...

      Excluir
    3. Rafael Gidra,

      Ao reiniciar o sistema, deve exibir no primeiro boot caso tenha o Secure Boot ativado.

      Perform MOK management
      Enroll MOK
      Continue
      Yes
      Password (definido no item 4)
      OK

      Isso é aplicar o MOK

      Feito!

      Excluir
  5. Muito obrigado!
    Quando instalei o virtualbox, acabei não selecionando a opção "enroll mok" quando reiniciei o pc. Acabou deixando o virtualbox inutilizável e não conseguia nem desinstalar pra instalar novamente.
    Fiquei um tempão tentando resolver isso, mas sem sucesso.
    Aqui foi onde consegui resolver.
    De novo: Muito obrigado!

    ResponderExcluir
  6. Parabéns, consegui resolver agora

    ResponderExcluir
  7. Resolveu meu problema. Uso o Mint 19.3. Obrigado!

    ResponderExcluir
  8. Resolveu meu problema. Uso o Mint 19.3. Obrigado!

    ResponderExcluir
  9. muito obrigado me ajudou bastante !
    Show!!!!!!

    ResponderExcluir