Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

การแก้ไขข้อผิดพลาดไดรเวอร์เคอร์เนล VirtualBox บน Linux

ข้อผิดพลาด VirtualBox และเคอร์เนลไม่ได้ติดตั้ง

อัปเดต:14 มกราคม 2569

ลินุกซ์. สิ่งต่าง ๆ ทำงานจนกว่าพวกเขาจะไม่ทำงาน ไม่มีอะไรที่เหมือนกับการได้รับข้อผิดพลาดอันเลวร้ายเพียงแค่เมื่อคุณต้องการทำงานจริงหรืองานสำคัญบางอย่าง ในกรณีนี้ ตามที่ระบุไว้ในรายงาน Slimbook Executive 12 ของฉัน VirtualBox จะไม่เปิดตัวแขกใดๆ เลย ข้อผิดพลาดแจ้งว่า:ไม่ได้ติดตั้งไดรเวอร์เคอร์เนล (rc=-1908) ไดรเวอร์เคอร์เนล VirtualBox Linux ไม่ได้โหลดหรือตั้งค่าไม่ถูกต้อง โปรดลองตั้งค่าโดยดำเนินการ ... ใช่แน่นอน ป๊อปอัปนี้แสดงขึ้นมาทันทีเมื่อฉันพยายามเปิดเครื่องเสมือนเครื่องใดเครื่องหนึ่ง น่ารำคาญและน่าหงุดหงิด โดยเฉพาะอย่างยิ่งเมื่อฉันไม่ได้ทำการเปลี่ยนแปลงใดๆ กับ VirtualBox มาระยะหนึ่งแล้ว

ตามคำแนะนำ ฉันรันคำสั่ง /sbin/vboxconfig และแจ้งว่าระบบของฉันไม่มีส่วนหัวเคอร์เนลที่จำเป็นในการรวบรวมไดรเวอร์สำหรับเคอร์เนลที่ทำงานอยู่ จากนั้นฉันก็จำได้ว่าฉันเพิ่งอัพเกรดเคอร์เนลบนกล่องจาก 6.8 เป็น 6.14 แต่ด้วยเหตุผลบางอย่าง VirtualBox ยังไม่ได้รับการกำหนดค่าอัตโนมัติด้วยการเปลี่ยนแปลงนี้ อย่างไรก็ตาม ฉันจะแสดงให้คุณเห็นปัญหาอย่างรวดเร็ว รายละเอียดที่น่าสนใจทั้งหมด และวิธีแก้ไขปัญหานี้ เพื่อให้คุณสนุกสนานได้

การแก้ไขข้อผิดพลาดไดรเวอร์เคอร์เนล VirtualBox บน Linux

ปัญหาโดยละเอียดเพิ่มเติม

ข้อความแสดงข้อผิดพลาดในป๊อปอัปค่อนข้างละเอียดและค่อนข้างทำให้เข้าใจผิด วิธีที่ง่ายกว่าและสวยงามกว่าคือการรันคำสั่ง /sbin/vboxconfig ในหน้าต่างเทอร์มินัล แล้วดูว่าเกิดอะไรขึ้น ข้อความจริงและรายละเอียดจะแตกต่างกัน

sudo /sbin/vboxconfig.php
vboxdrv.sh:การหยุดบริการ VirtualBox
vboxdrv.sh:การเริ่มบริการ VirtualBox
vboxdrv.sh:การสร้างโมดูลเคอร์เนล VirtualBox
ขณะนี้ระบบนี้ไม่ได้ถูกตั้งค่าเพื่อสร้างโมดูลเคอร์เนล
โปรดติดตั้งไฟล์ "ส่วนหัว" เคอร์เนล Linux ที่ตรงกับเคอร์เนลปัจจุบัน
สำหรับการเพิ่มการรองรับฮาร์ดแวร์ใหม่ให้กับระบบ
แพ็คเกจการแจกจ่ายที่มีส่วนหัวน่าจะเป็น:
linux-headers-ทั่วไป linux-headers-6.14.0-35-ทั่วไป
ขณะนี้ระบบนี้ไม่ได้ถูกตั้งค่าเพื่อสร้างโมดูลเคอร์เนล
โปรดติดตั้งไฟล์ "ส่วนหัว" เคอร์เนล Linux ที่ตรงกับเคอร์เนลปัจจุบัน
สำหรับการเพิ่มการรองรับฮาร์ดแวร์ใหม่ให้กับระบบ
แพ็คเกจการแจกจ่ายที่มีส่วนหัวน่าจะเป็น:
linux-ส่วนหัว-ทั่วไป linux-ส่วนหัว-6.14.0-35-ทั่วไป

