Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> आभासी मशीन

VirtualBox कर्नेल ड्राइवर त्रुटि (rc=-1908) हल करें – Debian/Ubuntu पर गायब gcc-12

VirtualBox कर्नेल ड्राइवर स्थापित नहीं (गायब gcc-12)

आप जिस समस्या का सामना कर रहे हैं वह इस प्रकार है: आप एक Debian-आधारित सिस्टम का उपयोग करते हैं, शायद Ubuntu या इसके स्वादों में से एक। आपने हाल ही में एक सिस्टम-वाइड अपडेट चलाया, जिसमें VirtualBox का एक नया संस्करण भी शामिल है। आप अपस्ट्रीम VirtualBox रिपॉजिटरी का उपयोग करते हैं। अपडेट लागू करने के बाद, आप अब वर्चुअल मशीन नहीं चला सकते।

आपको निम्न त्रुटि मिलती है: कर्नेल ड्राइवर स्थापित नहीं (rc=-1908)। VirtualBox Linux कर्नेल ड्राइवर या तो लोड नहीं है या सही ढंग से सेटअप नहीं है। कृपया इसे रूट के रूप में '/sbin/vboxconfig' निष्पादित करके फिर से सेटअप करने का प्रयास करें। और वहां आपके पास है। अब आइए विवरण में जाएं, और इस समस्या को ठीक करें, क्या हम?

समस्या का विस्तार

पूर्ण त्रुटि संदेश इस प्रकार है:

Kernel driver not installed (rc=-1908).
The VirtualBox Linux kernel driver is either not loaded or not set up correctly. Please try setting it up again by executing
'/sbin/vboxconfig'
as root.
If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information.
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.
VirtualBox कर्नेल ड्राइवर त्रुटि (rc=-1908) हल करें – Debian/Ubuntu पर गायब gcc-12

निष्पक्ष होने के लिए, यह त्रुटि संदेश थोड़ा भ्रामक है, क्योंकि इसमें Secure Boot सामग्री शामिल है, जो सबसे अधिक संभावना पूरी तरह से प्रासंगिक नहीं है, साथ ही त्रुटि संदेश का अंतिम भाग पहले भाग की तुलना में एक अलग सिंटैक्स और व्याकरण का उपयोग करता है। तो आइए इसके बारे में व्यवस्थित रहें, और चरण दर चरण आगे बढ़ें।

यदि आप कमांड लाइन पर sudo /sbin/vboxconfig चलाते हैं, तो आप निम्नलिखित देखेंगे:

[sudo] password for igor:
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

There were problems setting up VirtualBox. To re-start the set-up process, run
/sbin/vboxconfig
as root. If your system is using EFI Secure Boot you may need to sign the
kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
them. Please see your Linux system's documentation for more information.

/var/log/vbox-setup.log में, हमारे पास निम्नलिखित है:

Building the main VirtualBox module.
Error building the module:
make V=1 CONFIG_MODULE_SIG= CONFIG_MODULE_SIG_ALL= -C /lib/modules/6.5.0-14-generic/build M=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j20 modules
make[1]: warning: -j20 forced in submake: resetting jobserver mode.
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
You are using:
make -f ./scripts/Makefile.build obj=/tmp/vbox.0 need-builtin=1 need-modorder=1
# cmd_mod /tmp/vbox.0/vboxdrv.mod
printf '%s \n' linux/SUPDrv-linux.o SUPDrv.o SUPDrvGip.o SUPDrvSem.o SUPDrvTracer.o SUPLibAll.o
... 
/tmp/vbox.0/linux/SUPDrv-linux.c ; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --retpoline --rethunk --sls --stackval --static-call --uaccess --prefix=16 --module /tmp/vbox.0/linux/SUPDrv-linux.o
/bin/sh: 1: gcc-12: not found
make[2]: *** [scripts/Makefile.build:251: /tmp/vbox.0/linux/SUPDrv-linux.o] Error 127
make[1]: *** [Makefile:2037: /tmp/vbox.0] Error 2
make: *** [/tmp/vbox.0/Makefile-footer.gmk:133: vboxdrv] Error 2

मैंने जानबूझकर लॉग को छोटा किया है, क्योंकि इसमें बहुत सारा संकलन सामान है जो केवल प्रासंगिक नहीं है। इसके अलावा, मेक संकलन लॉग पढ़ना थोड़ा मुश्किल हो सकता है। लेकिन आप लॉग के अंत को देखना चाहते हैं, और किसी भी लाइन को खोजें जो 'Error' या 'not found' पढ़ती है।

वास्तव में, हमारे लॉग में, हमारे पास है:

/bin/sh: 1: gcc-12: not found

