Eu atualizo do Ubuntu 15.10 para 16.04 e, desde então, o VirtualBox 5.0.18 não inicia mais minhas VMs. Ele reclama que 'vboxdrv' não está carregado. Então, eu tento carregá-lo e obter o seguinte erro:
$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Acredito que esteja relacionado à inicialização segura que eu uso e que desejo continuar usando. Na verdade, com o Ubuntu 15.10, a inicialização segura e o VirtualBox estavam funcionando bem.
Também tentei $ sudo apt-get --reinstall install virtualbox-dkms
criar o módulo do kernel com sucesso, mas não resolvi esse problema.
Alguma idéia de como carregar o vboxdrv enquanto mantém a inicialização segura ativada?
Atualização 2 : Também tentei executar sudo mokutil --disable-validation
. Ao executar este comando, durante a próxima inicialização, sou solicitado a desativar a inicialização segura, adicionar uma chave ou hash do disco. Como não quero desativar a inicialização segura, parece que isso também não resolve o meu problema. Também quero manter o UEFI ativado para uma instalação paralela do Windows.
Nota : Se você não se importa em desativar a inicialização segura, consulte Por que recebo a "Chave necessária não disponível" ao instalar módulos de kernel de terceiros ou após uma atualização do kernel? em vez de.
aptitude install virtualbox virtualbox-dkms
vai assinar o módulo e pedir-lhe um one-time password (?). Reinicialize, entre na configuração do MOK e registre a chave usando essa senha.Respostas:
Desde a versão 4.4.0-20 do kernel, foi imposto que os módulos não assinados do kernel não poderão executar 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.
Criar chaves de assinatura
Opção : para segurança adicional, pule a opção -nodes, que solicitará uma senha. Antes de passar para o próximo passo, certifique-se de
export KBUILD_SIGN_PIN='yourpassword'
Assine o módulo (vboxdrv neste exemplo, mas repita o procedimento para outros módulos
ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko)
para obter a funcionalidade completa)Confirme se o módulo está assinado
Registre as chaves no Secure Boot
que solicitará uma senha para confirmar a importação na próxima etapa.
Reinicie e siga as instruções para Inscrever o MOK (Chave do proprietário da máquina). Aqui está uma amostra com fotos. O sistema irá reiniciar mais uma vez.
Confirme se a chave está registrada
Se o VirtualBox ainda não carregar, pode ser porque o módulo não foi carregado (
sudo modprobe vboxdrv
será corrigido) ou que a chave não foi assinada. Simplesmente repita esse passo e tudo deve funcionar bem.Recursos: Artigo detalhado do site para implementação do Fedora e Ubuntu da assinatura de módulos. @ zwets para segurança adicional . @shasha_trn por mencionar todos os módulos .
Recurso adicional: criei um script bash para meu próprio uso sempre que
virtualbox-dkms
atualizações e, assim, substitui os módulos assinados. Confira meu vboxsign originalmente no GitHub .fonte
sudo apt install --reinstall virtualbox-dkms
antes de seguir as instruções fornecidas.KBUILD_SIGN_PIN
variável ambiental?export KBUILD_SIGN_PIN=password
eexport KBUILD_SIGN_PIN="password"
antes do passo 2, ambos resultaram emSSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
No meu sistema, fiz o seguinte para fazê-lo funcionar:
Execute o mokutil:
O mokutil me pediu para definir uma senha para o MOK Manager. Após reiniciar o PC, o BIOS mostrou uma caixa de diálogo para configurar o MOK Manager. Desabilitei o SecureBoot nessa caixa de diálogo, solicitando vários caracteres da senha (por exemplo, digite o caractere (5), etc.).
Depois de inicializar os módulos vboxdrv carregados corretamente.
Curiosamente, o mokutil ainda mostra que o SecureBoot está ativado:
fonte
Você pode desativar a verificação de validação
Depois disso, os pacotes DKMS devem ser instalados.
fonte
Também recebi um erro sobre o vboxdrv após a atualização. Mas houve um problema com a versão antiga (5.0.14) do Oracle VM VirtualBox Extension Pack. Fiz o download e instalei a versão mais recente (5.0.18) deste pacote e o problema desapareceu.
fonte
Tudo bem, então, depois de alguns testes, tenho certeza de que esse é um problema de inicialização segura.
Como se estivesse ativado, isso será lançado:
No entanto, se a inicialização segura estiver desabilitada, o virtualbox carrega perfeitamente, sem erros.
Ainda tenho meu BIOS definido como UEFI.
fonte
Eu tive o mesmo problema hoje, tinha o Windows 10 e o Ubuntu 15.10 em uma inicialização dupla com o uefi ativado no Bios (não o desativei para poder executar o Windows pré-instalado).
Após a atualização para o Ubuntu 16.04, o VirtualBox parou de carregar minhas VMs com a mesma mensagem de erro:
Suspeitei de problema com o UEFI porque, durante a atualização, o instalador me perguntou se eu queria desativá-lo, ao qual respondi Não (porque Sim pode tornar o meu Windows inutilizável).
O que fiz foi acessar a Bios e ativar o suporte à inicialização do BIOS herdada SEM desativar a inicialização segura.
Virtualbox funciona bem agora.
Atualização : como o @zwets apontou corretamente no comentário, a ativação de módulos herdados desabilita a inicialização segura.
fonte