VirtualBox startet nach dem Kernel-Upgrade nicht

15

Gestern habe ich ein Kernel-Upgrade erhalten und nach dem Neustart hat VirtualBox nicht mehr funktioniert.

Hier sind meine Systeminformationen (nach dem Kernel-Upgrade):

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

Ich habe VirtualBox vor langer Zeit mit installiert

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

Wird täglich verwendet und hatte nie Probleme mit Kernel-Updates. Der Fehler, den ich jetzt erhalte, ist

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 '

Ich habe hier vor drei Tagen einen Forumsbeitrag mit dieser Fehlermeldung gefunden, leider ohne Auflösung. Therfore Ich versuchte , den VirtualBox packeges aus dem Ubuntu - Repo zu entfernen , und die neuesten 5.2 verwenden installieren Sie diesen Vorgang . Der Fehler bleibt jedoch auch nach dem Neustart des Computers bestehen.

Was kann ich in diesem Fall tun?

matpen
quelle
2
Ein Workaround für den Moment ist das Laden des vorherigen Kernels (4.4.0-112) in grub.
Ricab
Für diejenigen, die sich fragen, wie der Vorschlag von @ricab auszuführen ist: Halten Sie einfach shiftbeim Booten gedrückt , wählen Sie "Erweiterte Optionen für Ubuntu" und wählen Sie eine ältere Kernel-Version aus dem Menü, wie hier erklärt . Ich kann bestätigen, dass meine vorherige Kernelversion (4.4.0-112) das in der Frage beschriebene Problem nicht aufweist, sodass dies eine praktikable Umgehung ist, bis eine Lösung veröffentlicht wird.
matpen
In 16.04 ist es der EscSchlüssel.
D. Bugger
@ D.Bugger auf meinem 16.04 shiftfunktioniert. Es ist nicht mein Fall, aber ich habe gelesen, dass manche Leute es nur mit "Rechtsschicht" oder "Linksschicht" zum Laufen bringen.
matpen

Antworten:

9

Ich hatte das gleiche Problem. Nach dem Kernel-Upgrade wurde meine gcc-Version als 5.4.1 angezeigt. Ein Downgrade dieser Version auf 5.4.0 hat mir geholfen, Retpoline für das vboxdrv-Kernelmodul zu haben.

Die folgenden Schritte von diesem Link aus haben mir geholfen, mein Problem zu lösen:

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

Nach diesen Schritten sollte gcc --version (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) 5.4.0 20160609 sein

Dann lösche alle neuen Linux-Header (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

Installieren Sie sie erneut

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

Installieren Sie anschließend virtualbox neu. Diesmal habe ich die neueste Version von virtualbox-5.2 installiert. Die Standardversion 5.0 von virtualbox sollte jedoch ebenfalls einwandfrei funktionieren.

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

Und wir haben Retpoline-Unterstützung im neuesten Modul

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)
Anirudh Gupta
quelle
Ausgezeichnete Arbeit half mir nach 6 Monaten ohne Zugang zu meinen Maschinen
George Udosen
Ich möchte Ihnen alle Punkte der Welt geben !!!!! :-) Aber ich kann dich leider nur einmal upvoten.
Shawty
4

Das in @ricabs Kommentar aufgeführte Problem wurde auf ein Problem mit dem neuen Kernel zurückgeführt, das eine bestimmte Version von gcc erfordert, um Kernelmodule erfolgreich zu kompilieren.

Auf meinem System wurde das gcc-Update NACH dem Kernel-Update veröffentlicht, was dazu führte, dass die Neukompilierung fehlschlug.

Nachdem die Hauptursache entdeckt worden war, konnte ich das System reparieren, indem ich den neuen Kernel deinstallierte und erneut installierte. Das hat meine Grafiktreiber sudo /sbin/vboxconfigrepariert , aber ich musste das Problem beheben, nachdem ich den neuen Kernel gebootet hatte.

Mein System ist 14.04, daher kann ich Sie nicht über die richtige Version von gcc für Ihr 16.04-System informieren. Dies wird jedoch unter https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937 besprochen

Bio-Marmor
quelle
Vielen Dank für den Link. Leider scheint es in meinem Fall für Xenail nicht zu funktionieren (und ich bin nicht alleine ). Ich habe vor kurzem kein gcc-Upgrade erhalten, aber ich bin bereits angemeldet gcc 5.4.1und habe es sogar mit versucht gcc 7.2.0.
matpen
@jfs richtig, allerdings brauche ich das ppa gcc, damit ich es momentan nicht testen kann.
matpen
-1

Ich hatte kürzlich auch dieses Problem und habe hier eine Frage dazu gestellt. Ich habe ein bisschen gegraben und das ist in der Tat ein bekanntes Problem.

Der Fehlerbericht ist in meinem Link.

Virtualbox funktioniert plötzlich nicht mehr

Ich denke, die allgemeine Übereinstimmung besteht darin, den 4.4-Kernel zu booten, bis das Problem behoben ist. (Es ist sicherlich die einfachste Lösung für mich.)

Hutmacher
quelle
1
Wenn Ihre Antwort im Wesentlichen eine Verweisung auf eine andere Frage ist, wäre es besser, Flagge diese Frage als Duplikat des anderen , wenn Sie 15 Ruf erworben . Wenn Sie den Ruf haben, vergessen Sie nicht, für die Antwort (en) zu stimmen, die Sie nützlich fanden!
David Foerster
Verstanden. Wird besorgt.
Hutmacher