Błąd: nie znaleziono nagłówków jądra. (Ale są na miejscu)

79

Próbuję zainstalować dodatki dla gości w VirtualBox 4.04. Host OS to Ubuntu desktop 11.04 64bit, guest guest to Ubuntu server 11.10 64bit.

$ sudo ./VBoxLinuxAdditions.run

Po niektórych wynikach drukowany jest ten wiersz:

The headers for the current running kernel were not found.

Ale nagłówki instalowane, przynajmniej zgodnie z 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

Działające jądro to:

$ 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

Jak to naprawić, aby instalator dodatków gości mógł znaleźć nagłówki jądra?

Aktualizacja: dodano pełną wydajność.

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

Nie obchodzi mnie błąd nr 2, ponieważ to jest serwer i nie potrzebuję serwera X. Ale potrzebuję wsparcia dla folderów współdzielonych.

Niektóre dalsze szczegóły:

$ 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
Paolo
źródło
Jest to standardowe wyjście dla dodatków Vboxguest - czy są jakieś inne błędy wskazujące, że moduły jądra vbox nie zostały poprawnie skompilowane?
fossfreedom
@foss Dziękujemy za Twój wkład, zaktualizowałem swoje pytanie.
Paolo,
@ MihaiTodor drugie pytanie jest możliwym duplikatem mojego, a nie odwrotnie, jak powiedziałeś. Wskazówka: spójrz na datę publikacji. Pozdrowienia.
Paolo,
Tak prawda. Przepraszam za to.
Mihai Todor

Odpowiedzi:

8

Aby gość Ubuntu serwera VirtualBox poprawnie zaakceptował instalację dodatków typu gość, musisz zainstalować minimalną instalację pakietu xorg:

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

W ten sposób uzyskasz obsługę folderu współdzielonego.

Jak już zauważyłeś, dodatki dla gości to jeden bardzo duży skrypt - „VBoxLinuxAdditions.run”

Możesz być w stanie rozpakować ten plik - nie polecałbym go, ponieważ wraz z wydaniem nowszych wersji virtualboksa wersja dodatków dla gości jest również zwykle zderzana.

Ponadto polecam (jeśli jeszcze tego nie zrobiłeś), zainstaluj dkms. Kiedy nowsze jądra Ubuntu są aktualizowane, moduły jądra z dodatkami gości będą automatycznie kompilowane. Bez dkmstego utracisz wsparcie dla folderów współdzielonych, gdy zostanie wykonana aktualizacja jądra.

źródło

fossfreedom
źródło
32
To w żaden sposób nie rozwiązuje problemu.
Sliq
11
Zdecydowanie odradzam instalowanie tych pakietów. Nadmuchają instalację serwera i nie rozwiążą problemu. Nie będzie już wyświetlany komunikat o błędzie dotyczący X11, ale to jedyna zaleta.
dwurf
3
@Panique, które rozwiązało problem, inaczej nie zaakceptowałbym tej odpowiedzi. Nie jestem idiotą.
Paolo
4
Odpowiedź psa powinna być odpowiedzią zaakceptowaną; instalacja xorg jest niepotrzebna.
Nathan
2
-1, ponieważ ta odpowiedź jest myląca.
ortang
160

Wiadomość wprowadza w błąd.

W moim przypadku tak naprawdę brakowało dkms, więc przed zainstalowaniem dodatku

sudo apt-get install build-essential linux-headers-`uname -r` dkms
pies
źródło
To również rozwiązało problem dla mnie.
Nick Retallack
29
Użyj pacakge, linux-headers-genericponieważ zawsze będzie wskazywał na najnowszy pakiet nagłówka jądra.
ortang
3
aktualizacja do najnowszej VirtualBox jest tym, co mnie rozwiązało, w przypadku instalacji Ubuntu 13.10
Răzvan Flavius ​​Panda
7
To powinna być zaakceptowana odpowiedź, masz serwer, po co zawracać sobie głowę instalowaniem Xorg ??? zainstaluj dkms i problem rozwiązany !!!
Frederic Yesid Peña Sánchez
2
sudo apt-get install --assume-yes build-essential dkms linux-headers-$(uname -r)i na sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.hpewno pomoże
19

