वर्चुअलबॉक्स VDI सामग्री को एक पार्टीशन में कैसे कॉपी करें और इससे OS बूट करें?


12

मैं एक लिनक्स उपयोगकर्ता हूं, लेकिन मुझे अपने साथ एक पेन ड्राइव पर एक कंप्रेस्ड विंडोज एक्सपी आईएसओ रखना होता है, जिसके लिए मुझे कुछ करने के लिए विंडोज की जरूरत होती है। यह ज्यादातर समय VirtualBox में काम करता है।

लेकिन अब मैं कुछ गेम खेलना चाहता हूं, इसलिए मैं विंडोज इमेज को मूल रूप से चलाना चाहूंगा। मेरे कंप्यूटर में सीडी ड्राइव नहीं है, इसलिए केवल आईएसओ को जला नहीं सकते हैं और सामान्य रूप से इंस्टॉल कर सकते हैं।

मैं जो करने की कोशिश कर रहा हूं वह स्थापित विंडोज छवि को मेरे एचडीडी पर एक भौतिक एनटीएफएस विभाजन में स्थानांतरित कर रहा है और मुझे दोहरी बूट करने के लिए GRUB की स्थापना की है।

मुझे कई ट्यूटोरियल मिले जो VDI को फिजिकल ड्राइव बनाने से संबंधित हैं। लेकिन वे मानते हैं कि मैं अपनी पूरी ड्राइव को अधिलेखित करना चाहता हूं। ddविभाजन के साथ कच्ची डिस्क छवि को स्थानांतरित करने के परिणामस्वरूप एक भ्रष्ट विभाजन हुआ।

मैंने उस खाली विभाजन का उपयोग करने और उस पर विंडोज स्थापित करने के लिए VMDK ट्रिक को भी आजमाया। यद्यपि इंस्टॉलेशन का पाठ मोड चरण समस्याओं के बिना समाप्त होता है, VM काम नहीं करेगा, या तो क्रैश करता है और रिबूट करता रहता है या बस तुरंत जमा देता है (इस पर निर्भर करता है कि मैंने कैसे VMDK बनाया, साथ -rawdisk /dev/sda3या -rawdisk /dev/sda -partition 3)।

जवाबों:


4

मैंने सभी कल अनुसंधान के साथ बिताए, और अंत में विंडोज एक्सपी बूट बनाने में सक्षम था। यह अन्य OS-es के लिए भी कुछ समान होना चाहिए। लेकिन ऑपरेशन सब कुछ है, लेकिन तुच्छ नहीं।

क्योंकि यह एक खतरनाक ऑपरेशन है, मैं आपके कीमती डेटा का बैकअप लेने की सलाह देता हूं।

यहाँ कदम है:

तैयारी

विंडोज़ एक्सपी के मामले में आपको इसे वर्तमान डिस्क लेटर और पार्टीशन सेटिंग्स को भूलने की ज़रूरत है, इसलिए आपको माइग्रेशन से पहले वर्चुअल मशीन पर HKEY_LOCAL_MACHINE / MountedDevices कुंजी से सभी मानों को मिटाने की आवश्यकता है। कर्नेल इसे अगले रिबूट पर पुनर्निर्माण करेगा। लिनक्स वर्चुअल मशीनों पर, इसका मतलब माइग्रेशन के बाद fstab को ठीक करना है।

VDI छवि माउंट करना

आप संपूर्ण VDI को किसी विभाजन में कॉपी नहीं कर सकते, क्योंकि इसमें MBR भी है। आपको केवल आभासी विभाजन की प्रतिलिपि बनाने की आवश्यकता है, इसलिए पहले आपको VDI माउंट करने का एक तरीका खोजने की आवश्यकता है।

आपको nbdड्राइवर और qemu-nbdकमांड की आवश्यकता है। उबंटू में यह qemu-kvmपैकेज में है।

पहले nbd ड्राइवर लोड करें:

# modprobe nbd

इसमें कुछ nbdडिवाइस बनाने चाहिए /dev

फिर VDI माउंट करें:

# qemu-nbd -c /dev/nbd0 path_to.vdi

