Kesalahan: header kernel tidak ditemukan. (Tapi mereka ada di tempat)

79

Saya mencoba menginstal Penambahan Tamu di VirtualBox 4.04. Host OS adalah desktop Ubuntu 11.04 64bit, OS tamu adalah server Ubuntu 11.10 64bit.

$ sudo ./VBoxLinuxAdditions.run

Setelah beberapa output, baris ini dicetak:

The headers for the current running kernel were not found.

Tapi header yang dipasang, setidaknya sesuai untuk 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

Kernel yang berjalan adalah:

$ 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

Bagaimana cara saya memperbaiki hal-hal sehingga installer Guest Additions dapat menemukan header kernel?

Pembaruan: menambahkan output penuh.

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

Saya tidak peduli dengan kegagalan # 2, karena itu server dan saya tidak perlu X server. Tapi saya perlu dukungan folder bersama.

Beberapa perincian lebih lanjut:

$ 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
sumber
Ini adalah output standar untuk penambahan Vboxguest - apakah ada kesalahan lain yang mengindikasikan bahwa modul kernel vbox tidak dikompilasi dengan benar?
fossfreedom
@foss Terima kasih atas masukan Anda, saya telah memperbarui pertanyaan saya.
Paolo
@MihaiTodor pertanyaan lainnya adalah kemungkinan duplikat saya, bukan sebaliknya seperti yang Anda katakan. Petunjuk, lihat tanggal publikasi. Salam.
Paolo
Ya benar. Maaf soal itu.
Mihai Todor

Jawaban:

8

Untuk mendapatkan tamu server ubuntu VirtualBox untuk menerima instalasi penambahan-tamu dengan benar, Anda harus memiliki instalasi paket xorg minimal:

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

Dengan melakukan ini, Anda akan memiliki dukungan folder bersama.

Seperti yang Anda temukan, penambahan tamu adalah skrip yang sangat besar - "VBoxLinuxAdditions.run"

Anda mungkin dapat menghapus file ini - saya tidak akan merekomendasikannya, karena ketika versi virtualbox yang lebih baru dirilis, versi penambahan tamu biasanya juga dibenturkan.

Selain itu, saya akan merekomendasikan (jika Anda belum melakukannya), instal dkms. Ketika kernel ubuntu yang lebih baru diperbarui, modul kernel tambahan tamu akan dikompilasi secara otomatis. Tanpa dkmsAnda akan kehilangan dukungan folder bersama Anda ketika pembaruan kernel dibuat.

sumber

kebebasan fosil
sumber
32
Ini tidak menyelesaikan masalah dengan cara apa pun.
Sliq
11
Saya sangat merekomendasikan untuk tidak menginstal paket-paket ini. Mereka akan mengasapi pemasangan server Anda dan tidak memecahkan masalah. Anda tidak akan mendapatkan pesan kesalahan tentang X11 lagi tapi itu tentang satu-satunya manfaat.
dwurf
3
@Panique yang memecahkan masalah, jika tidak saya tidak akan menerima jawaban ini. Saya bukan seorang idiot.
Paolo
4
Jawaban oleh anjing harus menjadi jawaban yang diterima; menginstal xorg tidak perlu.
Nathan
2
-1 karena jawaban ini menyesatkan.
ortang
160

Pesannya menyesatkan.

Dalam kasus saya itu sebenarnya hilang dkms jadi sebelum Anda menginstal menjalankan penambahan

sudo apt-get install build-essential linux-headers-`uname -r` dkms
anjing
sumber
Ini memecahkan masalah bagi saya juga.
Nick Retallack
29
Gunakan pacakge linux-headers-generickarena akan selalu menunjuk ke paket header kernel terbaru.
ortang
3
memperbarui ke VirtualBox terbaru adalah apa yang memecahkannya bagi saya, untuk instalasi Ubuntu 13.10
Răzvan Flavius ​​Panda
7
Haruskah ini menjadi jawaban yang diterima, Anda memiliki server, mengapa repot-repot menginstal xorg ??? instal dkms dan masalah terpecahkan !!!
Frederic Yesid Peña Sánchez
2
sudo apt-get install --assume-yes build-essential dkms linux-headers-$(uname -r)dan sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.hpasti akan membantu
19