(Mimo że to pytanie ma zaakceptowaną odpowiedź, dodaję tę odpowiedź, aby pomóc komuś innemu ...)

Chociaż miałem identyczne objawy, wypróbowałem każdą sugestię tego pytania, a jednak nic nie działało. W końcu znalazłem ten wątek sugerujący, że wersja VirtualBox jest nieaktualna z wersją jądra Linuksa.

Tak więc, jeśli nic nie działa dla ciebie, spróbuj zainstalować najnowszą wersję z: http://download.virtualbox.org/virtualbox/ (w momencie pisania wersji 4.2.6 dla systemów opartych na Debianie).

Popiół
źródło
Poprawny. Właściwie już natknąłem się na „wszystkie powyższe”: brakujące nagłówki jądra, przestarzałe nagłówki jądra, brakujący pakiet dkms i rzeczywiście nieaktualna wersja VBox.
youri
12

Naprawiłem ten błąd, instalując dkmsi aktualizując moją wersję VirtualBox. Okazuje się, że stare wersje dodatków gości VirtualBox często nie działają z najnowszymi jądrami.

dwurf
źródło
5
Instalacja dkms, restart i ponowne uruchomienie skryptu instalacyjnego działało dla mnie. Jest to również określone w oficjalnym dokumencie: virtualbox.org/manual/ch04.html#idp11274368
odpoczynek
nowsze wersje (Virtualbox są dostępne jako pliki deb stąd: download.virtualbox.org/virtualbox ) Mają także dodatki dla gości iso. Korzystanie z najnowszych naprawionych rzeczy dla mnie.
boczek
1
Aktualny oficjalny link do dokumentu: virtualbox.org/manual/ch04.html#idp46730490388960
Maks.
instalacja dkms działała dla mnie bezbłędnie.
Ayush
10

Odpowiedź na to, że potrzebujesz X, aby korzystać z dodatków gości, jest po prostu śmieszna. Powodem, dla którego działa po zainstalowaniu X, jest to, że pobiera libglib jako zależność, ale instalacja całego serwera X byłaby naprawdę niepotrzebna, aby uruchomić dodatki.

Wszystkie potrzebne pakiety to:

  • niezbędne do budowania
  • linux-headers-`uname-r`
  • libglib2.0-0

Oczywiście potrzebujesz tylko części niezbędnej do kompilacji i libglib, ale zamiast dokładnie sprawdzać, które pakiety są potrzebne, łatwiej jest pozwolić im wyciągnąć zależności.

Drobnym stwierdzeniem jest to, że są to dokładnie te same pakiety, których potrzebujesz do równoważnego vmware narzędzia „VMware Tools” na maszynie vmware.

yzfr1
źródło
9

Po zainstalowaniu sugerowanych pakietów za pomocą następującego polecenia:

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

Zaktualizowałem moją wersję VirtualBox, jak sugeruje dwurf. To naprawiło to dla mnie.

warren2k
źródło
1

Jedynym rozwiązaniem, które działało dla mnie, było usunięcie Virtual Box i zainstalowanie najnowszej wersji ze strony VirtualBox (wersja: 4.3.10 (repo) vs. 4.3.22 (strona internetowa)).

Paweł
źródło
1

Wypróbowałem WSZYSTKIE powyższe rozwiązanie i jestem całkiem pewien, że zainstalowałem odpowiednie nagłówki, ale nadal nie mam szczęścia !!!

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

Zainstalowałem również najnowszą wersję Virtual Box od dzisiaj 5.0.4, ale nadal mam błąd podczas próby zainstalowania dodatków gościa z błędem

The headers for the current running kernel were not found.

Rozwiązanie :

W końcu tym, co rozwiązało mój problem, jest uruchomienie VBoxLinuxAdditions.runkatalogu / root zamiast innego katalogu, takiego jak / home / !!!

