VirtualBox non si avvia dopo l'aggiornamento del kernel


15

Ieri ho ricevuto un aggiornamento del kernel e dopo il riavvio, VirtualBox ha smesso di funzionare.

Ecco le informazioni sul mio sistema (dopo l'aggiornamento del 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

Ho installato VirtualBox molto tempo fa con

sudo apt install linux-headers-$(uname -r)
sudo apt install virtualbox-dkms virtualbox virtualbox-qt

usato su base giornaliera e non ha mai avuto problemi con gli aggiornamenti del kernel. L'errore che ricevo ora è

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 '

Ho trovato un post sul forum con questo messaggio di errore qui di tre giorni fa, purtroppo senza risoluzione. Quindi ho provato a rimuovere i pacchetti virtuali di VirtualBox dal repository Ubuntu e installare l'ultimo 5.2 usando questa procedura . Tuttavia, anche dopo aver riavviato la macchina, l'errore rimane.

Cosa posso fare in questo caso?



2
Una soluzione al momento è caricare il kernel precedente (4.4.0-112) in grub.
ricab,

Per coloro che si chiedono come eseguire il suggerimento di @ricab: semplicemente tenere premuto shiftdurante l'avvio, selezionare "Opzioni avanzate per Ubuntu" e selezionare una versione del kernel precedente dal menu, come spiegato qui . Posso confermare che la mia versione precedente del kernel (4.4.0-112) non presenta il problema descritto nella domanda, quindi è una soluzione valida fino al rilascio di una soluzione.
matpen

Nel 16.04 è la Escchiave.
D.Bugger,

@ D.Bugger sul mio 16.04 shiftfunziona. Non è il mio caso, ma ho letto di alcune persone che lo fanno funzionare solo con "spostamento a destra" o "spostamento a sinistra".
matpen

Risposte:


9

Stavo affrontando lo stesso problema. Dopo l'aggiornamento del kernel, la mia versione di gcc era mostrata come 5.4.1. Il downgrade di questa versione alla 5.4.0 mi ha aiutato ad avere retpoline per il modulo del kernel vboxdrv.

I seguenti passaggi da questo link mi hanno aiutato a risolvere il mio 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

Dopo questi passaggi gcc --version dovrebbe essere (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) 5.4.0 20160609

Quindi eliminare tutte le nuove intestazioni di 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

Installali di nuovo

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

Quindi reinstallare virtualbox, questa volta ho installato virtualbox-5.2 più recente, ma anche la versione 5.0 di virtualbox dovrebbe funzionare correttamente.

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

E abbiamo il supporto retpoline nell'ultimo modulo

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)

Il lavoro eccellente mi ha aiutato dopo 6 mesi senza accesso alle mie macchine
George Udosen,

VOGLIO DARTI TUTTI I PUNTI DEL MONDO !!!!! :-) Ma purtroppo posso votarti solo una volta.
shawty

4

Il problema relativo elencato nel commento di @ricab è stato ricondotto a un problema con il nuovo kernel che richiede un certo livello di versione di gcc per compilare correttamente i moduli del kernel.

Sul mio sistema l'aggiornamento di gcc è stato espulso DOPO l'aggiornamento del kernel, causando il fallimento dei ricompilamenti.

Una volta scoperta la causa principale, sono stato in grado di riparare il sistema disinstallando e reinstallando il nuovo kernel. Ciò ha risolto i miei driver di grafica, ma ho dovuto sudo /sbin/vboxconfigrisolvere il problema con Virtualbox dopo l'avvio nel nuovo kernel.

Il mio sistema è 14.04 quindi non posso consigliarti la versione corretta di gcc per il tuo sistema 16.04, ma questo è discusso su https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937


Grazie per il link. Sfortunatamente, non sembra funzionare nel mio caso per Xenail (e non sono solo ). Non ho ricevuto alcun aggiornamento gcc di recente, ma sono già attivo e ci ho gcc 5.4.1persino provato gcc 7.2.0.
matpen


@jfs giusto, tuttavia ho bisogno di ppa gcc quindi non sono in grado di testare ora.
matpen

-1

Ho anche avuto questo problema di recente e ho pubblicato qui una domanda al riguardo. Ho scavato e questo è davvero un problema noto.

La segnalazione di bug è nel mio link.

Virtualbox ha smesso improvvisamente di funzionare

Penso che il consenso generale sia quello di avviare il kernel 4.4 fino a quando il problema non viene risolto. (È sicuramente la soluzione più semplice per me.)


1
Se la tua risposta è essenzialmente un riferimento a un'altra domanda, sarebbe meglio contrassegnare questa domanda come duplicata dell'altra dopo aver guadagnato 15 reputazione . Se hai la reputazione, non dimenticare di votare le risposte che hai trovato utili!
David Foerster,

Inteso. Andrà bene.
cappellaio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.