Les modules du noyau VirtualBox ne correspondent pas à la version de VirtualBox

31

La VirtualBox 4.2.12 sur Ubuntu 12.04 fonctionnait bien jusqu'à ce que je devais installer l'addition invité. Après son installation:

 Failed to open a session for the VM Win 7 exit code 1;

 RTR3Init failed with rc=-1912(rc=1912)

Après l'exécution dpkg --list | grep virtualbox:

ii  virtualbox                             4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - base binaries
rc  virtualbox-4.2                         4.2.6-82870~Ubuntu~precise              Oracle VM VirtualBox
ii  virtualbox-dkms                        4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-guest-additions             4.1.12-1                                transitional package for virtualbox-guest-additions-iso
ii  virtualbox-guest-additions-iso         4.1.12-1                                guest additions iso image for VirtualBox
ii  virtualbox-qt                          4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - Qt based user interface

Toute aide est appréciée ...

Merci...

CoolEulerProject
la source
Veuillez clarifier: pour quelle version de virtualbox et comment avez-vous installé les ajouts invités? Quelle version voulez-vous exécuter (il n'y a pas de 4.2.12)? DPKG nous dit que vous avez une ancienne version 4.1.12 installée mais 4.2.6 supprimée. Comment avez-vous installé virtualbox? Veuillez également nommer l'architecture de l'hôte (amd64 i386?).
Takkat

Réponses:

44

Vous semblez avoir deux versions distinctes de VirtualBox installées!

Je vous recommande de désinstaller complètement toutes les versions de VirtualBox:

sudo apt-get autoremove 'virtualbox*'

Réinstallez ensuite directement depuis Oracle. Accédez à la page de téléchargement de VB , faites défiler jusqu'à "Distributions Linux basées sur Debian" et suivez les instructions.

Réessayez ensuite.

Au fait, vous n'avez pas besoin de l'utiliser grepavec dpkg. Voici une alternative plus agréable à votre commande:

dpkg --list 'virtualbox*'
Paddy Landau
la source
14

Une solution moins intrusive pourrait être:

sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox

Source avec plus d'informations.

Rikard
la source
Grâce à cette suggestion, j'ai pu réaliser que je manquais complètement virtualbox-dkms. J'ai arrêté VBManager, installé virtualbox-dkms avec apt-get, redémarré et les choses étaient en ordre.
Marco Faustinelli
1
Cela a fonctionné pour moi (et je n'avais pas, ni besoin d'installer, virtualbox-dkms)
aidan
1
Après avoir installé 5.2 à partir d'Oracle, j'ai dû exécuter dpkg-reconfigure virtualbox-5.2pour résoudre ce problème.
NuSkooler
9

J'ai eu ce problème après être passé de la version repo d'ubuntu à la version ppa. La cause première du problème était exactement celle indiquée dans le message d'erreur: incompatibilité de version du module du noyau. Je l'ai confirmé avec

modinfo vboxdrv

qui est revenue en tant que version 5.0. (De ppa, j'ai vbox 5.1).

J'ai désinstallé virtualbox-dkms, car son installation entraînerait également l'installation de la version régulière de vbox à partir du référentiel ubuntu. Mais les modules du noyau faisaient toujours partie des modules gérés par DKMS (/ lib / modules / (kernelversion) -generic / updates / dkms /), donc je suppose que c'est pourquoi les scripts ne fonctionneraient pas:

j'ai essayé

sudo /sbin/vboxconfig

qui a apparemment tout fait comme d'habitude, arrêtant les modules du noyau, recompilant, rechargeant les (soi-disant) nouveaux modules du noyau. Sauf que la vérification de la version du module est toujours apparue 5.0.

J'ai essayé

sudo /sbin/rcvboxdrv setup

avec le même résultat: pas de changement de version.

J'ai alors décidé de supprimer les modules car je n'aimais pas le fait qu'ils se trouvaient dans le dossier dkms. Pour ce faire, vous devez décharger les modules du noyau avec

sudo rmmod vboxnetadp vboxnetflt vboxpci vboxdrv

puis supprimez les fichiers de module de / lib / modules / (kernelversion) -generic / updates / dkms. Ensuite, exécutez

sudo /sbin/rcvboxdrv setup

encore une fois, et voilá les nouveaux modules sont v5.1, et ne sont plus sous dkms, mes machines virtuelles fonctionnent.

Maintenant que j'y pense, peut-être que les modules ont été correctement recompilés dans /lib/modules/4.4.0-59-generic/misc/, mais au chargement, les modules dkms peuvent avoir la priorité. Malheureusement, je n'ai plus de temps pour enquêter là-dessus.

ps.: Si vous effectuez cette même transition de la version repo à ppa, assurez-vous de vous ajouter au groupe vboxusers (nouvellement créé), puis déconnectez-vous et revenez.

Gábor Kiczenko
la source
1
Cela m'a corrigé dans Ubuntu 16.04 après le passage aux PPA oracle. Merci beaucoup!
Josh
Finalement! La suppression de l'ancien fichier .so a fait l'affaire. J'ai réinstallé depuis apt et tout semble fonctionner.
nullsteph
1

Cela m'est arrivé aujourd'hui sur Debian 8 (Jessie) suite à un patch du noyau. Je l'ai corrigé comme suit:

  1. su (Je n'utilise pas sudo; si vous le faites, ajoutez sudo aux lignes ci-dessous)
  2. dpkg-reconfigure virtualbox-dkms
  3. dpkg-reconfigure virtualbox
  4. /etc/init.d/virtualbox restart

Merci à Rikard / hg8 pour l'astuce ci-dessus sur les étapes 2 et 3. Dans mon cas, il est tout simplement possible qu'ils ne soient pas nécessaires, mais ils se sentaient bien dans tous les cas.

Freeb
la source
J'ai eu le même problème lors du passage de VB de 5.0 à 5.2. J'ai suivi vos étapes et cela a fonctionné mais à l'étape 3, changez virtualbox en virtualbox-5.2 si vous l'avez installé.
TommyDo
1

Dans mon cas, la virtualbox-dkmsversion ne correspondait tout simplement pas aux packages restants:

$ dpkg --list | grep virtualbox
ii  unity-scope-virtualbox                        0.1+13.10.20130723-0ubuntu1 all                         VirtualBox scope for Unity
ii  virtualbox                                    5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - base binaries
ii  virtualbox-dkms                               5.0.40-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-ext-pack                           5.1.34-0ubuntu1.16.04.2     all                         extra capabilities for VirtualBox, downloader.
ii  virtualbox-qt                                 5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - Qt based user interface

Je l'ai simplement réinstallé:

$ sudo apt purge virtualbox-dkms
$ sudo apt install virtualbox-dkms
$ dpkg --list | grep virtualbox
ii  unity-scope-virtualbox                        0.1+13.10.20130723-0ubuntu1 all                         VirtualBox scope for Unity
ii  virtualbox                                    5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - base binaries
ii  virtualbox-dkms                               5.1.34-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-ext-pack                           5.1.34-0ubuntu1.16.04.2     all                         extra capabilities for VirtualBox, downloader.
ii  virtualbox-qt                                 5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - Qt based user interface
ii  virtualbox-source                             5.1.34-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module source

et la machine virtuelle a démarré sans erreur.

PJ_Finnegan
la source