VirtualBox não inicia após a atualização do kernel

13

Ontem recebi uma atualização do kernel e após a reinicialização, o VirtualBox parou de funcionar.

Aqui está a minha informação do 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 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 essa mensagem de erro aqui de três dias atrás infelizmente sem resolução. Portanto, tentei remover os pacotes do VirtualBox do repositório do Ubuntu e instalar o mais recente 5.2 usando este procedimento . No entanto, mesmo depois de reiniciar a máquina, o erro permanece.

O que posso fazer neste caso?

    
por matpen 22.02.2018 / 13:00

3 respostas

7

Eu estava enfrentando o mesmo problema. Após a atualização do kernel, minha versão do gcc estava mostrando como 5.4.1. Fazer o downgrade desta versão para o 5.4.0 me ajudou a ter retpoline para o módulo do kernel vboxdrv.

Seguir os passos deste link ajudou-me a resolver o meu problema:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:ubuntu-toolchain-r/test
#Select gcc version 5 using update-alternatives manually
sudo update-alternatives --config gcc

Após estes passos gcc --version deve ser (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) 5.4.0 20160609

Em seguida, purgar todos os novos cabeçalhos linux (4.4.0-116)

sudo apt-get purge linux-headers-4.4.0-116 linux-headers-4.4.0-116-generic linux-image-4.4.0-116-generic linux-image-extra-4.4.0-116-generic linux-signed-image-4.4.0-116-generic

Mais uma vez, instale-os

sudo apt-get install linux-generic linux-signed-generic

Em seguida, reinstale o VirtualBox, instalei o VirtualBox-5.2 mais recente desta vez, mas a versão 5.0 padrão do VirtualBox também deve funcionar bem.

sudo apt-get purge virtualbox-dkms virtualbox virtualbox-qt
sudo apt-get install virtualbox-5.2

E temos suporte de retpolina no último módulo

anirudh@AHDRMD34579:~$ modinfo vboxdrv 
filename:       /lib/modules/4.4.0-116-generic/misc/vboxdrv.ko
version:        5.2.6 r120293 (0x00290000)
license:        GPL
description:    Oracle VM VirtualBox Support Driver
author:         Oracle Corporation
srcversion:     4880B21EFF1B605D6402982
depends:        
vermagic:       4.4.0-116-generic SMP mod_unload modversions retpoline 
parm:           force_async_tsc:force the asynchronous TSC mode (int)
    
por Anirudh Gupta 27.02.2018 / 09:48
4

O problema relacionado listado no comentário do @ricab foi rastreado até um problema com o novo kernel que requer um certo nível de versão do gcc para compilar com sucesso os módulos do kernel.

No meu sistema, a atualização do gcc foi enviada APÓS a atualização do kernel, fazendo com que as recompilações falhassem.

Uma vez que a causa raiz foi descoberta, eu pude consertar o sistema, desinistando e reinstalando o novo kernel. Isso consertou meus drivers gráficos, mas tive que emitir sudo /sbin/vboxconfig para consertar o virtualbox após inicializar o novo kernel.

Meu sistema é 14.04, então não posso aconselhá-lo sobre a versão correta do gcc para o seu sistema 16.04, mas isso é discutido em link

    
por Organic Marble 24.02.2018 / 01:51
-1

Eu também tive esse problema recentemente e postei uma pergunta aqui sobre isso. Eu fiz algumas escavações e isso é realmente um problema conhecido.

O relatório de erros está no meu link.

O Virtualbox de repente 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.)

    
por hatterman 28.02.2018 / 14:42