ข้อผิดพลาด: ไม่พบส่วนหัวของเคอร์เนล (แต่พวกเขาอยู่ในสถานที่)


79

ฉันกำลังพยายามติดตั้ง Guest Additions ใน VirtualBox 4.04 โฮสต์ระบบปฏิบัติการคือเดสก์ท็อป Ubuntu 11.04 64 บิตระบบปฏิบัติการเกสต์คือเซิร์ฟเวอร์ Ubuntu 11.10 64 บิต

$ sudo ./VBoxLinuxAdditions.run

หลังจากเอาต์พุตบางส่วนบรรทัดนี้ถูกพิมพ์:

The headers for the current running kernel were not found.

แต่ส่วนหัวมีการติดตั้งอย่างน้อยตาม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

เคอร์เนลที่ใช้คือ:

$ 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

ฉันจะแก้ไขสิ่งต่าง ๆ เพื่อให้ตัวติดตั้ง Guest Additions สามารถค้นหาส่วนหัวของเคอร์เนลได้อย่างไร

อัพเดท: เพิ่มเอาท์พุทแบบเต็ม

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

ฉันไม่สนใจความล้มเหลว # 2 เพราะนั่นคือเซิร์ฟเวอร์และฉันไม่ต้องการ X server แต่ฉันต้องการการสนับสนุนโฟลเดอร์ที่แชร์

รายละเอียดเพิ่มเติมบางอย่าง:

$ 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

นี่เป็นเอาต์พุตมาตรฐานสำหรับการเพิ่ม Vboxguest - มีข้อผิดพลาดอื่น ๆ ที่ระบุว่าโมดูลเคอร์เนล vbox ไม่ได้รวบรวมอย่างถูกต้องหรือไม่?
fossfreedom

@foss ขอบคุณสำหรับข้อมูลของคุณฉันได้อัปเดตคำถามของฉันแล้ว
เปาโล

@MihaiTodor คำถามอื่นเป็นไปได้ที่ซ้ำกันของฉันไม่ใช่ในทางกลับกันตามที่คุณพูด คำแนะนำดูที่วันที่เผยแพร่ ความนับถือ.
เปาโล

ใช่จริง ขอโทษสำหรับเรื่องนั้น.
หมดเวลา Todor

คำตอบ:


8

เพื่อให้แขกเซิร์ฟเวอร์ VirtualBox อูบุนตูยอมรับการติดตั้งแบบผู้เยี่ยมชมเพิ่มเติมอย่างถูกต้องคุณจะต้องติดตั้งแพ็คเกจ Xorg ขั้นต่ำ:

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

คุณจะได้รับการรองรับโฟลเดอร์แชร์

ดังที่คุณพบการเพิ่มแขกเป็นหนึ่งในสคริปต์ที่มีขนาดใหญ่มาก - "VBoxLinuxAdditions.run"

คุณอาจสามารถถอนการติดตั้งไฟล์นี้ได้ - ฉันไม่อยากแนะนำเพราะเนื่องจาก virtualbox รุ่นใหม่ออกวางจำหน่ายเวอร์ชั่นของผู้มาเยี่ยมจะเพิ่มขึ้นเช่นกัน

นอกจากนี้ฉันจะแนะนำ (ถ้าคุณยังไม่ได้ติดตั้งdkms) เมื่อเคอร์เนล ubuntu รุ่นใหม่ได้รับการอัพเดตโมดูลเคอร์เนลที่เพิ่มโดยผู้เยี่ยมชมจะถูกรวบรวมโดยอัตโนมัติ หากไม่มีdkmsคุณจะสูญเสียการสนับสนุนโฟลเดอร์ที่ใช้ร่วมกันของคุณเมื่อมีการอัพเดตเคอร์เนล

แหล่ง


32
วิธีนี้ไม่ได้แก้ปัญหา แต่อย่างใด
Sliq

11
ฉันไม่แนะนำให้ติดตั้งแพ็คเกจเหล่านี้ พวกเขาจะขยายเซิร์ฟเวอร์ของคุณติดตั้งและไม่แก้ปัญหา คุณจะไม่ได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับ X11 อีกต่อไป แต่นั่นเป็นเพียงผลประโยชน์เท่านั้น
dwurf

