कुल मिलाकर, मेरा वर्चुअलबॉक्स अनुभव काफी सुखद रहा है। यहां-वहां कुछ समस्याएं हैं, कभी-कभी गंभीर समस्याएं - जैसे ब्रिज्ड नेटवर्किंग मुद्दा - लेकिन कुल मिलाकर, यह ऑपरेटिंग सिस्टम और सॉफ्टवेयर को जल्दी, कुशलतापूर्वक, स्मार्ट तरीके से परीक्षण करने के लिए एक उपयोगी, लचीला वातावरण प्रदान करता है। नेटवर्क आइसोलेशन, स्नैपशॉट, बॉब्स योर अंकल।
फिर, अचानक, कुछ दिन पहले मैंने एक वर्चुअल मशीन लॉन्च करने की कोशिश की, और यह नहीं चली। त्रुटि संदेश में निम्नलिखित शामिल थे: Failed to load R0 module ... for device 'usb-ehci' (VERR_SYMBOL_VALUE_TOO_BIG)। खैर, यह बल्कि गूढ़ लगता है। आइए समस्या निवारण करें।
समस्या का विस्तार
स्क्रीन पर दिखाया गया पूरा संदेश यहां है:
Failed to load R0 module /usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack/ linux.amd64/VBoxEhciR0.r0: RTLdrGetBits failed (VERR_SYMBOL_VALUE_TOO_BIG). Failed to load ring-0 module 'VBoxEhciR0.r0' for device 'usb-ehci' (VERR_SYMBOL_VALUE_TOO_BIG).
हम यहां जो देखते हैं, उससे ऐसा प्रतीत होता है कि वर्चुअलबॉक्स मेमोरी में एक मॉड्यूल लोड करने में असमर्थ है। यह USB कार्यक्षमता से संबंधित प्रतीत होता है - इस मामले में, अधिक सटीक होने के लिए USB 2.X/3.X कार्यक्षमता। त्रुटि वर्चुअलबॉक्स मुख्य घटक की अपेक्षा और इस विशिष्ट मॉड्यूल द्वारा प्रदान किए जाने वाले (प्रतीकों में से एक) के बीच बेमेल प्रतीत होती है।
अपने आप में, यह बहुत मददगार नहीं लगता - लेकिन यह है। जैसा कि होता है, वर्चुअलबॉक्स विस्तारित कार्यक्षमता प्रदान करता है, अर्थात् अपने (Oracle VM) वर्चुअलबॉक्स एक्सटेंशन पैक के माध्यम से USB 2.0 और USB 3.0 डिवाइस, वर्चुअलबॉक्स RDP, डिस्क एन्क्रिप्शन, NVMe और इंटेल कार्ड के लिए PXE बूट के लिए समर्थन। जब भी वर्चुअलबॉक्स के लिए कोई अपडेट होता है, तो पैक के लिए भी अपडेट होना चाहिए।
लेकिन ऐसा कुछ भी नहीं है जो आपको अपने वर्चुअलबॉक्स सॉफ्टवेयर को अलग से अपग्रेड करने से रोकता है, और फिर एक्सटेंशन पैक के लिए अपग्रेड शुरू नहीं करता है। यह काफी संभव है - और यहां तक कि संभावना भी - कि आप वर्चुअलबॉक्स और पैक को दो अलग-अलग संस्करणों पर समाप्त कर सकते हैं। मैंने इसे स्वयं देखा है, और 99% समय, यह वर्चुअल मशीन संचालन के साथ किसी भी समस्या का कारण नहीं बनता था। हालांकि, इस विशेष मामले में, बेमेल वर्चुअलबॉक्स के लिए जारी रखने के लिए बहुत बड़ा लगता है, इसलिए विफलता।
समाधान
एक बार जब हम मुद्दे को समझ लेते हैं, तो फिक्स तुच्छ प्रतीत होता है - वर्चुअलबॉक्स और एक्सटेंशन पैक संस्करणों को अपग्रेड और/या मैच करें। जब आप प्रोग्राम लॉन्च करते हैं तो आपको अपग्रेड के लिए एक संकेत दिखाई देगा, या यदि आपने इसे खारिज कर दिया है, तो आप बस आधिकारिक साइट से पैक डाउनलोड कर सकते हैं और इसे मैन्युअल रूप से चला सकते हैं। एक बार अपग्रेड हो जाने पर, अपनी वर्चुअल मशीनों को फिर से लॉन्च करें। चीजें अब सुचारू रूप से काम करनी चाहिए। हो गया।
निष्कर्ष
यह एक छोटा, सरल सा ट्यूटोरियल है। यह वर्चुअलबॉक्स और इसके एक्सटेंशन पैक के हिस्से के रूप में उपलब्ध USB मॉड्यूल के बीच प्रतीक बेमेल की समस्या को संबोधित करता है। यदि दोनों अलग हैं, तो अनुरोधित कार्यक्षमता में समस्या हो सकती है, और वर्चुअल मशीन शुरू नहीं हो सकती है। फिक्स है दो सॉफ्टवेयर घटकों को बस अपग्रेड/मैच करना - या वैकल्पिक रूप से, प्रभावित कार्यक्षमता को अक्षम करना, लेकिन यह वास्तव में वह नहीं है जो हम चाहते हैं।
मुझे आशा है कि आप इसे उपयोगी पाएंगे। मैं चाहूंगा कि वर्चुअलबॉक्स त्रुटि संदेश अधिक वर्णनात्मक हों, या एक्सटेंशन पैक प्राप्त करने और अपग्रेड करने का और भी तेज़ तरीका हो। अभी के लिए, हालांकि, लॉग को ध्यान से पढ़ने से उपयोगी संकेत मिल सकते हैं जब VM त्रुटियां होती हैं, इसलिए उन्हें अंधाधुंध खारिज न करें। वैसे भी, हम यहां काम कर चुके हैं।
Cheers.