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

73

Sto cercando di installare le aggiunte guest in VirtualBox 4.04. Il sistema operativo host è desktop Ubuntu 11.04 a 64 bit, il sistema operativo guest è il server Ubuntu 11.10 a 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 a 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 faccio a sistemare le cose in modo che il programma di installazione delle aggiunte delle Guest sia in grado di trovare le intestazioni del kernel?

Aggiornamento: ha 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 fail # 2, perché quello è un server e non ho bisogno del server X. Ma ho bisogno del supporto per 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
    
posta Paolo 25.01.2012 - 14:54

14 risposte

7

Per ottenere un guest server ubuntu VirtualBox per accettare correttamente un'installazione guest-addition devi avere un minimo di installazione del pacchetto xorg:

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

Facendo questo, avrai il supporto per la cartella condivisa.

Come hai trovato, le aggiunte guest sono uno script molto grande - "VBoxLinuxAdditions.run"

Potresti essere in grado di decomprimere questo file - non lo consiglierei, poiché quando vengono rilasciate versioni più recenti di virtualbox, la versione delle aggiunte guest viene di solito urtata.

Inoltre, ti consiglio (se non lo hai già fatto), installa dkms . Quando vengono aggiornati i nuovi kernel di Ubuntu, i moduli del kernel delle aggiunte guest verranno compilati automaticamente. Senza dkms perderai il supporto per le cartelle condivise quando viene effettuato un aggiornamento del kernel.

source

    
risposta data fossfreedom 25.01.2012 - 15:23
153

Il messaggio è fuorviante.

Nel mio caso in realtà mancava dkms quindi prima di installare l'addizione eseguire

sudo apt-get install build-essential linux-headers-'uname -r' dkms
    
risposta data dog 19.10.2012 - 02:24
18

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

Anche se ho avuto sintomi identici, ho provato ogni suggerimento a questa domanda, eppure nulla ha funzionato. Alla fine ho trovato questa discussione suggerendo che la versione VirtualBox non è aggiornata con la versione del kernel di Linux.

Quindi, se nulla funziona per te, prova a installare l'ultima versione da: link (al momento della stesura, questo era 4.2.6 per sistemi basati su Debian).

    
risposta data Ash 11.02.2013 - 08:18
12

Ho corretto questo errore installando dkms e aggiornando la mia versione di VirtualBox. Risulta vecchie versioni delle aggiunte guest di VirtualBox che spesso non funzionano con gli ultimi kernel.

    
risposta data dwurf 14.11.2012 - 01:37
10

La risposta su te che necessiti di X per usare le aggiunte degli ospiti è semplicemente ridicola. La ragione per cui funziona dopo l'installazione di X è che tira libglib come dipendenza, ma sarebbe davvero poco pratico 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 di libglib di cui hai bisogno, ma piuttosto che investigare esattamente quali pacchetti sono necessari è più facile lasciare che tirino le loro dipendenze.

Un sidenote è che questi sono esattamente gli stessi pacchetti necessari per l'equivalente VMware "VMware Tools" su un computer VMware.

    
risposta data yzfr1 28.11.2012 - 14:51
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. Questo lo ha risolto per me.

    
risposta data warren2k 30.11.2012 - 00:06
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 (pronti contro termine) vs. 4.3.22 (sito web)).

    
risposta data Paul 27.02.2015 - 17:47
1

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

[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

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

The headers for the current running kernel were not found.

Soluzione:

Alla fine ciò che ha risolto il mio problema è eseguire VBoxLinuxAdditions.run dalla directory / root invece di altre directory come / home / !!!

Originariamente stavo correndo VBoxLinuxAdditions.run dalla directory /home/ e continua ad avere questo errore di diga ma dopo aver usato il comando qui sotto dalla directory root, va bene, problema risolto!

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

Dopodiché puoi semplicemente usare reboot , quindi dovresti fare in modo che Guest Add venga eseguito correttamente e anche Schermo FULL! YAY !!!

    
risposta data Gob00st 22.09.2015 - 00:25
1

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

sudo apt-get install virtualbox-guest-dkms
    
risposta data rednammoc 12.11.2016 - 22:05
1

Penso che questo errore sia causato dall'uso di una vecchia versione di Virtual Box o almeno di una vecchia versione dell'immagine ISO delle aggiunte guest.

Ho raggiunto il successo scaricando una nuova ISO delle aggiunte guest VBox ed eseguendo lo script VBoxLinuxAdditions.run Sono andato qui Virtual Box sito di download e ho preso una nuova ISO.

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

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

Poi all'interno della VM Debian sono passato a \media\cdrom e ho eseguito il nuovo VBoxLinuxAdditions.run script come root. (Avevo già installato dkms, gli attuali header del kernel ecc.) Poi lo script ha smesso di lamentarsi falsamente delle intestazioni mancanti (non erano mancanti) e ha costruito gli oggetti del kernel di cui aveva bisogno.

L'intera ragione per farlo è stata che X.org mi avrebbe dato ulteriori risoluzioni di visualizzazione e avrei potuto eseguire la VM con una risoluzione più alta rispetto alle impostazioni predefinite impostate in modo conservativo.

    
risposta data Geeb 06.11.2017 - 17:14
0

Stavo ottenendo gli stessi errori di OP quando provavo a compilare le Addizioni Ospite VirtualBox v4.1.12 in vari tipi di ospiti di K / Ubuntu 13.04.

Building the shared folder support module ...fail!

Ciò è dovuto a bug (o aspettative non soddisfatte) delle Addizioni Guest di VirtualBox contro varie parti del sorgente linux (nel GUEST). Sfortunatamente Oracle sceglie di collegare la versione di VirtualBox Host molto da vicino alla versione di VirtualBox Guest Additions, quindi se c'è un bug nelle Guest Additions allora devi aggiornare l'Host nello stesso momento.

Ho avuto 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 a:      link

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 addizionali guest 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
    
risposta data Phoeey 19.09.2013 - 12:18
0

Penso che ti manchi qualcosa. Prova ad installare

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

Per me è kali linux con 3.14

I migliori saluti.

    
risposta data ch4t0 28.05.2014 - 07:09
0

Ho riscontrato questo problema e l'ho 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

    
risposta data Eduardo Dennis 26.11.2014 - 03:29
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 "segreto";)

  1. %codice%  
  2. sudo gpasswd -a <username> vboxsf
  3. fatto.
  4. ???
  5. profitto;)
risposta data user417498 21.01.2016 - 15:25

Leggi altre domande sui tag