3
@Panique ที่แก้ไขปัญหามิฉะนั้นฉันคงไม่ยอมรับคำตอบนี้ ฉันไม่ใช่คนงี่เง่า
เปาโล

4
คำตอบของสุนัขควรเป็นคำตอบที่ยอมรับได้ การติดตั้ง Xorg นั้นไม่จำเป็น
นาธาน

2
-1 เนื่องจากคำตอบนี้ทำให้เข้าใจผิด
ortang

160

ข้อความกำลังสร้างความเข้าใจผิด

ในกรณีของฉันมันหายไปจริงแล้ว dkms ดังนั้นก่อนที่คุณจะติดตั้งการรันเพิ่มเติม

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

นี่เป็นการแก้ไขปัญหาสำหรับฉันด้วย
Nick Retallack

29
ใช้ pacakge linux-headers-genericเนื่องจากจะชี้ไปที่แพ็คเกจส่วนหัวเคอร์เนลล่าสุดเสมอ
ortang

3
การอัปเดตเป็น VirtualBox ล่าสุดคือสิ่งที่แก้ไขได้สำหรับฉันสำหรับ Ubuntu 13.10 การติดตั้ง
Răzvan Flavius ​​Panda

7
นี่จะเป็นคำตอบที่ยอมรับได้คุณมีเซิร์ฟเวอร์ทำไมต้องติดตั้ง xorg ??? ติดตั้ง dkms และแก้ไขปัญหา !!!
Frederic Yesid PeñaSánchez

2
sudo apt-get install --assume-yes build-essential dkms linux-headers-$(uname -r)และ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จะช่วยได้แน่นอน

19

(แม้ว่าคำถามนี้มีคำตอบที่ยอมรับได้ แต่ฉันกำลังเพิ่มคำตอบนี้ในกรณีที่มันช่วยคนอื่น ... )

แม้ว่าฉันจะมีอาการเหมือนกัน แต่ฉันก็ลองทำทุกข้อเสนอแนะสำหรับคำถามนี้ แต่ก็ยังไม่มีอะไรทำงาน ในที่สุดฉันก็พบว่าเธรดนี้บอกว่าเป็นเวอร์ชั่น VirtualBox ซึ่งไม่ทันสมัยกับเคอร์เนลลินุกซ์

ดังนั้นหากไม่มีสิ่งใดที่เหมาะกับคุณให้ลองติดตั้งเวอร์ชันล่าสุดจาก: http://download.virtualbox.org/virtualbox/ (ในขณะที่เขียนนี่เป็น4.2.6สำหรับระบบที่ใช้เดเบียน)


แก้ไข. ที่จริงแล้วฉันได้พบกับ "ทั้งหมดข้างต้น": ส่วนหัวของเคอร์เนลที่ขาดหายไปส่วนหัวของเคอร์เนลที่ล้าสมัยแพ็คเกจ dkms ที่ขาดหายไปและแน่นอนรุ่น VBox ที่ล้าสมัย
youri

12

ฉันแก้ไขข้อผิดพลาดนี้โดยการติดตั้งdkmsและอัพเกรด VirtualBox เวอร์ชันของฉัน เปลี่ยนจากเวอร์ชั่นเก่าของ VirtualBox ที่แขกเพิ่มเติมมักจะใช้ไม่ได้กับเมล็ดล่าสุด


5
การติดตั้ง dkms รีบูตและเรียกใช้สคริปต์การติดตั้งใหม่ทำงานได้สำหรับฉัน มันยังระบุไว้ในเอกสารอย่างเป็นทางการ: virtualbox.org/manual/ch04.html#idp11274368
พักผ่อน

เวอร์ชันที่ใหม่กว่า (ของ virtualbox มีให้เป็นไฟล์ deb จากที่นี่: download.virtualbox.org/virtualbox ) พวกเขายังมีการเพิ่ม iso ของแขก ใช้ล่าสุดของสิ่งคงที่สำหรับฉัน
เบคอน

1
ลิงค์เอกสารอย่างเป็นทางการปัจจุบัน: virtualbox.org/manual/ch04.html#idp46730490388960
สูงสุด

