शारीरिक हार्ड डिस्क में VHD फाइल कॉपी करने के लिए डीडी कमांड का उपयोग कैसे करें



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

वर्चुअल हार्ड डिस्क (VHD) फाइलें विशालकाय फाइलें हैं जो VirtualBox और कुछ अन्य वर्चुअल x86 / x86_64 एमुलेटर पर भौतिक मीडिया के उपयोग का अनुकरण करती हैं। इससे आप अपने लिनक्स वितरण के अंदर विंडोज, ओएस एक्स, एमएस-डॉस, फ्रीबीएसडी, ओपनबीएसडी, ओएस / 2 या लिनक्स के अन्य संस्करण चला सकते हैं। ये फाइलें आपको सीधे dd कमांड के माध्यम से एक भौतिक डिस्क पर अपनी सामग्री लिखने की अनुमति नहीं देती हैं जो आपको आईएसओ के साथ ऐसा ही करने देती हैं, लेकिन इसे करने का एक तरीका है। जबकि कुछ गाइडों को आपको वीएचडी फ़ाइल को आईएसओ में बदलने की आवश्यकता होती है, यदि आपको लिनक्स के किसी भी आधुनिक संस्करण में वर्चुअलबॉक्स चलाना हो तो आपको ऐसा नहीं करना होगा। क्यूईएमयू उपयोगकर्ताओं के पास एक रास्ता भी है, हालांकि इसमें चारों ओर अधिक खेलना शामिल है।



आपको यह सुनिश्चित करना होगा कि आप जिस भी ड्राइव या पार्टीशन में काम करने जा रहे हैं, उसमें से कोई भी आपके साथ बूट नहीं है। हमने इस उदाहरण के लिए केवल विभाजन की गई NAND मेमोरी के एक टुकड़े का उपयोग किया है, लेकिन यदि आप अन्यथा ऐसा नहीं कर पाएंगे, तो आप एक लाइव डीवीडी या USB बूट का उपयोग करना चाहते हैं। भले ही आपने किस तरीके से मशीन को बूट किया हो, अपने टर्मिनल प्रोग्राम को या तो Ctrl, Alt और T दबाकर शुरू करें, इसके लिए उबंटू डैश पर खोज करें या इसे Xfce4 या LXDE में सिस्टम टूल्स सबमेनस से खोलें।



विधि 1: कमांड प्रॉम्प्ट से VBoxManage का उपयोग करना

अब तक ऐसा करने का सबसे आसान तरीका पारंपरिक वर्चुअलबॉक्स इंस्टॉलेशन का उपयोग करना है। पहले सुनिश्चित करें कि आपने उन सभी डेटा का बैकअप लिया है जिन्हें आप खोने के बारे में चिंतित हैं क्योंकि आप गंतव्य के भौतिक हार्डवेयर पर किसी भी डेटा को नष्ट करने जा रहे हैं, जबकि आप इस प्रक्रिया में VHD या VHDX फ़ाइल के लिए कुछ कर सकते हैं। यह दूसरी विधि के लिए भी जाता है, साथ ही कुछ भी शामिल है जो इस विनाशकारी आदेशों को शामिल करता है।



एक बार जब आप सुनिश्चित हो जाते हैं कि सब कुछ सुरक्षित है और गंतव्य ड्राइव अनमाउंट है, लेकिन फिर भी मशीन से जुड़ा हुआ है, तो एक बाहरी हार्ड डिस्क कहें, जिसे आपने अभी भी प्लग इन किया है, लेकिन माउंट नहीं किया गया है या कच्चा भी हो सकता है क्योंकि आप उस पर सब कुछ ढीला कर देंगे। इस प्रक्रिया में, भागो VBoxManage clonehd freeBSD.VHDX -format RAW freeBSD.RAW अपने वर्चुअल हार्ड डिस्क के साथ freeBSD.VHDX की जगह लेते समय। हमारे पास परीक्षण उद्देश्यों के लिए FreeBSD की कुछ मध्यम स्थापना के साथ एक आभासी हार्ड डिस्क फ़ाइल थी, इसलिए नाम।

जैसे ही यह कमांड समाप्त हो जाए, रन करें sudo dd if = freeBSD.RAW of = / dev / sde RAW फ़ाइल का नाम, आपके द्वारा अभी-अभी बनाए गए RAW फ़ाइल और आपके द्वारा वास्तव में रुचि रखने वाले डिवाइस के साथ sde ब्लॉक डिवाइस की जगह। यदि आप अनिश्चित नहीं हैं, तो आप हमेशा चला सकते हैं। sudo fdisk -l यह सुनिश्चित करने के लिए कि आप सही विभाजन नाम जानते हैं। जैसे किसी अन्य चीज़ के लिए dd का उपयोग करने के साथ, आप गलत डिवाइस पर लिखना नहीं चाहते हैं।

आपको डिवाइस पर कोई स्थान नहीं होने के बारे में एक त्रुटि मिल सकती है, जैसे कि यदि आपने एक बड़ी फाइल को एक छोटे डिवाइस में लिखने की कोशिश की, लेकिन इससे परीक्षणों में समस्या नहीं हुई। ऐसा लगता है कि यह प्रक्रिया अतिरिक्त शून्य जोड़ती है। अन्यथा, आप वर्चुअल डिस्क को भौतिक डिस्क पर केवल दो चरणों में कॉपी कर सकते हैं, जिसमें लगभग न्यूनतम मूर्खता होती है।



