Website-Suche

VirtualBox-Fehler - Kernel-Treiber nicht installiert (rc=-1908)


Heute habe ich mein Ubuntu 14.04 LTS System auf den Linux-Kernel 4.4.4 aktualisiert. Der Upgrade-Prozess verlief bisher fehlerfrei. Allerdings funktionierte Oracle VirtualBox nach dem Upgrade auf den Kernel 4.4.4 nicht mehr.

Immer wenn ich eine neue virtuelle Maschine gestartet habe, zeigte sie den folgenden Fehler an und ließ die Gaste Maschine nicht starten.

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/sbin/rcvboxdrv setup'

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

Where: sublibOsInit what:3
VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support
driver is not installed, On linux, open returned ENOENT.

VirtualBox-Fehler - Kernel-Treiber nicht installiert (rc=-1908)

Wie Sie im obigen Screenshot sehen können, sagt der Fehlerassistent, dass Sie das Problem beheben können, indem Sie den Befehl ausführen:

$ sudo /sbin/rcvboxdrv setup

Aber es hat auch nicht geholfen. Ich erhielt den folgenden Fehler, nachdem ich den obigen Befehl ausgeführt hatte:

Stopping VirtualBox kernel modules ...done.
Uninstalling old VirtualBox DKMS kernel modulesError! Could not locate dkms.conf file.
File:  does not exist.
 ...done.
Trying to register the VirtualBox kernel modules using DKMSError! DKMS tree already contains: vboxhost-5.0.16
You cannot add the same module/version combo more than once.
 ...failed!
  (Failed, trying without DKMS)
Recompiling VirtualBox kernel modules ...failed!
  (Look at /var/log/vbox-install.log to find out what went wrong)

Ich möchte nicht zum alten Kernel zurückwechseln. Nach ein wenig Googeln habe ich die Lösung in den AskUbuntu-Foren gefunden.

Ich habe die genauen Schritte befolgt, und es funktionierte genauso gut, wie ich es erwartet hatte.

Hier ist, was ich getan habe, um den obigen Fehler zu beheben.

Fügen Sie das folgende Repository hinzu:

$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test

Aktualisiere die Quelllisten und installiere gcc/g++:

$ sudo apt-get update
$ sudo apt-get install gcc-5 g++-5

Wir haben GCC installiert. Führen Sie nun den folgenden Befehl aus, um die installierten Versionen anzuzeigen.

$ ls -lh /usr/bin/gcc* 

Beispielausgabe:

lrwxrwxrwx 1 root root 7 Apr 8 2014 /usr/bin/gcc -> gcc-4.8
-rwxr-xr-x 1 root root 758K Jan 27 13:10 /usr/bin/gcc-4.8
-rwxr-xr-x 1 root root 858K Dec 6 04:31 /usr/bin/gcc-5
lrwxrwxrwx 1 root root 10 Apr 8 2014 /usr/bin/gcc-ar -> gcc-ar-4.8
-rwxr-xr-x 1 root root 27K Jan 27 13:10 /usr/bin/gcc-ar-4.8
-rwxr-xr-x 1 root root 27K Dec 6 04:31 /usr/bin/gcc-ar-5
lrwxrwxrwx 1 root root 10 Apr 8 2014 /usr/bin/gcc-nm -> gcc-nm-4.8
-rwxr-xr-x 1 root root 27K Jan 27 13:10 /usr/bin/gcc-nm-4.8
-rwxr-xr-x 1 root root 27K Dec 6 04:31 /usr/bin/gcc-nm-5
lrwxrwxrwx 1 root root 14 Apr 8 2014 /usr/bin/gcc-ranlib -> gcc-ranlib-4.8
-rwxr-xr-x 1 root root 27K Jan 27 13:10 /usr/bin/gcc-ranlib-4.8
-rwxr-xr-x 1 root root 27K Dec 6 04:31 /usr/bin/gcc-ranlib-5

Wie Sie in der obigen Ausgabe sehen, hat meine Maschine die Versionen gcc-4.8 und gcc-5.

Aktualisieren Sie dann die Alternativen mit den folgenden Befehlen:

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20 --slave /usr/bin/g++ g++ /usr/bin/g++-5

Sie müssen Ihre eigenen Alternativen hinzufügen.

Wählen Sie schließlich aus, welche alternative gcc wie unten gezeigt verwendet werden soll.

$ sudo update-alternatives --config gcc

Beispielausgabe:

Type the selection. Here I choose gcc-5, so I entered number 2.

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-4.8 40 auto mode
 1 /usr/bin/gcc-4.8 40 manual mode
 2 /usr/bin/gcc-5 20 manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/gcc-5 to provide /usr/bin/gcc (gcc) in manual mode

Das ist es.

Versuchen Sie nun, die VirtualBox-Kernelmodule mit folgendem Befehl neu zu kompilieren:

$ sudo /usr/lib/virtualbox/vboxdrv.sh setup

Beispielausgabe:

Stopping VirtualBox kernel modules ...done.
Uninstalling old VirtualBox DKMS kernel modulesError! Could not locate dkms.conf file.
File: does not exist.
 ...done.
Trying to register the VirtualBox kernel modules using DKMSError! DKMS tree already contains: vboxhost-5.0.16
You cannot add the same module/version combo more than once.
 ...failed!
 (Failed, trying without DKMS)
Recompiling VirtualBox kernel modules ...done.
Starting VirtualBox kernel modules ...done.

Voila! Dieses Mal hat es funktioniert.

Jetzt kann ich die Gastmaschinen ohne Probleme starten.

Für Arch Linux und seine Derivate, siehe diesen Link:

  • Löse "Ergebniscode: NS_ERROR_FAILURE (0x80004005)" VirtualBox-Fehler in Arch Linux

Irgendwelche Probleme beim Aktualisieren des Oracle VirtualBox Extension Packs? Hier ist die Lösung.

  • So beheben Sie den Fehler 'Fehler beim Installieren des Erweiterungspakets' unter Ubuntu