การติดตั้ง dkms ทำงานได้อย่างไม่มีที่ติสำหรับฉัน
Ayush

10

คำตอบเกี่ยวกับการที่คุณต้องการ X เพื่อใช้การเพิ่มเติมจากแขกเป็นเพียงการเยาะเย้ย เหตุผลที่ใช้งานได้หลังจากติดตั้ง X คือมันดึง libglib ให้เป็นอิสระ แต่มันไม่จำเป็นที่จะต้องติดตั้ง X server ทั้งตัวเพื่อให้ได้สิ่งที่เพิ่มเข้ามา

แพ็คเกจทั้งหมดที่คุณต้องการมีดังต่อไปนี้:

  • สร้างจำเป็น
  • ลินุกซ์หัว-`uname-r`
  • libglib2.0-0

เห็นได้ชัดว่ามันเป็นเพียงส่วนหนึ่งของ build-essential และ libglib ที่คุณต้องการ แต่แทนที่จะตรวจสอบว่าจำเป็นต้องใช้แพ็คเกจใด

sidenote คือแพ็กเกจเหล่านี้เป็นแพคเกจเดียวกับที่คุณต้องการสำหรับ "VMware Tools" ที่เทียบเท่ากับ vmware บนเครื่อง vmware


9

หลังจากติดตั้งแพ็กเกจที่แนะนำด้วยคำสั่งต่อไปนี้:

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

ฉันปรับรุ่น VirtualBox ตามที่ dwurf แนะนำ นั่นแก้ไขให้ฉัน


1

ทางออกเดียวที่ทำงานได้สำหรับฉันคือการลบ Virtual Box และติดตั้งเวอร์ชันล่าสุดจากเว็บไซต์ VirtualBox (เวอร์ชั่น: 4.3.10 (repo) และ 4.3.22 (เว็บไซต์))


1

ฉันได้ลองวิธีแก้ปัญหาทั้งหมดข้างต้นแล้วและฉันค่อนข้างมั่นใจว่าฉันได้ติดตั้งส่วนหัวที่เหมาะสม แต่ก็ยังไม่มีโชค !!!

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

และฉันยังได้ติดตั้ง Virtual Box เวอร์ชันล่าสุด ณ วันนี้ 5.0.4 แต่ฉันก็ยังมีข้อผิดพลาดเมื่อพยายามติดตั้ง Guest Additions ที่มีข้อผิดพลาด

The headers for the current running kernel were not found.

วิธีการแก้ :

ในที่สุดสิ่งที่แก้ไขปัญหาของฉันคือการใช้VBoxLinuxAdditions.runไดเรกทอรีจาก / รากแทนไดเรกทอรีอื่นเช่น / home / !!!

ฉันเดิมเรียกใช้VBoxLinuxAdditions.runจาก/home/ไดเรกทอรีและยังคงมีข้อผิดพลาดเขื่อนนี้ แต่หลังจากใช้คำสั่งด้านล่างจากไดเรกทอรีรากก็ดีแก้ไขปัญหา!

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

หลังจากนี้คุณสามารถใช้งานได้ง่ายrebootจากนั้นคุณควรให้ Guest เพิ่มเติมทำอย่างถูกต้องและเต็มหน้าจอด้วย! เย้ !!!


ฉันลองสิ่งนี้ แต่ก็ยังไม่ทำงาน ยกมือขึ้น
yaochiqkl

ไม่ได้ผลสำหรับฉัน
muneeb_ahmed

1

โดยปกติฉันจะติดตั้งแขกเพิ่มเติมโดยตรงผ่าน virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run) อย่างไรก็ตามการแจกแจงลินุกซ์ส่วนใหญ่จะเสนอแพ็คเกจที่สามารถติดตั้งผ่านตัวจัดการแพ็คเกจของคุณได้ สำหรับฉันคำสั่งดังต่อไปนี้แก้ไขปัญหา:

sudo apt-get install virtualbox-guest-dkms

ฉันลองโซลูชันการติดตั้งอื่นทั้งหมดและยังคงมีปัญหากับ Add-in หรือสคริปต์การติดตั้งต่อไป วิธีนี้แก้ปัญหารากโดยตรง ขอขอบคุณ!
sadakatsu