(Meskipun pertanyaan ini memiliki jawaban yang diterima, saya menambahkan jawaban ini kalau-kalau itu membantu orang lain keluar ...)

Meskipun saya memiliki gejala yang sama, saya mencoba setiap saran untuk pertanyaan ini, namun tidak ada yang berhasil. Saya akhirnya menemukan utas ini menyarankan bahwa itu adalah versi VirtualBox yang tidak up to date dengan versi kernel Linux.

Jadi, jika tidak ada yang berhasil untuk Anda, coba instal versi terbaru dari: http://download.virtualbox.org/virtualbox/ (pada saat penulisan, ini adalah 4.2.6 untuk sistem berbasis Debian).

Abu
sumber
Benar. Sebenarnya, saya sudah mengalami "semua hal di atas": header kernel hilang, header kernel usang, paket dkms hilang dan memang, versi VBox kedaluwarsa.
youri
12

Saya memperbaiki kesalahan ini dengan menginstal dkmsdan meningkatkan versi VirtualBox saya. Ternyata versi tambahan tambahan tamu VirtualBox sering tidak akan bekerja dengan kernel terbaru.

dwurf
sumber
5
Menginstal dkms, reboot, dan menjalankan kembali skrip install bekerja untuk saya. Ini juga dinyatakan dalam dokumen resmi: virtualbox.org/manual/ch04.html#idp11274368
beristirahat
versi yang lebih baru (dari virtualbox tersedia sebagai file deb dari sini: download.virtualbox.org/virtualbox ) Mereka juga memiliki tambahan tamu iso. Menggunakan hal-hal terbaru yang diperbaiki untuk saya.
daging
1
Tautan dokumen resmi saat ini: virtualbox.org/manual/ch04.html#idp46730490388960
Maks
menginstal dkms bekerja dengan sempurna untuk saya.
Ayush
10

Jawaban tentang Anda memerlukan X untuk menggunakan tambahan tamu hanyalah ridiculus. Alasan kerjanya setelah menginstal X adalah ia menarik libglib sebagai dependensi, tetapi akan sangat tidak penting untuk menginstal seluruh server X hanya untuk menjalankan penambahan.

Semua paket yang Anda butuhkan adalah sebagai berikut:

  • build-essential
  • linux-header-`uname-r`
  • libglib2.0-0

Jelas itu hanya bagian dari build-essential dan libglib yang Anda butuhkan, tetapi daripada menginvestigasi paket mana yang diperlukan, lebih mudah membiarkannya menarik dependensinya.

Sidenote adalah bahwa ini adalah paket yang persis sama dengan yang Anda butuhkan untuk vmware yang setara dengan "VMware Tools" pada mesin vmware.

yzfr1
sumber
9

Setelah menginstal paket yang disarankan dengan perintah berikut:

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

Saya memutakhirkan versi VirtualBox saya seperti yang disarankan oleh dwurf. Itu memperbaikinya bagi saya.

warren2k
sumber
1

Satu-satunya solusi yang berhasil bagi saya adalah menghapus Virtual Box dan menginstal versi terbaru dari situs web VirtualBox (versi: 4.3.10 (repo) vs. 4.3.22 (situs web)).

Paul
sumber
1

Saya telah mencoba SEMUA solusi di atas dan saya cukup yakin bahwa saya telah menginstal header yang tepat tetapi tetap tidak berhasil !!!

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

Dan saya juga telah menginstal versi terbaru dari Virtual Box hari ini 5.0.4 tetapi saya masih memiliki kesalahan ketika mencoba untuk menginstal Guest Additions with error

The headers for the current running kernel were not found.

Solusi:

Pada akhirnya yang memecahkan masalah saya adalah menjalankan VBoxLinuxAdditions.rundari / direktori root bukan direktori lain seperti / home / !!!

