Erreur: les en-têtes du noyau sont introuvables. (Mais ils sont en place)

73

J'essaie d'installer les ajouts d'invité dans VirtualBox 4.04. Le système d'exploitation hôte est Ubuntu 11.04 64 bits, l'OS invité est le serveur Ubuntu 11.10 64 bits.

$ sudo ./VBoxLinuxAdditions.run

Après une sortie, cette ligne est imprimée:

The headers for the current running kernel were not found.

Mais les en-têtes sont installés, du moins en conséquence à dpkg :

$ dpkg --get-selections | grep linux-headers
linux-headers-3.0.0-12            install
linux-headers-3.0.0-12-server     install
linux-headers-server              install

Le noyau en cours d’exécution est:

$ uname -a
Linux foobar 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 X86_64 GNU/Linux

Comment puis-je résoudre le problème pour que le programme d'installation des invités supplémentaires puisse trouver les en-têtes du noyau?

Mise à jour: ajout de la sortie complète.

The headers for the current running kernel were not found. If the module compilation fails then this could be the reason.

Building the main Guest Additions module ...done.
Building the shared folder support module ...fail!
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Installing the Window System drivers ...fails!
(Could not find the X.Org or XFree86 Window System).

Je ne me soucie pas de l'échec n ° 2, car c'est un serveur et je n'ai pas besoin de serveur X. Mais j'ai besoin d'un support de dossier partagé.

Quelques détails supplémentaires:

$ tail /val/log/vboxadd-install.log
..........
cc1: some warnings being treated as errors
make[2]: *** [/tmp/vbox.0/vfsmod.o] Error 1
make[1]: *** [_module_/tmp/vbox.0] Error 2
make: *** [vboxsf] Error 2
    
posée Paolo 25.01.2012 - 14:54
la source

14 réponses

7

Pour qu'un invité serveur VirtualBox ubuntu accepte correctement l’installation d’un ajout d’invité, vous devez installer un package xorg minimal:

sudo apt-get install xserver-xorg xserver-xorg-core

En faisant cela, vous aurez le support du dossier partagé.

Comme vous l’avez constaté, les ajouts d’invité sont un très gros script - "VBoxLinuxAdditions.run"

Vous pouvez peut-être décocher ce fichier - je ne le recommanderais pas, car comme les versions les plus récentes de virtualbox sont publiées, la version des ajouts d'invité est généralement aussi modifiée.

En outre, je recommanderais (si vous ne l’avez pas déjà fait), d’installer dkms . Lorsque de nouveaux noyaux Ubuntu sont mis à jour, les modules du noyau des ajouts d'invités seront automatiquement compilés. Sans dkms , vous perdrez la prise en charge de votre dossier partagé lorsqu'une mise à jour du noyau est effectuée.

source

    
réponse donnée fossfreedom 25.01.2012 - 15:23
la source
152

Le message est trompeur.

Dans mon cas, il manquait réellement dkms avant d'installer le cycle d'addition

sudo apt-get install build-essential linux-headers-'uname -r' dkms
    
réponse donnée dog 19.10.2012 - 02:24
la source
18

