सवाल वर्चुअल बॉक्स के अपग्रेड के बाद, कर्नेल स्रोत गायब हैं


मैंने वर्चुअलबॉक्स को 4.1 से 4.2 तक अपग्रेड किया था

जब भी मैं अपने विन XP वीडीआई लोड करना चाहता हूं, यह मुझे निम्न त्रुटि देता है:

कर्नेल ड्राइवर स्थापित नहीं है (आरसी = -1908)

वर्चुअलबॉक्स लिनक्स कर्नेल ड्राइवर (vboxdrv) या तो लोड नहीं किया गया है या इसके साथ एक अनुमति समस्या है /dev/vboxdrv। कृपया निष्पादन करके कर्नेल मॉड्यूल को पुनर्स्थापित करें

/etc/init.d/vboxdrv setup

जड़ के रूप में यदि यह आपके वितरण में उपलब्ध है, तो आपको पहले डीकेएमएस पैकेज स्थापित करना चाहिए। यह पैकेज लिनक्स कर्नेल परिवर्तनों का ट्रैक रखता है और यदि आवश्यक हो तो vboxdrv कर्नेल मॉड्यूल को पुन: संकलित करता है।

मैंने कर्नेल मॉड्यूल को पुनर्स्थापित करने के लिए सुझाए गए चरण को चलाया, और लॉग फ़ाइल निम्नानुसार है:

Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.
Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.
Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.

मैं अभी भी अपनी जीत वर्चुअल एक्सपी वीडीआई फ़ाइल को फिर से चलाने में असमर्थ हूं।

किसी के पास कोई सुराग है?


4
2017-11-17 01:46


मूल




जवाब:


ऐसा लगता है कि आपके पास कर्नेल हेडर इंस्टॉल नहीं हैं, फिर स्थापित करने के लिए वर्चुअल बॉक्स कर्नेल ड्राइव को स्थापित करने के लिए dkms की आवश्यकता है:

sudo apt-get install linux-headers-`uname -r`

बाद में,

/etc/init.d/vboxdrv setup

कार्य करना चाहिए।


10
2017-11-17 11:22



अरे यह आदमी काम करता है! मैंने आपके सुझाव के अनुसार बिल्कुल किया था। त्रुटि कर्नेल हेडर के बारे में कुछ भी क्यों नहीं कहती है? बस उत्सुक। - Husni
ऐसा होता है। आपने इसे अपने प्रश्न में बोल्ट में हाइलाइट किया है;)। - Javier Rivera
मैं देखता हूं कि उसने वहां क्या किया ... बहुत धन्यवाद! - Husni
ओपी के समान मुद्दों के साथ यहां आया था। यह 'अनमोल-आर' सलाह थी जिसे आपने छोड़ा था जिसने मुझे इंस्टॉल किए गए कर्नेल हेडर के संस्करण की जांच की। वे कर्नेल मैं चल रहा हूं के समान संस्करण नहीं थे। धन्यवाद। - csilk
यह अनुमति देता है /etc/init.d/vboxdrv setup चलाने के लिए; हालांकि, यह त्रुटि के साथ विफल रहता है Failed to install using DKMS, attempting to install without Makefile:181: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop.  इसे शायद ही कभी सफल माना जा सकता है ... - weberc2


वर्चुअलबॉक्स 5 में भी ऐसा ही हो सकता है vboxdrv स्क्रिप्ट अब बुलाया जाता है vboxadd (मुझे लगता है) और तर्क निम्नानुसार है:

KERN_VER=`uname -r`
KERN_DIR="/lib/modules/$KERN_VER/build"
if [ -d "$KERN_DIR" ]; then
    KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
    if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then
        return 0
    fi
fi

तो मूल रूप से आपको यह सुनिश्चित करने की आवश्यकता है कि आपने VBoxGuestAdditions इंस्टॉल किए हैं और कर्नेल स्रोत मौजूद हैं /lib/modules/$(uname -r)/build। यदि वे मेल नहीं खाते हैं, तो आदेश विफल हो जाएगा।

यहां एक सरल परीक्षण है:

$ sudo sh -x /opt/VBoxGuestAdditions-5.0.16/init/vboxadd setup 2>&1 | grep KERN
+ KERN_VER=2.6.32-573.18.1.el6.x86_64
+ KERN_DIR=/lib/modules/2.6.32-573.18.1.el6.x86_64/build

तो सुनिश्चित करें कि आप सभी निर्भरताओं को स्थापित करते हैं, उदा।

sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso

फिर सुनिश्चित करें कि /lib/modules/$(uname -r)/build इशारा करना /usr/src/kernels/$(uname -r)

और दो बार जांचें कि ये दो आदेश मेल खाते हैं:

$ sudo make -sC /usr/src/kernels/$(uname -r) kernelrelease
2.6.32-642.1.1.el6.x86_64
$ uname -r
2.6.32-642.1.1.el6.x86_64

0
2018-06-08 15:10