विधि 2: QEMU डिस्क नेटवर्क ब्लॉक डिवाइस सर्वर कमांड के साथ

वे उपयोगकर्ता जिनके पास केवल त्वरित एमुलेटर (QEMU) वर्चुअलाइजेशन सिस्टम तक पहुंच है, उन लोगों की तुलना में थोड़ी अधिक शामिल प्रक्रिया से निपटना होगा जिनके पास VBoxManage कमांड तक पहुंच है। कमांड प्रॉम्प्ट पर, चलाएँ सूदो modprobe nbd के बाद qemu-nbd -r -c / dev / ndb0 -f vpc ourTest.vhd उस फ़ाइल का नाम, जिसके साथ आप काम कर रहे हैं, वास्तविक फ़ाइल नाम को दिखाने के लिए बदल दिया है आपने अपने इंस्टॉलेशन को कैसे कॉन्फ़िगर किया है, इस पर निर्भर करते हुए, आपको qemu-nbd को चलाने के लिए sudo की आवश्यकता हो सकती है। यदि आप यहां से कमांड कॉपी कर रहे हैं और उन्हें पेस्ट कर रहे हैं, तो उन्हें चलाने से पहले उन्हें बदलना सुनिश्चित करें। ज्यादातर मामलों में आपके पास केवल यहाँ पर चिंता करने के लिए ndb0 उपकरण होना चाहिए, इसलिए आपको वहाँ कोई समस्या नहीं होनी चाहिए।

एक बार हो जाने के बाद, आप इसके साथ विभाजन लिख सकते हैं qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd के बाद सुडो ddrescure -v -f / dev / nbd2 / dev / sde2 , लेकिन उन डिवाइस फ़ाइलों को प्रतिस्थापित करना याद रखें जिन्हें आप वास्तव में उपयोग करने में रुचि रखते हैं। यदि आप इन्हें अपने स्वयं के टर्मिनल में कॉपी और पेस्ट कर रहे हैं, तो उन फ़ाइल नामों और विभाजन संख्याओं को उन लोगों से बदलना सुनिश्चित करें जिन्हें आप लिखने की कोशिश कर रहे हैं। हमारा / dev / sde डिवाइस महज एक इस्तेमाल किया हुआ SDHC कार्ड था जिसका हम बिना किसी नुकसान के सुरक्षित रूप से परीक्षण करने के लिए उपयोग कर रहे थे। Qemu-nbd को चलाने के लिए आपको sudo की आवश्यकता हो सकती है, लेकिन आपको इसकी आवश्यकता नहीं है। इसी तरह, आपको अपने कॉन्फ़िगरेशन के आधार पर विभाजन संख्या को छोड़ना पड़ सकता है। इन कारणों से QEMU प्रक्रिया लगभग सहज नहीं है।

हाइपर- V उपयोगकर्ताओं के पास VHD फ़ाइल के बजाय VHDX छवि हो सकती है। यदि ऐसा है, तो आपको इसके बजाय चलाने की आवश्यकता होगी qemu-nbd -c / dev / nbd0 -f VHDX ourTest.vhd फ़ाइल नाम की जगह एक बार फिर से। जबकि वर्चुअलाइज्ड मशीनों में बड़ी भंडारण क्षमता जोड़ने के लिए यह प्रारूप विंडोज सर्वर 2012 के अतिरिक्त था, जबकि 2TB सीमा VHD से बचने के लिए अधिक से अधिक लिनक्स उपयोगकर्ता इसे चालू कर रहे हैं। अन्यथा, इन निर्देशों को प्रश्न में वास्तविक फ़ाइल आकार की परवाह किए बिना काम करना चाहिए। GNU ddrescue टूल को dd की तरह काम करना चाहिए, हालांकि यह सबसे पहले ब्लॉक को कॉपी करना सुनिश्चित करता है।

इसे चलाने के बाद, VHDX छवियों के साथ काम करने वाले उपयोगकर्ताओं को चलाने की आवश्यकता होगी सुडो ddrescue -v -f / dev / nbd2 / dev / sde2 , फिर से ऊपर फ़ाइलों की जगह। अन्यथा, सभी प्रकार के वर्चुअलबॉक्स छवियों का उपयोग कर सकते हैं qemu-nbd -P 2 -r -c / dev / nbd2 -f vpc ourTest.vhd विचाराधीन विभाजन को माउंट करने के लिए जैसे कि यह कोई पुरानी डिस्क थी। आपको उपयोग करने की आवश्यकता होगी सुडो माउंट / देव / nbd2 / cdrom या सुडो माउंट / देव / nbd2 / mnt इसे माउंट करने के लिए। सुनिश्चित करें कि आपने इसे आज़माने से पहले / cdrom या / mnt निर्देशिका में और कुछ नहीं रखा है।

विधि 3: अनमाउंट करना और फिर फ़ाइल को डिस्कनेक्ट करना

छवि को अनमाउंट करने के लिए, आपको बस उपयोग करने की आवश्यकता है सूद umount / mnt या सुडो umount / cdrom इसे अलग करने के लिए। लिनक्स कर्नेल, आखिरकार, यह इलाज करने में व्यस्त था जैसे कि यह कोई अन्य वॉल्यूम हो।

हालांकि, QEMU सिस्टम से आपको इसे अभी भी डिस्कनेक्ट करने की आवश्यकता है, हालांकि, टाइप करें qemu-ndb -d / dev / nbd2 इसे डिस्कनेक्ट करने के लिए।

4 मिनट पढ़ा