(Même si cette question a une réponse acceptée, j'ajoute cette réponse au cas où cela aiderait quelqu'un d'autre à sortir ...)

Bien que mes symptômes soient identiques, j'ai essayé toutes les suggestions pour cette question, mais rien n'a fonctionné. J'ai enfin trouvé cette discussion suggérant que la version de VirtualBox n'était pas à jour avec la version du noyau Linux.

Donc, si rien ne fonctionne pour vous, essayez d'installer la dernière version depuis: lien (au moment de l'écriture, c'était 4.2.6 pour les systèmes basés sur Debian).

    
réponse donnée Ash 11.02.2013 - 08:18
la source
12

J'ai corrigé cette erreur en installant dkms et en mettant à niveau ma version de VirtualBox. Il s'avère que les anciennes versions des ajouts d'invités VirtualBox ne fonctionnent souvent pas avec les derniers noyaux.

    
réponse donnée dwurf 14.11.2012 - 01:37
la source
10

La réponse à votre question concernant l’utilisation de X pour utiliser les ajouts d’invités n’est que ridicule. La raison pour laquelle il fonctionne après l'installation de X est qu'il tire libglib comme une dépendance, mais il serait vraiment inutile d'installer l'ensemble du serveur X juste pour faire fonctionner les ajouts.

Tous les paquets dont vous avez besoin sont les suivants:

  • build-essential
  • linux-headers-'uname-r '
  • libglib2.0-0

Evidemment, ce n’est qu’une partie de build-essential et de libglib dont vous avez besoin, mais au lieu d’examiner exactement quels paquets sont nécessaires, il est plus facile de les laisser simplement tirer leurs dépendances.

Une remarque est que ce sont exactement les mêmes paquets dont vous avez besoin pour l’équivalent vmware "VMware Tools" sur une machine vmware.

    
réponse donnée yzfr1 28.11.2012 - 14:51
la source
9

Après avoir installé les paquetages suggérés avec la commande suivante:

  

sudo apt-get install build-essential linux-headers-'uname -r' dkms

J'ai mis à jour ma version de VirtualBox comme suggéré par dwurf. Cela a corrigé pour moi.

    
réponse donnée warren2k 30.11.2012 - 00:06
la source
1

La seule solution qui a fonctionné pour moi était de supprimer Virtual Box et d’installer la dernière version à partir du site Web VirtualBox (version: 4.3.10 (repo) vs. 4.3.22 (site web)).

    
réponse donnée Paul 27.02.2015 - 17:47
la source
1

J'ai essayé TOUTES les solutions ci-dessus et je suis sûr que j'ai installé les en-têtes appropriés mais toujours pas de chance !!!

[email protected]:~# dpkg --get-selections | grep linux-headers
linux-headers-4.0.0-kali1-amd64         install
linux-headers-4.0.0-kali1-common        install
linux-headers-amd64             install

Et j'ai également installé la dernière version de Virtual Box à partir d’aujourd’hui 5.0.4 mais j’ai quand même l’erreur en essayant d’installer des additions d’invité avec une erreur

The headers for the current running kernel were not found.

Solution:

En fin de compte, ce qui a résolu mon problème est d’exécuter le répertoire VBoxLinuxAdditions.run from / root au lieu d’autres répertoires comme / home / !!!

J'utilisais à l'origine VBoxLinuxAdditions.run du répertoire /home/ et continue à avoir cette erreur de barrage mais après avoir utilisé la commande ci-dessous depuis le répertoire racine, ça va, résolu le problème!

cp /media/cd-rom/VBoxLinuxAdditions.run /root/
chmod 755 /root/VBoxLinuxAdditions.run
cd /root
./VBoxLinuxAdditions.run

Après cela, vous pouvez simplement utiliser reboot , alors vous devriez avoir Guest supplémentaire correctement et FULL Screen aussi! YAY !!!

    
réponse donnée Gob00st 22.09.2015 - 00:25
la source
1

D'habitude, j'installe les additions invité directement via virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run). Cependant, la plupart des distributions linux vous offrent un package qui peut être installé via votre gestionnaire de paquets. Pour moi, la commande suivante a résolu le problème:

sudo apt-get install virtualbox-guest-dkms
    
réponse donnée rednammoc 12.11.2016 - 22:05
la source
1

Je pense que cette erreur est due à l’utilisation d’une ancienne version de Virtual Box ou au moins d’une ancienne version de l’image ISO des compléments invités.

J'ai réussi en téléchargeant une nouvelle image ISO des ajouts d'invités VBox et en exécutant le script VBoxLinuxAdditions.run Je suis allé ici Virtual Box site de téléchargement et ai attrapé une nouvelle ISO.

Pour des raisons (trop ennuyeuses), je ne pouvais pas mettre à jour ma version de VirtualBox sur l’hôte (Windows), mais je pouvais copier le nouveau fichier ISO vers un emplacement local sur le système de fichiers.

