Comment installer le package virtualbox-dkms?

26

J'obtiens l'erreur suivante lors de la tentative d'installation des modules du noyau VirtualBox:

------------------------------
Deleting module version: 4.1.18
completely from the DKMS tree.
------------------------------
Done.
Loading new virtualbox-4.1.18 DKMS files...
Building only for 3.5.0-17-generic
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.

J'ai essayé d'installer le paquet linux-source, mais je ne sais pas comment Ubuntu gère les sources et les en-têtes du noyau.

Avez-vous des idées sur la façon de le faire d'un point de vue Ubuntu?

Bill Dengler
la source

Réponses:

17

Ma Virtual Box m'a dit que les pilotes du noyau n'étaient pas installés. Iran

sudo apt-get remove virtualbox-dkms   

pour supprimer les pilotes, puis les réinstaller

sudo apt-get install virtualbox-dkms 

qui a reconstruit les pilotes et j'ai pu exécuter virtualbox sans problème

Kevin
la source
4
Ou en utilisant l'option --reinstall:sudo apt install --reinstall virtualbox-dkms
visoft
11

Autrement:

apt-get install linux-headers-`uname -r`
dpkg-reconfigure virtualbox-dkms

La voie normale:

/etc/init.d/vboxdrv setup
Marc Quinton
la source
1
Je me demande pourquoi «une autre façon» est mentionnée avant celle «normale». Cependant, dpkg-reconfiguresemble être la bonne option.
Melebius
1
Pour ajouter à cela, j'ai trouvé que la séquence suivante a fonctionné lorsque je suis passé au 16.04: sudo apt-get install linux-headers-`uname -r` puis sudo dpkg-reconfigure virtualbox-dkmset finalementsudo dpkg-reconfigure virtualbox
Dave
Cela vous mettra (encore) dans la situation des OP à chaque mise à jour du noyau.
earthmeLon
5

Vous avez également besoin de l'en-tête du noyau. En fonction de votre sortie, sudo apt-get install kernel-headers-3.5.0-17-generic devrait le faire. Sur la machine virtuelle invitée, l'exécution automatique de l'image ISO ou sudo sh ./VBoxLinuxAdditions.run à partir de l'invite du shell devrait fonctionner. Apparaît qu'il s'agit d'un problème connu avec la dernière version 12.10.

cogito ergo sum
la source
2

Ça n'a pas marché pour moi. Résolu en exécutant:

gksudo synaptic

Recherchez «dkms» et (ré) installez celui de VirtualBox et appuyez sur le bouton «Appliquer». La sortie devrait indiquer que les pilotes du noyau de virtualbox sont opérationnels.

Donald Dominko
la source
2

Cela est dû au fait que les en-têtes du noyau ne sont pas disponibles. Ces en-têtes ne sont généralement pas requis, mais aident d'autres applications à en avoir besoin pour créer des modules de noyau pour rester synchronisés avec votre distribution et la version que vous utilisez.

Vous pouvez installer des en-têtes spécifiques, ou vous pouvez installer «générique» ou «actuel»:

sudo apt install linux-headers-generic

Cela garantira que lorsque vous introduisez de nouveaux noyaux, les en-têtes de ces noyaux sont également installés. Lorsque vous mettez à jour votre noyau, VirtualBox pourra se mettre à jour avec les en-têtes les plus récents et correspondants. Parfois, ceux-ci peuvent être trouvés par d'autres noms, tels que linux-headers-amd64, dans d'autres distributions.

Après avoir les en-têtes, vous pouvez purger / réinstaller VirtualBox, ou demander à VirtualBox de reconstruire les modules et de terminer la configuration:

sudo dpkg-reconfigure virtualbox-dkms  
sudo modprobe vboxdrv
EarthmeLon
la source