Errore: intestazioni del kernel non trovate. (Ma sono a posto)


79

Sto cercando di installare Guest Additions in VirtualBox 4.04. Il sistema operativo host è Ubuntu desktop 11.04 64 bit, il sistema operativo guest è Ubuntu server 11.10 64 bit.

$ sudo ./VBoxLinuxAdditions.run

Dopo alcuni output questa riga viene stampata:

The headers for the current running kernel were not found.

Ma le intestazioni sono installate, almeno di conseguenza per 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

Il kernel in esecuzione è:

$ 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

Come posso risolvere le cose in modo che il programma di installazione di Guest Additions sia in grado di trovare le intestazioni del kernel?

Aggiornamento: aggiunto l'output completo.

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).

Non mi interessa il fallimento n. 2, perché è un server e non ho bisogno di X server. Ma ho bisogno del supporto per le cartelle condivise.

Alcuni ulteriori dettagli:

$ 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

Questo è un output standard per le aggiunte di Vboxguest - ci sono altri errori che indicano che i moduli del kernel vbox non sono stati compilati correttamente?
Fossfreedom

@foss Grazie per il tuo contributo, ho aggiornato la mia domanda.
Paolo

@MihaiTodor l'altra domanda è un mio possibile duplicato, non viceversa come hai detto. Suggerimento, dai un'occhiata alla data di pubblicazione. Saluti.
Paolo,

Si vero. Mi dispiace per quello.
Mihai Todor,

Risposte:


8

Per fare in modo che un guest server Ubuntu di VirtualBox accetti correttamente un'installazione guest-adds dovrai disporre di un'installazione minima del pacchetto xorg:

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

In questo modo, avrai il supporto per le cartelle condivise.

Come hai scoperto, le aggiunte degli ospiti sono uno script molto grande: "VBoxLinuxAdditions.run"

Potresti essere in grado di decomprimere questo file - non lo consiglierei, poiché quando vengono rilasciate le versioni più recenti di virtualbox, anche la versione delle aggiunte degli ospiti viene normalmente esclusa.

Inoltre, raccomanderei (se non l'hai già fatto), di installare dkms. Quando vengono aggiornati i kernel Ubuntu più recenti, i moduli del kernel delle aggiunte guest verranno compilati automaticamente. Senza di dkmste perderai il supporto per le cartelle condivise quando viene effettuato un aggiornamento del kernel.

fonte


32
Questo non risolve il problema in alcun modo.
Sliq,

11
Consiglio vivamente di non installare questi pacchetti. Faranno gonfiare l'installazione del server e non risolveranno il problema. Non riceverai più un messaggio di errore su X11 ma questo è l'unico vantaggio.
Dwurf

3
@Panique che ha risolto il problema, altrimenti non avrei accettato questa risposta. Non sono un'idiota.
Paolo,

4
La risposta per cane dovrebbe essere la risposta accettata; l'installazione di xorg non è necessaria.
Nathan,

2
-1 poiché questa risposta è fuorviante.
ort

160

Il messaggio è fuorviante.

Nel mio caso mancava effettivamente dkms, quindi prima di installare l'aggiunta

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

Questo ha risolto il problema anche per me.
Nick Retallack,

29
Usa il pacakge linux-headers-genericin quanto punterà sempre all'ultimo pacchetto di intestazione del kernel.
ortang

3
l'aggiornamento all'ultimo VirtualBox è quello che mi ha risolto, per l'installazione di Ubuntu 13.10
Răzvan Flavius ​​Panda,

7
Questa shlould potrebbe essere la risposta accettata, hai un server, perché preoccuparsi di installare xorg ??? installa dkms e il problema è stato risolto !!!
Frederic Yesid Peña Sánchez,

2
sudo apt-get install --assume-yes build-essential dkms linux-headers-$(uname -r)e sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.hsicuramente ti aiuterà

19

(Anche se questa domanda ha una risposta accettata, sto aggiungendo questa risposta nel caso in cui aiuti qualcun altro ...)

Sebbene avessi sintomi identici, ho provato ogni suggerimento a questa domanda, eppure nulla ha funzionato. Ho finalmente trovato questo thread suggerendo che la versione di VirtualBox non è aggiornata con la versione del kernel di Linux.

Quindi, se nulla funziona per te, prova a installare l'ultima versione da: http://download.virtualbox.org/virtualbox/ (al momento della stesura di questo, era 4.2.6 per i sistemi basati su Debian).


Corretta. In realtà, ho già incontrato "tutto quanto sopra": header kernel mancanti, header kernel obsoleti, pacchetto dkms mancante e, in effetti, versione VBox non aggiornata.
tuo

12

Ho corretto questo errore installando dkmse aggiornando la mia versione di VirtualBox. Risulta che le vecchie versioni delle aggiunte guest di VirtualBox spesso non funzionano con i kernel più recenti.


5
Installare dkms, riavviare e rieseguire lo script di installazione ha funzionato per me. Lo afferma anche nel documento ufficiale: virtualbox.org/manual/ch04.html#idp11274368
riposo

versioni più recenti (di virtualbox sono disponibili come file deb da qui: download.virtualbox.org/virtualbox ) Hanno anche le aggiunte degli ospiti iso. Usando le ultime cose riparate per me.
pancetta

1
Link al documento ufficiale attuale: virtualbox.org/manual/ch04.html#idp46730490388960
Max

l'installazione di dkms ha funzionato perfettamente per me.
Ayush,

10

La risposta su di te che hai bisogno di X per usare le aggiunte degli ospiti è solo ridicolo. Il motivo per cui funziona dopo aver installato X è che estrae libglib come dipendenza, ma sarebbe davvero inutile installare l'intero server X solo per far funzionare le aggiunte.

Tutti i pacchetti necessari sono i seguenti:

  • build-essential
  • linux-headers-`uname-R`
  • libglib2.0-0

Ovviamente è solo una parte di build-essential e libglib di cui hai bisogno, ma piuttosto che investigare esattamente quali pacchetti sono necessari è più facile lasciare che prendano le loro dipendenze.

Un sidenote è che si tratta esattamente degli stessi pacchetti necessari per l'equivalente di "VMware Tools" in VMware su una macchina VMware.


9

Dopo aver installato i pacchetti suggeriti con il seguente comando:

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

Ho aggiornato la mia versione di VirtualBox come suggerito da dwurf. Ciò ha risolto il problema per me.


1

L'unica soluzione che ha funzionato per me è stata la rimozione di Virtual Box e l'installazione dell'ultima versione dal sito Web VirtualBox (versione: 4.3.10 (repository) vs. 4.3.22 (sito Web)).


1

Ho provato TUTTA la soluzione di cui sopra e sono abbastanza sicuro di aver installato le intestazioni corrette ma ancora nessuna fortuna !!!

root@test:~# 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

E ho anche installato l'ultima versione di Virtual Box a partire da oggi 5.0.4 ma ho ancora l'errore quando provo a installare Guest Additions con errore

The headers for the current running kernel were not found.

Soluzione:

Alla fine, il mio problema è stato risolto eseguendo la VBoxLinuxAdditions.rundirectory from / root invece di altre directory come / home / !!!

Inizialmente stavo correndo VBoxLinuxAdditions.rundalla /home/directory e continua ad avere questo errore dam ma dopo aver usato il comando di seguito dalla directory root, va bene, il problema è stato risolto!

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

Dopodiché puoi semplicemente usare reboot, quindi dovresti avere Guest aggiuntivo fatto correttamente e anche lo schermo COMPLETO! SÌÌ !!!


Ci ho provato ma non funziona ancora. Mani in alto
yaochiqkl

Non funziona per me.
muneeb_ahmed,

1

Di solito installo le aggiunte degli ospiti direttamente tramite virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run). Tuttavia, la maggior parte delle distribuzioni di Linux ti offre un pacchetto che può essere installato tramite il tuo gestore pacchetti. Per me il seguente comando ha risolto il problema:

