Consegui resolver o problema graças aos comentários e estou compartilhando a solução no caso de alguém se deparar com o mesmo problema que eu. O UEFI, interface entre seu hardware e software, que é o mais responsável pela inicialização do sistema, possui uma tecnologia denominada Secure Boot, que por sua vez verifica se o carregador de inicialização do sistema está assinado com uma chave criptográfica autorizada por um banco de dados o firmware. Com verificação de assinatura adequada no (s) carregador (s) de inicialização de estágio seguinte, no kernel e, potencialmente, no espaço do usuário, é possível impedir a execução de código não assinado. Isso ajuda na segurança do seu sistema e dificulta o acesso de softwares mal-intencionados ao seu sistema.
O problema atual lançado na instalação é devido à falta de uma chave válida para alguns módulos do software VirtualBox. Se você tiver esse problema, há algumas maneiras de lidar com isso, a primeira é fácil e a última é um pouco trabalhosa:
- Desabilite o BOOT SECURE como apontado por Pilot6:
Na maioria dos casos, você pode entrar nas configurações do UEFI usando o menu do grub. Pressione o botão ESC na inicialização, entre no menu do grub e selecione Configuração do sistema. A opção de inicialização segura deve estar na seção "Segurança" ou "Inicialização" do UEFI.
Você pode entrar diretamente no UEFI, mas isso depende do seu hardware. Leia o manual do seu computador para ver como chegar lá. Pode ser Del , ou F2 na inicialização, ou qualquer outra coisa.
Uma maneira alternativa é desabilitar a inicialização segura usando mokutil
.
Desde a versão 4.4.0-21.37 do kernel do Ubuntu, isso pode ser corrigido executando
sudo apt install mokutil
sudo mokutil --disable-validation
Será necessário criar uma senha. A senha deve ter pelo menos 8 caracteres. Após a reinicialização, a UEFI perguntará se você deseja alterar as configurações de segurança. Escolha "Sim".
Em seguida, você será solicitado a inserir a senha criada anteriormente. Algum firmware UEFI pede não a senha completa, mas para inserir alguns caracteres, como primeiro, terceiro, etc. Tenha cuidado. Algumas pessoas não entendem isso. Eu também não obtive isso da primeira tentativa; -)
Update: Agora esta configuração do kernel está habilitada em todos os kernels Ubuntu suportados. O Ubuntu 16.04, 15.10 e 14.04 são afetados.
- Módulos Sing VituralBox como sugerido por Majal:
Desde a versão do kernel 4.4.0-20, foi imposto que os módulos de kernel não assinados não poderão ser executados com o Secure Boot ativado. Como você deseja manter a inicialização segura, a próxima etapa lógica é assinar esses módulos.
Então, vamos tentar.
-
Crie 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/"
-
Assinar o módulo (vboxdrv para este exemplo)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
-
Registre as chaves no Secure Boot
sudo mokutil --import MOK.der
Forneça uma senha para uso posterior após a reinicialização
-
Reboot
e siga as instruções para Inscrever MOK (Chave do Proprietário da Máquina). Aqui está uma amostra com fotos. O sistema será reiniciado mais uma vez. Após a reinicialização, talvez seja necessáriosudo modprobe vboxdrv
para carregar o módulo.
Por favor, deixe-me saber se o VirtualBox seria executado desta forma no Ubuntu 16.04 (no kernel 4.4.0-21 ou superior, eu acredito).
Recursos: Site detalhado artigo para o Fedora e Implementação do Ubuntu da assinatura do módulo. (eles estiveram trabalhando nisso) ;-) E para a segurança consciente, por favor considere o comentário de @zwets abaixo. Para ter recursos completos de rede e PCI, você também pode assinar os seguintes módulos: vboxnetflt
, vboxnetadp
e vboxpci
. Obrigado a @shasha_trn pelo comentário abaixo.
Recurso adicional: Eu criei um script bash para uso próprio toda vez que virtualbox-dkms
atualiza e, portanto, sobrescreve os módulos assinados. Confira meu vboxsign no GitHub .