Pierwotnie działałem VBoxLinuxAdditions.runz /home/katalogu i ciągle mam ten błąd dam, ale po użyciu poniższej komendy z katalogu głównego jest w porządku, problem rozwiązany!

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

Po tym możesz po prostu użyć reboot, powinieneś poprawnie wykonać dodatkowe gości i PEŁNY ekran! TAK !!!

Gob00st
źródło
Próbowałem tego, ale nadal nie działa. Ręce do góry
yaochiqkl
nie działa dla mnie.
muneeb_ahmed
1

Zazwyczaj instaluję dodatki dla gości bezpośrednio przez virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run). Jednak większość dystrybucji Linuksa oferuje pakiet, który można zainstalować za pomocą menedżera pakietów. Dla mnie następujące polecenie rozwiązało problem:

sudo apt-get install virtualbox-guest-dkms
rednammoc
źródło
Wypróbowałem wszystkie inne rozwiązania instalacyjne i nadal miałem problemy z dodatkami lub skryptem instalacyjnym. To rozwiązanie rozwiązało problem root bezpośrednio. Dziękuję Ci!
sadakatsu
1

Myślę, że ten błąd jest spowodowany przez użycie starej wersji Virtual Box lub przynajmniej starej wersji obrazu ISO dodatków gości.

Osiągnąłem sukces, pobierając nowy plik ISO dodatków gości VBox i uruchamiając skrypt VBoxLinuxAdditions.run. Udałem się tutaj, strona pobierania Virtual Box i złapałem nowy plik ISO.

Z powodów (zbyt nudnych, aby wejść) nie mogłem zaktualizować mojej wersji VirtualBox na hoście (Windows), ale mogłem skopiować nowy plik ISO do lokalnego miejsca w systemie plików.

Następnie w menu „Urządzenia” w oknie VM wybrałem nową wirtualną płytę CD / DVD i wybrałem miejsce, w którym pobrałem nowy obraz ISO.

Następnie w Debian VM poszedłem do \media\cdromi uruchomiłem nowy VBoxLinuxAdditions.runskrypt jako root. (Zainstalowałem już dkms, bieżące nagłówki jądra itp.) Następnie skrypt przestał fałszywie narzekać na brakujące nagłówki (nie było ich brakuje) i zbudował potrzebne obiekty jądra.

Powodem tego było to, że X.org dałoby mi dodatkowe rozdzielczości wyświetlania i mogłem uruchomić maszynę wirtualną w wyższej rozdzielczości niż konserwatywnie ustawione wartości domyślne.

Geeb
źródło
0

Otrzymywałem te same błędy, co OP, próbując skompilować Dodatki dla gości VirtualBox v4.1.12 w różnych odmianach gości K / Ubuntu 13.04.

Building the shared folder support module ...fail!

Wynika to z błędów (lub niespełnionych oczekiwań) dodatków gości VirtualBox wobec różnych części źródła linux (w GOŚĆU). Niestety Oracle decyduje się na bardzo ścisłe połączenie wersji Hosta VirtualBox z wersją Dodatków gości VirtualBox, więc jeśli w Dodatkach gości występuje błąd, musisz jednocześnie zaktualizować Hosta.

Miałem następujące wersje Virtualbox zainstalowane na hoście 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

Zgodnie z instrukcjami na stronie : http://www.ubuntuupdates.org/ppa/virtualbox?dist=precise

Zaktualizowałem do wersji 4.2.10-dfsg-0ubuntu2 ~ ubuntu12.04.1 ~ ppa1, używając:

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

Teraz goście K / Ubuntu 13.04 mogą budować i instalować swoje dodatki dla gości 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
Phoeey
źródło
0

Myślę, że czegoś brakuje. Spróbuj zainstalować

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

Dla mnie jest Kali Linux z 3.14

Z poważaniem.

ch4t0
źródło
0

Wystąpił problem i naprawiłem go, uruchamiając następujące polecenia:

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

Więcej informacji

Eduardo Dennis
źródło
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: udostępnione foldery „tajne”;)


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

  4. ???
  5. zysk;)

źródło