sudo apt-get install virtualbox-guest-dkms

Ho provato tutte le altre soluzioni di installazione e ho continuato ad avere problemi con i componenti aggiuntivi o lo script di installazione. Questa soluzione ha risolto direttamente il problema alla radice. Grazie!
sadakatsu,

1

Penso che questo errore sia causato dall'utilizzo di una versione precedente di Virtual Box o almeno di una versione precedente dell'immagine ISO delle aggiunte degli ospiti.

Ho raggiunto il successo scaricando un nuovo ISO di VBox Guest Additions ed eseguendo lo script VBoxLinuxAdditions.run Sono andato qui sul sito di download di Virtual Box e ho acquisito un nuovo ISO.

Per motivi (troppo noiosi per entrare) non sono riuscito ad aggiornare la mia versione di VirtualBox sull'host (Windows), ma ho potuto copiare il nuovo file ISO in una posizione locale sul file system.

Quindi, nel menu "Dispositivi" nella finestra della VM ho scelto un nuovo CD / DVD virtuale e ho scelto il luogo in cui ho scaricato la nuova immagine ISO.

Poi all'interno della VM Debian sono andato a \media\cdromed ho eseguito il nuovo VBoxLinuxAdditions.runscript come root. (Avevo già installato dkms, le attuali intestazioni del kernel ecc.) Quindi lo script ha smesso di lamentarsi falsamente delle intestazioni mancanti (non mancavano) e ha creato gli oggetti del kernel necessari.

L'intero motivo di ciò era che X.org mi avrebbe fornito ulteriori risoluzioni di visualizzazione e che avrei potuto eseguire la VM a una risoluzione superiore rispetto alle impostazioni predefinite impostate in modo conservativo.


0

Stavo ottenendo gli stessi errori di OP durante il tentativo di compilare VirtualBox Guest Additions v4.1.12 in vari tipi di guest K / Ubuntu 13.04.

Building the shared folder support module ...fail!

Ciò è dovuto a bug (o aspettative non soddisfatte) delle aggiunte VirtualBox Guest contro varie parti del sorgente Linux (nel GUEST). Sfortunatamente Oracle sceglie di collegare la versione di VirtualBox Host in modo molto stretto alla versione di VirtualBox Guest Additions, quindi se c'è un bug in Guest Additions devi aggiornare l'host allo stesso tempo.

Avevo le seguenti versioni di virtualbox installate sull'host 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

Come da istruzioni su: http://www.ubuntuupdates.org/ppa/virtualbox?dist=precise

Ho aggiornato a 4.2.10-dfsg-0ubuntu2 ~ ubuntu12.04.1 ~ ppa1 usando:

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

Ora gli ospiti di K / Ubuntu 13.04 possono creare e installare le loro aggiunte agli ospiti 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

0

Penso che ti manchi qualcosa. Prova a installare

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

Per me è Kali Linux con 3.14

I migliori saluti.


0

Ho riscontrato questo problema e risolto eseguendo questi comandi:

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

Ulteriori informazioni


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: cartelle condivise "segrete";)


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

  4. ???
  5. profitto ;)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.