किसी भी कारण से, सिस्टम में gcc-12 कंपाइलर नहीं है, जिसे VirtualBox कर्नेल मॉड्यूल बनाने के लिए आवश्यक है। बस इसलिए आप जानते हैं, मेरे Kubuntu 22.04 बॉक्स में से एक में यह था, और दूसरे में नहीं था। वहां। मैं उन लाखों कारणों में नहीं जाना चाहता कि आपके पास यह पैकेज क्यों नहीं हो सकता है। मुख्य विचार यह है कि हम यह पता लगाएं कि क्या गलत हुआ और इसे ठीक करें।

समाधान

वास्तविक फिक्स काफी समझौता करने वाला है। हमें gcc-12 पैकेज इंस्टॉल करने की आवश्यकता है।

sudo apt install gcc-12

एक बार यह कमांड पूरा हो जाने पर, पुनः चलाएं:

sudo /sbin/vboxconfig

कमांड को सफलतापूर्वक पूरा करना चाहिए, और आप VirtualBox का उपयोग करने के लिए वापस जा सकते हैं।

निष्कर्ष

यह मुद्दा कारकों के संयोजन से उपजा है। नया Ubuntu कर्नेल, नया VirtualBox संस्करण, असंगत कंपाइलर और ड्राइवर और क्या नहीं। बहुत सारी नर्डी चीजें, दुर्भाग्य से। यदि आप -1908 त्रुटि संदेश का सामना करते हैं, तो सबसे अच्छी बात है व्यवस्थित रूप से काम करना। कॉन्फ़िगरेशन कमांड को मैन्युअल रूप से, एक टर्मिनल विंडो में, पुनः चलाएं, वर्बोज़ त्रुटि लॉग का पालन करें और ट्रेस करें, जब तक कि आप अपराधी को न ढूंढ लें।

जैसा कि यह पता चला है, मैंने देखा कि इस तरह की त्रुटि का सबसे हालिया कारण एक गायब gcc-12 कंपाइलर पैकेज प्रतीत होता है। एक बार जब आप इसे इंस्टॉल करते हैं, तो VirtualBox ड्राइवर सफलतापूर्वक संकलित होंगे। उसके बाद, आपको बिना किसी समस्या के अपने वर्चुअलाइजेशन सॉफ़्टवेयर का उपयोग करने और अपनी वर्चुअल मशीन लॉन्च करने में सक्षम होना चाहिए। उम्मीद है, यह छोटा ट्यूटोरियल आपकी उत्पादकता को पुनः प्राप्त करने में आपकी मदद करेगा। ध्यान रखें, दोस्तों।

चीयर्स।

  1. एक्सेल में सेल टूलटिप्स जोड़ें: बेहतर यूजर गाइडेंस के लिए 3 सरल तरीके एक्सेल में सेल टूलटिप्स जोड़ें: बेहतर यूजर गाइडेंस के लिए 3 सरल तरीके

    एक वर्कशीट पर विचार करें जहां हमारे पास ग्रॉसरी आइटम की सूची है। इस सूची में, एक कॉलम में आइटम का नाम है। दूसरे कॉलम में, प्रति यूनिट मूल्य किसी अन्य यूजर के इनपुट के लिए खाली छोड़ा गया है। हम यूजर के लिए टूलटिप गाइड छोड़ेंगे ताकि वे सही यूनिट (जैसे लीटर, दर्जन, या ग्राम) के अनुसार कीमतें इनपुट कर स

  1. कौन सा ब्राउज़र सर्वश्रेष्ठ है? Edge बनाम Chrome बनाम Opera बनाम Firefox कौन सा ब्राउज़र सर्वश्रेष्ठ है? Edge बनाम Chrome बनाम Opera बनाम Firefox

    हम यहाँ ब्राउज़र युद्ध शुरू करने के लिए नहीं हैं। आपके लिए सही ब्राउज़र जरूरी नहीं कि मेरे लिए भी सही हो (व्यक्तिगत रूप से, मैं उन सभी का उपयोग करता हूँ इसके लिए और उसके लिए) इसलिए यह कहना असत्य होगा कि एक बिल्कुल बाकियों से बेहतर है। उसके बावजूद, आप अभी जिस ब्राउज़र का उपयोग कर रहे हैं वह वास्तव मे

  1. FindStr में मास्टर: Windows कमांड लाइन के लिए विशेषज्ञ युक्तियाँ और व्यावहारिक उदाहरण FindStr में मास्टर: Windows कमांड लाइन के लिए विशेषज्ञ युक्तियाँ और व्यावहारिक उदाहरण

    अनजान लोगों के लिए, findstr जैसा पैटर्न खोज टूल बेकार लग सकता है। लेकिन सिस्टम-जनरेटेड लॉग फ़ाइलों या सैकड़ों पंक्तियों के टेक्स्ट वाले कमांड लाइन आउटपुट से निपटने पर, findstr वही टूल है जिसकी आपको आवश्यकता है। Linux ऑपरेटिंग सिस्टम के उपयोगकर्ता पहले से ही Grep कमांड की अविश्वसनीय उपयोगिता से परिचि