वर्चुअल हार्ड डिस्क (VHD) फ़ाइलें विशाल फ़ाइलें हैं जो VirtualBox और कुछ अन्य वर्चुअल x86/x86_64 एमुलेटर पर भौतिक मीडिया के उपयोग का अनुकरण करती हैं। यह आपको अपने लिनक्स वितरण के अंदर विंडोज, OS X, MS-DOS, फ्रीबीएसडी, OpenBSD, OS/2 या यहां तक कि लिनक्स के अन्य संस्करण चलाने देता है। ये फ़ाइलें आपको dd कमांड के माध्यम से उनकी सामग्री को सीधे भौतिक डिस्क पर लिखने नहीं देतीं जो आपको ISO के साथ ऐसा करने देती है, लेकिन ऐसा करने का एक तरीका है। जबकि कुछ गाइड आपको VHD फ़ाइल को ISO में बदलने की आवश्यकता होती है, यदि आप किसी भी आधुनिक लिनक्स संस्करण पर VirtualBox चला रहे हैं तो आपको ऐसा नहीं करना होगा। QEMU उपयोगकर्ताओं के पास भी एक रास्ता है, हालांकि इसमें अधिक छेड़छाड़ शामिल है।
आपको यह सुनिश्चित करने की आवश्यकता होगी कि जिन ड्राइव या पार्टीशन के साथ आप काम करने जा रहे हैं उनमें से कोई भी वह नहीं है जिससे आप बूट करते हैं। हमने इस उदाहरण के लिए पार्टीशन NAND मेमोरी के एक टुकड़े का उपयोग किया, लेकिन यदि आप अन्यथा ऐसा नहीं कर पाएंगे तो आप एक लाइव DVD या USB बूट का उपयोग करना चाह सकते हैं। मशीन को जिस भी तरीके से बूट किया गया हो, इसकी परवाह किए बिना, अपना टर्मिनल प्रोग्राम शुरू करें या तो Ctrl, Alt और T दबाकर, Ubuntu डैश पर इसे खोजकर या Xfce4 या LXDE में सिस्टम टूल्स सबमेनू से खोलकर।
विधि 1: कमांड प्रॉम्प्ट से VBoxManage का उपयोग करना
इसे करने का अब तक का सबसे आसान तरीका पारंपरिक VirtualBox इंस्टॉलेशन का उपयोग करना है। पहले सुनिश्चित करें कि आपने उस सभी डेटा का बैकअप लिया है जिसके खोने के बारे में आप चिंतित हैं क्योंकि आप गंतव्य के भौतिक हार्डवेयर पर किसी भी डेटा को नष्ट करने जा रहे हैं जबकि आप इस प्रक्रिया में VHD या VHDX फ़ाइल के साथ कुछ भी कर सकते हैं। यह अन्य विधि के लिए भी जाता है, साथ ही उन कमांड से जुड़ी किसी भी चीज़ के लिए जो इस विनाशकारी हैं।
एक बार जब आप सुनिश्चित हो जाएं कि सब कुछ सुरक्षित है और गंतव्य ड्राइव अनमाउंट है लेकिन फिर भी मशीन से जुड़ा हुआ है, मान लीजिए एक बाहरी हार्ड डिस्क जो आपके पास अभी भी प्लग इन है लेकिन माउंट नहीं है या यहां तक कि रॉ भी हो सकती है क्योंकि आप इस प्रक्रिया में उस पर सब कुछ खो देंगे, VBoxManage clonehd freeBSD.VHDX --format RAW freeBSD.RAW चलाएं जबकि freeBSD.VHDX को अपने वर्चुअल हार्ड डिस्क से बदलें। हमारे पास परीक्षण उद्देश्यों के लिए फ्रीबीएसडी की कुछ हद तक मध्यम इंस्टॉलेशन वाली एक वर्चुअल हार्ड डिस्क फ़ाइल थी, इसलिए नाम।
जैसे ही यह कमांड समाप्त होती है, sudo dd if=freeBSD.RAW of=/dev/sde चलाएं, RAW फ़ाइल के नाम को आपके द्वारा अभी बनाए गए RAW से बदलें और sde ब्लॉक डिवाइस को उस डिवाइस से बदलें जिसमें आप वास्तव में रुचि रखते हैं। यदि आप अनिश्चित हैं, तो आप हमेशा sudo fdisk -l चला सकते हैं ताकि यह सुनिश्चित हो सके कि आप सही पार्टीशन नाम जानते हैं। dd का उपयोग किसी और चीज़ के लिए करने की तरह ही, आप गलत डिवाइस पर लिखना नहीं चाहते।
आपको डिवाइस पर कोई स्थान न बचे होने के बारे में एक त्रुटि मिल सकती है, ठीक वैसे ही जैसे यदि आप एक बड़ी फ़ाइल को छोटे डिवाइस पर लिखने की कोशिश करते हैं, लेकिन इसने परीक्षणों में समस्याएं पैदा नहीं कीं। ऐसा लगता है कि यह प्रक्रिया अतिरिक्त शून्य जोड़ती है। अन्यथा, आप केवल दो चरणों में और न्यूनतम छेड़छाड़ के साथ वर्चुअल डिस्क को भौतिक डिस्क पर कॉपी करने में सक्षम हैं।
विधि 2: QEMU डिस्क नेटवर्क ब्लॉक डिवाइस सर्वर कमांड के साथ
उपयोगकर्ता जिनके पास केवल क्विक एमुलेटर (QEMU) वर्चुअलाइजेशन सिस्टम तक पहुंच है, उन्हें उन लोगों की तुलना में थोड़ी अधिक शामिल प्रक्रिया से निपटना होगा जिनके पास VBoxManage कमांड तक पहुंच है। कमांड प्रॉम्प्ट पर, sudo modprobe nbd चलाएं जिसके बाद qemu-nbd -r -c /dev/nbd0 -f vpc ourTest.vhd चलाएं, फ़ाइल नाम को आपके द्वारा काम की जा रही वास्तविक फ़ाइल नाम को प्रतिबिंबित करने के लिए बदलें। आपको qemu-nbd चलाने के लिए sudo की आवश्यकता हो सकती है, यह इस बात पर निर्भर करता है कि आपने अपना इंस्टॉलेशन कैसे कॉन्फ़िगर किया है। यदि आप यहां से कमांड कॉपी और पेस्ट कर रहे हैं, तो उन्हें चलाने से पहले बदलना सुनिश्चित करें। ज्यादातर मामलों में आपको यहां केवल nbd0 डिवाइस के बारे में चिंता करनी होगी, इसलिए आपको वहां कोई समस्या नहीं होनी चाहिए।
एक बार यह हो जाने पर, आप qemu-nbd -P 2 -r -c /dev/nbd2 -f vpc ourTest.vhd के साथ पार्टीशन लिख सकते हैं जिसके बाद sudo ddrescue -v -f /dev/nbd2 /dev/sde2, लेकिन उन फ़ाइल नामों और पार्टीशन नंबरों को उनसे बदलना याद रखें जिनमें आप वास्तव में रुचि रखते हैं। यदि आप इन्हें अपने टर्मिनल में कॉपी और पेस्ट कर रहे हैं, तो उन फ़ाइल नामों और पार्टीशन नंबरों को उनसे बदलना सुनिश्चित करें जिन्हें आप लिखने की कोशिश कर रहे हैं। हमारा /dev/sde डिवाइस केवल एक उपयोग किया गया SDHC कार्ड था जिसे हम बिना कुछ नुकसान पहुंचाए इसे सुरक्षित रूप से टेस्ट करने के लिए उपयोग कर रहे थे। आपको qemu-nbd चलाने के लिए sudo की आवश्यकता हो सकती है, लेकिन आपको इसकी आवश्यकता नहीं होनी चाहिए। इसी तरह, आपको अपने कॉन्फिगरेशन के आधार पर पार्टीशन नंबर छोड़ने पड़ सकते हैं। QEMU प्रक्रिया इन कारणों से लगभग उतनी सहज नहीं है।
Hyper-V उपयोगकर्ताओं के पास VHD फ़ाइल के बजाय VHDX इमेज हो सकती है। यदि ऐसा है, तो आपको इसके बजाय qemu-nbd -c /dev/nbd0 -f VHDX ourTest.vhd चलाने की आवश्यकता होगी जबकि फ़ाइल नाम को एक बार फिर से बदलें। जबकि यह प्रारूप विंडोज सर्वर 2012 में वर्चुअलाइज्ड मशीनों में बड़ी स्टोरेज क्षमता जोड़ने के लिए एक अतिरिक्त था, अधिक से अधिक लिनक्स उपयोगकर्ता VHD की 2TB सीमा से बचने के लिए इसकी ओर रुख कर रहे हैं। अन्यथा, वास्तविक फ़ाइल आकार के प्रश्न पर ध्यान दिए बिना ये निर्देश काम करना चाहिए। GNU ddrescue टूल dd की तरह काम करना चाहिए, हालांकि यह सर्वोत्तम ब्लॉक को पहले कॉपी करना सुनिश्चित करता है।
एक बार यह चलने के बाद, VHDX इमेज के साथ काम करने वाले उपयोगकर्ताओं को sudo ddrescue -v -f /dev/nbd2 /dev/sde2 चलाने की आवश्यकता होगी, फिर से ऊपर की फ़ाइलों को बदलकर। अन्यथा, सभी प्रकार के VirtualBox इमेज वाले सभी लोग पार्टीशन को माउंट करने के लिए qemu-nbd -P 2 -r -c /dev/nbd2 -f vpc ourTest.vhd का उपयोग कर सकते हैं जैसे कि यह कोई पुराना डिस्क हो। आपको इसे माउंट करने के लिए sudo mount /dev/nbd2 /cdrom या sudo mount /dev/nbd2 /mnt का उपयोग करने की आवश्यकता होगी। प्रयास करने से पहले सुनिश्चित करें कि आपके पास /cdrom या /mnt डायरेक्टरी पर कुछ और माउंट नहीं है।
विधि 3: फ़ाइल को अनमाउंट और फिर डिस्कनेक्ट करना
इमेज को अनमाउंट करने के लिए, आपको बस sudo umount /mnt या sudo umount /cdrom का उपयोग करने की आवश्यकता है ताकि इसे अलग किया जा सके। लिनक्स कर्नेल, आखिरकार, इसे ऐसे ही मान रहा था जैसे यह कोई अन्य वॉल्यूम हो।
आपको अभी भी इसे QEMU सिस्टम से डिस्कनेक्ट करने की आवश्यकता होगी, इसलिए qemu-nbd -d /dev/nbd2 टाइप करके इसे डिस्कनेक्ट करें।
लेखक के बारे में

केविन एरोज़
केविन एरोज़ एक अत्यधिक अनुभवी और जानकार प्रौद्योगिकी विशेषज्ञ हैं जिनके पास एक दशक से अधिक का उद्योग अनुभव है। उनके पास Microsoft प्रमाणित प्रौद्योगिकी विशेषज्ञ (MCTS) प्रमाणन है और नवीनतम तकनीकी विकास से अपडेट रहने का गहरा जुनून है। केविन ने सॉफ्टवेयर विकास, साइबर सुरक्षा और क्लाउड कंप्यूटिंग जैसे क्षेत्रों में अपनी विशेषज्ञता और ज्ञान का प्रदर्शन करते हुए तकनीक से संबंधित विषयों पर व्यापक रूप से लिखा है। तकनीकी क्षेत्र में उनके योगदान को उनके साथियों द्वारा व्यापक रूप से मान्यता और सम्मान दिया गया है, और जटिल तकनीकी अवधारणाओं को स्पष्ट और संक्षिप्त तरीके से समझाने की उनकी क्षमता के लिए उन्हें उच्च सम्मान प्राप्त है।