เกิดปัญหาในการตั้งค่า VirtualBox หากต้องการเริ่มกระบวนการตั้งค่าใหม่ ให้เรียกใช้
/sbin/vboxconfig ในฐานะรูท หากระบบของคุณใช้ EFI Secure Boot คุณอาจต้องลงนามโมดูลเคอร์เนล (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) ก่อนจึงจะสามารถโหลดได้ โปรดดูเอกสารประกอบของระบบ Linux ของคุณสำหรับข้อมูลเพิ่มเติม

สิ่งที่เกิดขึ้นมีดังนี้:ฉันมีเคอร์เนลใหม่ แต่ไม่ใช่ผู้นำเคอร์เนล ซึ่งหมายความว่าระบบไม่สามารถคอมไพล์ไดรเวอร์ใหม่สำหรับเคอร์เนลใหม่ได้ ดังนั้น VirtualBox จึงไม่สามารถทำงานได้ คำถามก็คือ เหตุใดโปรแกรมจึงไม่ได้รับการกำหนดค่าอย่างถูกต้องระหว่างการอัพเกรดเคอร์เนล แต่นั่นเป็นปัญหาที่แตกต่างออกไป โดยพื้นฐานแล้ว การขาดความเหมาะสมของ Linux สำหรับการใช้งานเดสก์ท็อป ในกรณีนี้คือระบบ Kubuntu 24.04 หรือค่อนข้างจะเป็น Ubuntu

วิธีแก้ปัญหา

การแก้ไขค่อนข้างง่าย ติดตั้งแพ็คเกจที่ขาดหายไป รายการจริงจะแตกต่างกันไปขึ้นอยู่กับ distro ของคุณและเวอร์ชันเฉพาะและแม้แต่การใช้ตัวจัดการแพ็คเกจบรรทัดคำสั่งก็อาจแตกต่างกัน สำหรับฉันบนระบบ Kubuntu 24.04 (โดยพื้นฐานแล้ว Ubuntu พร้อม apt) บรรทัดเดียวจะเป็นดังนี้:

sudo apt ติดตั้ง linux-headers-generic linux-headers-6.14.0-35-generic

รันใหม่ /sbin/vboxconfig. ไดรเวอร์ควรคอมไพล์ใหม่และโหลด และคุณควรจะสามารถใช้ VirtualBox ต่อไปได้ตามปกติ และตอนนี้คุณก็สามารถทำงานที่สำคัญนั้นสำเร็จได้แล้ว

บทสรุป

สิ่งที่ฉันพบว่าขาดหายไปอย่างมากในเดสก์ท็อป Linux คือแนวทางเชิงปรัชญาที่ขับเคลื่อนด้วยผลิตภัณฑ์ เครื่องมือทุกชิ้นทำหน้าที่ของมันเอง โดยไม่คำนึงถึงสิ่งอื่นใด นักพัฒนาซอฟต์แวร์พัฒนาแต่พวกเขาไม่ได้คิดถึงประสบการณ์การใช้งานจริงของผู้ใช้ คุณติดตั้งเคอร์เนลใหม่ ทำไมไม่ "แนะนำ" คอมไพล์สิ่งต่าง ๆ ใหม่ล่ะ? ทำไมไม่แนะนำส่วนหัวล่ะ? หรืออย่างน้อยก็ตรวจสอบว่าพวกมันใช้กับเคอร์เนลก่อนหน้าหรือไม่? มีตัวเลือกมากมายที่นี่ซึ่งจะทำให้ผู้ใช้ได้รับประสบการณ์ที่คล่องตัวยิ่งขึ้น อย่าให้ใครมาเป็นผู้ดูแลระบบโดยฉับพลันเมื่อพวกเขาต้องการทำสิ่งที่สำคัญจริงๆ

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

ไชโย