Saya awalnya berjalan VBoxLinuxAdditions.rundari /home/direktori dan terus mengalami kesalahan bendungan ini tetapi setelah menggunakan perintah di bawah ini dari direktori root, tidak masalah, masalah terpecahkan!

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

Setelah ini Anda cukup menggunakan reboot, maka Anda harus memiliki Tamu Tambahan dilakukan dengan benar dan Layar LENGKAP juga! YAY !!!

Gob00st
sumber
Saya mencoba ini tetapi masih tidak berhasil.
Angkat
tidak bekerja untuk saya.
muneeb_ahmed
1

Biasanya saya menginstal tambahan tamu langsung melalui virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run). Namun, sebagian besar distribusi linux menawarkan Anda paket yang dapat diinstal melalui manajer paket Anda. Bagi saya perintah berikut menyelesaikan masalah:

sudo apt-get install virtualbox-guest-dkms
rednammoc
sumber
Saya mencoba semua solusi instalasi lainnya dan terus mengalami masalah dengan add-in atau skrip instalasi. Solusi ini memecahkan masalah root secara langsung. Terima kasih!
sadakatsu
1

Saya pikir kesalahan ini disebabkan oleh menggunakan versi lama dari Virtual Box atau setidaknya versi lama gambar Guest Additions ISO.

Saya mencapai kesuksesan dengan mengunduh ISO baru dari Penambahan Tamu VBox dan menjalankan skrip VBoxLinuxAdditions.run. Saya pergi ke sini situs pengunduhan Kotak Virtual dan meraih ISO baru.

Untuk alasan (terlalu membosankan untuk masuk) saya tidak dapat memperbarui versi VirtualBox saya pada host (Windows), tapi saya bisa menyalin file ISO baru ke tempat lokal pada sistem file.

Kemudian, di menu "Perangkat" pada jendela VM saya memilih CD / DVD virtual baru dan memilih tempat di mana saya mengunduh gambar ISO baru.

Kemudian di dalam Debian VM saya pergi ke \media\cdromdan menjalankan VBoxLinuxAdditions.runskrip baru sebagai root. (Saya sudah menginstal dkms, header kernel saat ini, dll.) Kemudian skrip berhenti palsu mengeluhkan header yang hilang (mereka tidak hilang) dan membangun objek kernel yang diperlukan.

Seluruh alasan untuk melakukan ini adalah agar X.org akan memberi saya resolusi tampilan tambahan dan saya dapat menjalankan VM pada resolusi yang lebih tinggi daripada default yang ditetapkan secara konservatif.

Geeb
sumber
0

Saya mendapatkan kesalahan yang sama seperti OP ketika mencoba untuk mengkompilasi VirtualBox Guest Additions v4.1.12 dalam berbagai rasa tamu K / Ubuntu 13.04.

Building the shared folder support module ...fail!

Ini disebabkan oleh bug (atau harapan yang tidak terpenuhi) dari Penambahan Tamu VirtualBox terhadap berbagai bagian dari sumber linux (dalam TAMU). Sayangnya Oracle memilih untuk menautkan versi Host VirtualBox sangat dekat ke versi Tambahan VirtualBox, jadi jika ada bug di Penambahan Tamu maka Anda harus memutakhirkan Host pada saat yang sama.

Saya telah menginstal versi virtualbox di 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

Sesuai instruksi di: http://www.ubuntuupdates.org/ppa/virtualbox?dist=precise

Saya meningkatkan ke 4.2.10-dfsg-0ubuntu2 ~ ubuntu12.04.1 ~ ppa1 menggunakan:

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

Sekarang tamu K / Ubuntu 13.04 dapat membangun dan menginstal Tambahan Tamu VirtualBox mereka:

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
sumber
0

Saya pikir Anda kehilangan sesuatu. Coba pasang

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

Bagi saya adalah kali linux dengan 3.14

Salam Hormat.

ch4t0
sumber
0

Saya mengalami masalah ini dan memperbaikinya dengan menjalankan perintah ini:

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

Info lebih lanjut

Eduardo Dennis
sumber
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: folder bersama "rahasia";)


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

  4. ???
  5. keuntungan;)

sumber