Ensuite, dans le menu "Devices" de la fenêtre VM, j'ai choisi un nouveau CD / DVD virtuel et choisi l'endroit où j'ai téléchargé la nouvelle image ISO.

Puis, à l'intérieur de la machine virtuelle Debian, je suis allé à \media\cdrom et j'ai exécuté le nouveau script VBoxLinuxAdditions.run en tant que root. (J'avais déjà installé dkms, les en-têtes de noyau actuels, etc.) Ensuite, le script s'est arrêté de se plaindre des en-têtes manquants (ils ne manquaient pas) et a construit les objets du noyau nécessaires.

Toute la raison pour cela était que X.org me donnerait des résolutions d’affichage supplémentaires et que je puisse exécuter la VM à une résolution plus élevée que les valeurs par défaut conservées.

    
réponse donnée Geeb 06.11.2017 - 17:14
la source
0

Je recevais les mêmes erreurs que OP lorsque je tentais de compiler les compléments VirtualBox Guest v4.1.12 dans différentes versions d’invités K / Ubuntu 13.04.

Building the shared folder support module ...fail!

Cela est dû à des bogues (ou à des attentes non satisfaites) des ajouts d'invité de VirtualBox sur différentes parties de la source Linux (dans GUEST). Malheureusement, Oracle choisit de lier très étroitement la version de VirtualBox Host à la version VirtualBox Guest Additions. Par conséquent, s'il y a un bogue dans les ajouts d'invités, vous devez mettre à niveau l'hôte en même temps.

Les versions suivantes de Virtualbox étaient installées sur l’hôte Ubuntu 12.04 LTS:

virtualbox       4.1.12-dfsg-2ubuntu0.3
virtualbox-dkms  4.1.12-dfsg-2ubuntu0.3
virtualbox-qt    4.1.12-dfsg-2ubuntu0.3

Selon les instructions à:      lien

J'ai mis à jour vers 4.2.10-dfsg-0ubuntu2 ~ ubuntu12.04.1 ~ ppa1 en utilisant:

sudo add-apt-repository ppa:debfx/virtualbox
sudo apt-get update
sudo apt-get install virtualbox virtualbox-dkms virtualbox-qt
cd ~/.VirtualBox
http://download.virtualbox.org/virtualbox/4.2.10/VBoxGuestAdditions_4.2.10.iso

Maintenant, les invités K / Ubuntu 13.04 peuvent créer et installer leurs ajouts invités VirtualBox:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install make gcc build-essential linux-headers-'uname -r' dkms
cd /media/VBOXADDITIONS_4.2.10_81404
sudo ./VBoxLinuxAdditions.run
sudo shutdown -r 0
    
réponse donnée Phoeey 19.09.2013 - 12:18
la source
0

Je pense que vous manquez quelque chose. Essayez d'installer

  • linux-headers-3.14-kali1-common
  • linux-headers-3.14-kali1-amd64
  • linux-source-3.14
  • libdw1
  • libunwind7

Pour moi, c'est kali linux avec 3.14

Cordialement.

    
réponse donnée ch4t0 28.05.2014 - 07:09
la source
0

Je rencontrais ce problème et le corrigeais en lançant ces commandes:

sudo apt-get remove dkms build-essential linux-headers-*
sudo apt-get install dkms build-essential linux-headers-$(uname -r)

Plus d'informations

    
réponse donnée Eduardo Dennis 26.11.2014 - 03:29
la source
0
  1. sudo apt-get install --assume-yes build-essential dkms linux-headers-generic linux-headers-$(uname -r)
  2. sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h
  

  1. sudo reboot

+ bonus: dossiers partagés "secret";)


  1. sudo gpasswd -a <username> vboxsf  
  2. sudo reboot
  3. fait.

  4. ???
  5. profit;)
réponse donnée user417498 21.01.2016 - 15:25
la source

Lire d'autres questions sur les étiquettes