Ontem recebi uma atualização do kernel e após a reinicialização, o VirtualBox parou de funcionar.
Aqui estão as informações do meu sistema (após a atualização do kernel):
matteo@workstation:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
matteo@workstation:~$ uname -a
Linux workstation 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Eu instalei o VirtualBox há muito tempo com
sudo apt install linux-headers-$(uname -r)
sudo apt install virtualbox-dkms virtualbox virtualbox-qt
usado diariamente e nunca teve problemas com as atualizações do kernel. O erro que recebo agora é
matteo@workstation:~$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Exec format error
matteo@workstation:~$ dmesg | tail -n 1
[ 1413.167311] vboxdrv: version magic '4.4.0-116-generic SMP mod_unload modversions ' should be '4.4.0-116-generic SMP mod_unload modversions retpoline '
Encontrei uma postagem no fórum com esta mensagem de erro aqui de três dias atrás, infelizmente sem resolução. Por isso, tentei remover os pacotes do VirtualBox do repositório Ubuntu e instalar a versão 5.2 mais recente usando este procedimento . No entanto, mesmo após a reinicialização da máquina, o erro permanece.
O que posso fazer neste caso?
upgrade
kernel
virtualbox
amadurecer
fonte
fonte
shift
durante a inicialização, selecione "Opções avançadas para Ubuntu" e selecione uma versão mais antiga do kernel no menu, conforme explicado aqui . Posso confirmar que minha versão anterior do kernel (4.4.0-112) não tem o problema descrito na pergunta, portanto, essa é uma solução viável até que uma solução seja lançada.Esc
chave.shift
funciona. Não é o meu caso, mas já li que algumas pessoas fazem com que funcione apenas com "turno à direita" ou "turno à esquerda".Respostas:
Eu estava enfrentando o mesmo problema. Após a atualização do kernel, minha versão do gcc estava aparecendo como 5.4.1. O downgrade dessa versão para a 5.4.0 me ajudou a ter o retpoline para o módulo do kernel do vboxdrv.
As etapas a seguir neste link me ajudaram a resolver meu problema:
Após estas etapas, o gcc --version deve ser (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) 5.4.0 20160609
Em seguida, limpe todos os novos cabeçalhos linux (4.4.0-116)
Novamente instale-os
Em seguida, reinstale o virtualbox, instalei o mais recente virtualbox-5.2 desta vez, mas a versão padrão do virtualbox 5.0 também deve funcionar bem.
E temos suporte a retpoline no módulo mais recente
fonte
O problema relacionado listado no comentário do @ricab foi atribuído a um problema com o novo kernel, exigindo um certo nível de versão do gcc para compilar com êxito os módulos do kernel.
No meu sistema, a atualização do gcc foi enviada APÓS a atualização do kernel, causando falha nas recompilações.
Depois que a causa raiz foi descoberta, consegui consertar o sistema desinstalando e reinstalando o novo kernel. Isso corrigiu meus drivers gráficos, mas tive que emitir um problema
sudo /sbin/vboxconfig
para corrigir o virtualbox após a inicialização no novo kernel.Meu sistema é 14.04, portanto, não posso aconselhá-lo sobre a versão correta do gcc para o seu sistema 16.04, mas isso é discutido em https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937
fonte
gcc 5.4.1
e até tenteigcc 7.2.0
.gcc 5.4.0
16.04Eu também tive esse problema recentemente e postei uma pergunta aqui sobre ele. Eu fiz algumas escavações e este é realmente um problema conhecido.
O relatório de erros está no meu link.
De repente, o Virtualbox parou de funcionar
Eu acho que o consenso geral é inicializar no kernel 4.4 até que o problema seja corrigido. (É certamente a solução mais fácil para mim.)
fonte