यह सुनिश्चित करना चाहिए /dev/nbd0p1, /dev/nbd0p2, /dev/nbd0p3सब आभासी विभाजन के लिए आदि। इन्हें किसी भी आम डिवाइस की तरह लगाया जा सकता है।

विभाजन का पलायन

इसके लिए उपयोग करें dd, ऑपरेशन से पहले दोनों विभाजनों को अनमाउंट करें :

# dd -if=<nbd_device> -of=<real_partition>

उदा .:

# dd -if=/dev/nbd0p3 -of=/dev/sda4

ऑपरेशन ddचुप है, इसमें कई मिनट लग सकते हैं, यहां तक ​​कि आधा घंटा भी। ऑपरेशन के दौरान आप एक टर्मिनल खोल सकते हैं और fdisk -lयह देखने के लिए उपयोग कर सकते हैं कि सब ठीक चल रहा है।

अपडेट करें:

जाहिरा तौर पर nbd एक मूर्खतापूर्ण समाधान नहीं है। यह I / O त्रुटि का कारण हो सकता है और dd को विफल कर सकता है। इसके अलावा अगली कोशिश तुरंत विफल हो जाती है। आप इस कमांड के साथ एक कच्ची डिस्क VMDK बनाने की कोशिश कर सकते हैं (लिनक्स के तहत):

$ VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sda

आपको diskइसे काम करने के लिए समूह में होना चाहिए । फिर इस vmdk को द्वितीयक हार्ड ड्राइव के रूप में वर्चुअल मशीन में जोड़ें, फिर ddविभाजन के लिए लाइव लिनक्स आईएसओ का उपयोग करें ।

NTFS विभाजन के बूट सेक्टर को ठीक करना

यह हैकिश पार्ट है।

हम लगभग तैयार हैं, लेकिन विंडोज एक्सपी बूट नहीं करेगा, क्योंकि हमें ऑफसेट पर फाइल सिस्टम के छिपे हुए क्षेत्रों की संख्या निर्धारित करने की आवश्यकता है 0x1C। यह मूल रूप से NTFS विभाजन से पहले कई सेक्टर हैं। हम इस नंबर को fdisk -ulकमांड से प्राप्त कर सकते हैं । startआउटपुट का क्षेत्र बताता है कि दिए गए विभाजन किस सेक्टर से शुरू होते हैं, जो मूल रूप से विभाजन से पहले सेक्टरों की संख्या है। इसलिए वहां से नंबर प्राप्त करें, उदाहरण के लिए gcalctool का उपयोग करके इसे हेक्साडेसिमल में बदलें।

विभाजन को hexeditइस तरह खोलें :

# hexedit /dev/sda4

फिर 1Cऑफ़सेट में थोड़े एंडियन ऑर्डर में छिपे हुए सेक्टरों की संख्या लिखें । थोड़ा एंडियन का अर्थ है: 0xABCDEFGHहोगा GH EF CD AB। यदि हेक्सा संख्या 8 अंक से कम है, तो इसे शून्य से पूर्व दें।

जब हो जाए, तो इसे सहेजें और बाहर निकलें (Ctrl + X)।

GRUB की स्थापना

आपको GRUB को सीधे उस विभाजन को बूट करने के लिए बताना होगा, GRUB के लिए निम्नलिखित मेनू प्रविष्टि जोड़ें:

title       Microsoft Windows XP Professional
root        (hd0,3)
savedefault
makeactive
chainloader +1

जहां (hdX, Y)विभाजन की पहचान करता है। X डिफ़ॉल्ट हार्डडिस्क के लिए 0 है, 1 के लिए /dev/sda2, /dev/sdbआदि के लिए Y विभाजन संख्या है। 0 के लिए /dev/sda1, 1 के लिए /dev/sda2, आदि।

यह GRUB2 के लिए भी समान होना चाहिए, लेकिन यह मेनू प्रविष्टियों के लिए थोड़ा अलग सिंटैक्स का उपयोग करता है।

अंतिम स्पर्श

