कई हफ्ते पहले, मैंने Macrium Reflect का परीक्षण करने का फैसला किया, एक मुफ्त सिस्टम इमेजिंग सॉफ्टवेयर। Macrium Reflect बूट करने योग्य लाइव मीडिया के रूप में Windows PE का उपयोग करता है, जिसके अंदर आप बैकअप और रिस्टोर दोनों ऑपरेशन कर सकते हैं। अब, सिस्टम इमेजिंग सॉफ्टवेयर के साथ, रिस्टोर का परीक्षण सबसे महत्वपूर्ण बात है, और मैंने इसे भौतिक हार्डवेयर के साथ-साथ वर्चुअल मशीन में दोनों करने का फैसला किया।
यहीं पर मुझे एक समस्या आई। VirtualBox में PE इमेज को बूट करने की कोशिश करते हुए, मुझे निम्न त्रुटि मिली - E_FAIL (0x80004005), VBoxHardening.log फाइल में अधिक विवरण उपलब्ध हैं। इस फाइल के अंदर, टेक्स्ट की कई पंक्तियों के बीच, मुझे कई हिट मिलीं जो lacks WinVerifyTrust पढ़ती हैं, उनमें से एक नीचे दी गई विफलता का परिणाम है। अब क्या?
समस्या का विस्तार
विशिष्ट त्रुटि कोड के साथ-साथ त्रुटि विशेषता बहुत कुछ नहीं बताती। हमें यह समझने के लिए बनाई गई लॉग फाइल को देखना होगा कि क्या हुआ। विशेष रूप से, ये वे लाइनें हैं जिनके परिणामस्वरूप विफलता हुई:
\Device\HarddiskVolume5\Windows\System32\bcrypt.dll [lacks WinVerifyTrust] 13b4.1f40: Error (rc=0): 13b4.1f40: supR3HardenedScreenImage/NtCreateSection: cached rc=Unknown Status -626 (0xfffffd8e) fImage=1 fProtect=0x10 fAccess=0xf cHits=4 \Device\HarddiskVolume5\Windows\System32\bcrypt.dll
हम यहां देखते हैं कि यह विशिष्ट लाइब्रेरी (bcrypt.dll) WinVerifyTrust जांच में विफल होती है। ध्यान दें कि अन्य ऑब्जेक्ट हो सकते हैं जो इस जांच में विफल होते हैं लेकिन घातक रूप से नहीं। वास्तव में, इस जानकारी के साथ, हम देख सकते हैं कि इस मुद्दे पर वास्तव में एक टिकट है, साथ ही एक लंबा फोरम चर्चा।
अनिवार्य रूप से, यह शायद PE इमेज के हिस्से के रूप में Windows द्वारा प्रदान किए गए प्रमाणपत्रों में बेमेल के कारण होता है, और वर्तमान बिल्ड में VirtualBox के पास वाले। त्रुटि इस वर्चुअलाइजेशन उत्पाद में पेश की गई सुरक्षा हार्डनिंग द्वारा ट्रिगर की जाती है।
समाधान
इसके कई तरीके हैं। आप अपने वर्चुअल मशीन के लिए पहले के Windows बिल्ड पर वापस जा सकते हैं - इस मामले में, उदाहरण के लिए, बचाव मीडिया के लिए बेसलाइन के रूप में एक अलग, पुराने Windows 10 PE इमेज का उपयोग करें, या ज्यादातर लोगों के लिए, बस ऑपरेटिंग सिस्टम का एक अलग संस्करण। वैकल्पिक रूप से, आप वर्चुअलबॉक्स संस्करण को बदल (अपग्रेड) सकते हैं। बाद वाला आमतौर पर ऑपरेटिंग सिस्टम के साथ छेड़छाड़ करने की तुलना में एक सस्ता, तेज़ समाधान है। सबसे अच्छा तरीका हार्डनिंग फ्लैग्स को बंद करना होगा, लेकिन यह किसी तुच्छ तरीके से संभव नहीं लगता।
और इसलिए, हालांकि यह हेलो कैप्टन ऑब्वियस की तरह लग सकता है, आप यहां क्या कर रहे हैं, समाधान है यदि संभव हो तो वर्चुअलबॉक्स को नवीनतम संस्करण में अपडेट करने का प्रयास करें। कई होस्ट पर मेरे परीक्षण में, 5.1.X शाखा से 5.2.X शाखा में जाने से Windows 10 आधारित वर्चुअल मशीनों के लिए यह मुद्दा हल हो गया।
निष्कर्ष
एक टेक्नी के रूप में, जब सपोर्ट लोग आपको अपने सॉफ्टवेयर को नवीनतम संस्करण में अपडेट करने के लिए कहते हैं तो आपको शायद गुस्सा आता है। कभी-कभी हालांकि, इस मामले की तरह, यह इस समस्या को हल करने का सबसे तेज़ और सबसे समझदार तरीका है। वर्चुअलबॉक्स में सुरक्षा हार्डनिंग विभिन्न जटिलताओं का परिचय देती है, और यह हमेशा Microsoft और Oracle के बीच चूहे और बिल्ली का खेल होगा। कभी-कभी, कुछ लाइब्रेरी लोड नहीं हो सकती हैं, जिससे आपके VMs काम करना बंद कर देते हैं।
हालांकि, तकनीकी बिट्स यहां कम महत्वपूर्ण हैं - जो मायने रखता है वह यह है कि आप जानते हैं कि इस मुद्दे को व्यवस्थित तरीके से कैसे संपर्क किया जाए। पहले, त्रुटि कोड की सावधानीपूर्वक जांच करें, फिर त्रुटि लॉग पढ़ें। एक बार जब आप दोषी को ढूंढ लेते हैं, तो आप सही सवाल पूछने और सही समाधान खोजने में भी सक्षम होंगे। इस मामले में, यह प्रोग्राम अपडेट का मामला है, लेकिन हम इसे पूरी समझ के साथ करते हैं कि क्या गलत हुआ। मुझे आशा है कि आप इस छोटे गाइड को अपने सभी वर्तमान और भविष्य के वर्चुअलबॉक्स अड़चनों के लिए उपयोगी पाएंगे।
Cheers.