VirtualBox ne marche plus après mise à jour d’Ubuntu
06-08-2008 par Horacio GonzalezDans mon billet d’hier je vous suggérais l’utilisation d’une machine virtuelle Windows sur VirtualBox comme solution pour pouvoir continuer à employer sur votre poste Linux les quelques applications Windows indispensables pour votre travail.
Aujourd’hui je continue dans la même thématique en vous parlant d’un des problèmes que tôt ou tard vous aller trouver lorsque vous travailler avec VirtualBox : le jour où ça refuse de démarrer.
Imaginons donc que vous suivez mon conseil d’hier et vous installez une machine virtuelle Windows dans votre Ubuntu avec VirtualBox. Et là un jour où vous faites les mises à jour automatiques Ubuntu, comme d’habitude, VirtualBox ne démarre plus votre machine virtuelle, avec en vous disant que le module du kernel n’est pas disponible :
VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Please install the virtualbox-ose-modules package for your kernel, e.g. virtualbox-ose-modules-generic..
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).
Le problème
Qu’est-ce que s’est passé ? C’est grave ? La réponse est relativement simple, et la solution aussi, alors pas de panique.
Pour être performant, VirtualBox a besoin d’interagir directement avec le kernel Linux, le noyau du système d’exploitation, et pour faire cette interaction il a besoin de qu’un module spécifique soit chargé par le kernel, c’est ce virtualbox-ose-module
dont le message vous parle.
Comme tous les modules du kernel, il doit être construit (compilé) spécifiquement pour la version du kernel que vous utilisez, et c’est là qu’il y a eu un soucis. Lorsque vous avez fait la mise à jour d’Ubuntu, il a détecté et installé des paquets pour une nouvelle version du kernel, et n’ayant pas trouvé des nouveaux paquets pour virtualbox-ose-module
, il ne l’a pas actualisé. En gros, votre moduele virtualbox-ose-module
n’est plus compatible avec la version du kernel que vous venez d’installer.
Le problème vient de la nature même des logiciels libres, chaque composant de la distribution Ubuntu est entretenu par des personnes différentes, la plupart d’une façon bénévole. Normalement, lorsqu’il y a une mise à jour du kernel, les responsables des composants qui y dépendent préparent aussi les mises à jours pour qu’ils soient disponibles au même temps, ce qui évite ce type de désagréments. Mais il suffit que la personne ait un empêchement ou soit parti en weekend pour que le module ne soit pas mise à jour, et votre machine virtuelle ne marche plus.
La solution
Normalement le problème va disparaître tout seul un ou deux jours après, lorsque le responsable des paquets VirtualBox publiera dans les dépôts la bonne mise à jour. Mais des fois on ne peut pas se permettre d’attendre deux jours, et dans ce cas il faut trouver la solution.
Voici donc les bref étapes à suivre pour que votre machine virtuelle soit opérationnelle à nouveau en moins de cinq minutes. La procédure se fait en ligne de commandes, il vous suffit donc de lancer un terminal et suivre les pas suivants :
- Installer le paquet des sources de
virtualbox-ose-modules
sudo apt-get install virtualbox-ose-source
- Compiler ces sources pour le kernel actuel et les installer comme modules du kernel
sudo m-a prepare
sudo m-a auto-install virtualbox-ose - Relancer le service
vboxdrv
sudo /etc/init.d/vboxdrv start
Quelques instants après le tour est joué, et la machine virtuelle marche à nouveau.