नया NTFS विभाजन बूट अप करने के लिए तैयार है। लेकिन विंडोज एक्सपी डेस्कटॉप तक पहुंचने के लिए आपको अभी भी कुछ हैकिंग की आवश्यकता है। अन्य प्रणालियों को अलग-अलग हैक की आवश्यकता हो सकती है। पहले boot.ini को ठीक करना होगा।

[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

तदनुसार क्रम संख्या निर्धारित करें। मैंने इसे / dev / sda4 पर स्थापित किया। तो विभाजन संख्या 3 होनी चाहिए।

यदि लॉगऑन स्क्रीन से ठीक पहले विंडोज फ्रीज हो जाता है तो आपको रजिस्ट्री में माउंटेडडेविसेस प्रविष्टि को ठीक करने की आवश्यकता हो सकती है।

रजिस्ट्री आपके द्वारा देखी <path to windows>/system32/config/systemजा सकती है chntpw। यह एक समस्या हो सकती है यदि आपका सिस्टम ड्राइव लेटर C. नहीं है। चूंकि chntpwरजिस्ट्री की लेखन क्षमताएं काफी सीमित हैं, इसलिए आपको इसे ठीक करने के लिए ghex2 की तरह हीबैकबैक करने और उपयोग करने की आवश्यकता है। आपको मेरे मामले में \DosDevices\C:एक अलग ड्राइव पत्र के साथ सी को खोजने और बदलने की आवश्यकता है F

इन के बाद, आपको डेस्कटॉप तक पहुंचने में सक्षम होना चाहिए, अब आपको सभी ड्राइवरों का शिकार करने की आवश्यकता है, लेकिन यह इस ट्यूटोरियल के दायरे से बाहर है।

सूत्रों का कहना है

विंडोज एक्सपी को एक अलग विभाजन में ले जाना

लिनक्स के तहत एक वीडीआई माउंट करें


0

आप taht करने के लिए partimage और gdisk का उपयोग करके देख सकते हैं। Gdisk या किसी अन्य पार्टीशन प्रोग्राम को लें और अपनी वर्तमान डिस्क का आकार बदलें / जहां कुछ डिस्क पर एक पार्टीशन सेट करें। विचारपूर्वक यह एक प्राथमिक विभाजन होगा। मैं आमतौर पर खिड़कियों के लिए विभाजन 1 और लिनक्स डेटा के लिए 2+ रखता हूं।

एक बार पार्टीशन सेट हो जाने के बाद आप बैकअप फाइल या दूसरी ड्राइव पर सीधे इमेज बनाने के लिए gdisk या दूसरे घोस्ट क्लोन का उपयोग कर सकते हैं। होस्ट से नेटवर्क कनेक्शन सेट करना संभव है यदि आपको उस तरह से फ़ाइल को ड्रॉप करने की आवश्यकता है या आप img फाइलें बना सकते हैं तो कॉपी करें फिर vmdk फ़ाइल से अपने होस्ट सिस्टम में ... फिर विभाजन को पुनर्स्थापित करने के लिए छवि सॉफ़्टवेयर का उपयोग करें होस्ट सिस्टम पर आपके द्वारा बनाए गए स्थान पर

उस ntfs विभाजन में बूटिंग जोड़ने के लिए आवश्यकतानुसार ग्रब को कॉन्फ़िगर करें।


तुम भी शायद एक mannter में vmdk moutnt कर सकते हैं जो छवि सॉफ्टवेयर को होस्ट jsut से सीधे इसे पढ़ने की अनुमति देगा यह इस बात पर निर्भर करता है कि छवि सॉफ्टवेयर कैसा है।
केंड्रिक

मैंने सभी कल अनुसंधान के साथ बिताए, और अंत में विंडोज एक्सपी बूट बनाने में सक्षम था। मैं इसे विस्तार से लिखने जा रहा हूं। यह तुच्छ नहीं है।
कैलमेरियस

इसकी काफी विडंबना है लेकिन मुझे इस प्रक्रिया को जल्द करने की आवश्यकता होगी। मेरे पास एक पीसी है जो किसी कारण से सोलारिस स्थापित करने की तरह नहीं है, इसलिए मुझे एक वीएम से डेटा खींचना होगा जो मुझे नई मशीन के पास है।
केंड्रिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.