mkaster
(usa Fedora)
Enviado em 30/12/2016 - 19:53h
Em geral, o módulo vboxdrv é compilado e instalado através do script "vboxconfig", que deve ser executado como root e deve estar instalado o pacote "kernel-devel" (distro FEDORA) (verifique qual o nome desse pacote na sua distro). A compilação costuma ocorrer sem problemas. Porém ocorrerá outro erro:
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.
Essa mensagem aparece porque o módulo não é assinado. Em sistemas com boot protegido EFI é obrigatório que os módulos sejam assinados para poderem ser carregados. Há duas soluções para isso: (1) Desabilitar o modo EFI; (2) Criar e registrar a assinatura do módulo.
(1) Instale o pacote "mokutil", caso não esteja instalado. MOK significa "Machine Owner Key". Depois use o comando:
sudo mokutil --disable-validation
Será pedido para definir uma senha. Depois do reboot, a BIOS mostrará uma caixa de diálogo onde se pode desabilitar o Secure Boot.
(2) Para assinar o módulo, deve-se seguir esses passos:
a. Criar as chaves de assinatura:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/"
b. Assinar o módulo:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
c. Registrar as chaves no Secure Boot:
sudo mokutil --import MOK.der
d. Reboot e siga as instruções para registrar o MOK. O sistema irá dar reboot uma vez mais. Talvez seja necessário carregar manualmente o módulo:
sudo modprobe vboxdrv
Esses procedimentos estão detalhados no link:
http://askubuntu.com/questions/760671/could-not-load-vboxdrv-after-upgrade-to-ubuntu-16-04-and-i-wan...