1

ฉันคิดว่าข้อผิดพลาดนี้เกิดจากการใช้ Virtual Box เวอร์ชันเก่าหรืออย่างน้อยอิมเมจ ISO รุ่นเก่าเพิ่มเติม

ฉันประสบความสำเร็จด้วยการดาวน์โหลด ISO ใหม่ของ VBox Guest Additions และเรียกใช้สคริปต์ VBoxLinuxAdditions.run ฉันไปที่เว็บไซต์ดาวน์โหลด Virtual Box และคว้า ISO ใหม่

ด้วยเหตุผล (น่าเบื่อเกินไป) ฉันไม่สามารถอัปเดต VirtualBox เวอร์ชันของฉันบนโฮสต์ (Windows) แต่ฉันสามารถคัดลอกไฟล์ ISO ใหม่ไปยังสถานที่ท้องถิ่นบนระบบไฟล์ได้

จากนั้นในเมนู "อุปกรณ์" บนหน้าต่าง VM ฉันเลือกซีดี / ดีวีดีเสมือนใหม่และเลือกสถานที่ที่ฉันดาวน์โหลดอิมเมจ ISO ใหม่

จากนั้นภายใน Debian VM ฉันไป\media\cdromและเรียกใช้VBoxLinuxAdditions.runสคริปต์ใหม่ในฐานะรูท (ฉันได้ติดตั้ง dkms แล้ว, ส่วนหัวเคอร์เนลปัจจุบัน ฯลฯ ) จากนั้นสคริปต์ก็หยุดบ่นเกี่ยวกับส่วนหัวที่หายไปอย่างไม่ถูกต้อง

เหตุผลทั้งหมดในการทำเช่นนี้คือเพื่อให้ X.org จะให้ความละเอียดการแสดงผลเพิ่มเติมและฉันสามารถเรียกใช้ VM ที่ความละเอียดสูงกว่าค่าเริ่มต้นที่ตั้งไว้อย่างระมัดระวัง


0

ฉันได้รับข้อผิดพลาดเดียวกับ OP เมื่อพยายามรวบรวม VirtualBox Guest Additions v4.1.12 ในรสชาติต่างๆของแขก K / Ubuntu 13.04

Building the shared folder support module ...fail!

สิ่งนี้เกิดจากข้อผิดพลาด (หรือความคาดหวังที่ไม่คาดคิด) ของ VirtualBox Guest Additions กับส่วนต่าง ๆ ของแหล่ง linux (ใน GUEST) น่าเสียดายที่ Oracle เลือกที่จะลิงค์รุ่น VirtualBox Host อย่างใกล้ชิดกับเวอร์ชั่น VirtualBox Guest Additions ดังนั้นหากมีข้อผิดพลาดในการเพิ่ม Guest ดังนั้นคุณจะต้องอัพเกรด Host ในเวลาเดียวกัน

ฉันมีเวอร์ช่วลเวอร์ชั่น VirtualBox ต่อไปนี้ติดตั้งบนโฮสต์ 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

ตามคำแนะนำที่: http://www.ubuntuupdates.org/ppa/virtualbox?dist=precise

ฉันอัพเกรดเป็น 4.2.10-dfsg-0ubuntu2 ~ ubuntu12.04.1 ~ ppa1 โดยใช้:

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

ตอนนี้แขก K / Ubuntu 13.04 สามารถสร้างและติดตั้ง VirtualBox Guest Additions ของพวกเขาได้:

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

ฉันคิดว่าคุณขาดอะไรไป ลองติดตั้ง

  • ลินุกซ์หัว-3.14-kali1 ทั่วไป
  • ลินุกซ์หัว-3.14-kali1-amd64
  • ลินุกซ์ที่มา-3.14
  • libdw1
  • libunwind7

สำหรับฉันคือ kali linux กับ 3.14

ด้วยความเคารพ.



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

+ โบนัส: โฟลเดอร์ที่แชร์ "secret";)


  1. sudo gpasswd -a <username> vboxsf
  2. sudo reboot
  3. เสร็จแล้ว

  4. ???
  5. กำไร ;)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.