क्या मैं एक VirtualBox Ubuntu अतिथि को * वास्तविक * हार्डवेयर बॉक्स में स्थानांतरित कर सकता हूं?


13

मैं UbuntuBox को एक VirtualBox अतिथि उपकरण से एक वास्तविक (धातु और चिप्स) कंप्यूटर में स्थानांतरित करना चाहता हूं ?

क्या यह किया जा सकता है, और क्या कदम शामिल हैं?

जवाबों:


7

मैं इसके साथ प्रयास करूँगा dd( sdaअपने डिवाइस के नाम जैसे उपकरण के नामों को बदलना न भूलें ):

  1. ( = गंतव्य HD नंबर!) /etc/fstabजैसी चीजों के साथ अपने सभी uuids को बदलें/dev/sda1sda
  2. update-grub2 && grub-install /dev/sda
  3. एक फ़ाइल में VBox के अंदर अपने आभासी hdd को सहेजें: dd if=/dev/sda /home/user/sda.img
  4. छवि को डिस्क पर कॉपी करें (बाहरी hdd, नेटवर्क साझा, डीवीडी, ...)
  5. गंतव्य ड्राइव पर छवि को पुनर्स्थापित करें: dd if=/media/drive/sda.img of=/dev/sda

सबसे बड़ी समस्या बूटलोडर हो सकती है (लेकिन इस फ़ोरम में भी इसके लिए ट्यूटोरियल हैं)। मैंने एक बार एक बूटलोडर को उबंटू की एक नई स्थापना करके अधिमानतः पुन: स्थापित किया था (अधिमानतः वही जिसे आपने dd'ed किया था) और फिर ddताजा संस्थापन पर पुराना विभाजन (इस मामले में, आप केवल dd /dev/sda1, नहीं /dev/sda, जिसमें बूटलोडर भी शामिल है सभी विभाजन)


मैं dd संभाल सकता हूँ। मैं इसे पहले इस्तेमाल कर चुका हूं और जानता हूं कि क्या सशर्त बयान की शुरुआत नहीं है :) ... किसी कारणवश uuids और मुझे चकरा देना .. वे शायद काफी सरल हैं, लेकिन फिर मैं भी हो सकता हूं .. मैं 'शायद एक ताजा (डमी) स्थापित से एमबीआर का उपयोग करेंगे .. मेरे लिए सबसे बड़ी बाधा वास्तव में वीएम से पार्टीशन करना है .. मैं एक वीएम विभाजन से होस्ट कैसे कर सकता हूं?
पीटर।

... थोड़ा और अधिक (मैंने अपनी पिछली टिप्पणी में इसे संपादित करने की कोशिश की, लेकिन संपादन अस्वीकृत हो गया! .. एक और मामूली रहस्य):। । । वर्चुअलबॉक्स के साझा किए गए फ़ोल्डर उन Addons पर भरोसा करते हैं जो लाइव-सीडी रन में मौजूद नहीं हैं, क्योंकि इसके लिए रिबूट की आवश्यकता होती है।
पीटर।

आप एक नेटवर्क फ़ोल्डर में dd कर सकते हैं, मैंने पिछले सप्ताह ऐसा किया था और यह 30MB / s जैसा था। यदि आप अपने लाइव-cd वातावरण / विंडोज़ / लिनक्स में एक साझा फ़ोल्डर सेट करते हैं और VM के लिए ब्रिज नेटवर्क को सक्रिय करते हैं तो यह काम करना चाहिए।
sBlatt

btw: cp के साथ पूरे लिनक्स-पार्टिशन को कॉपी करना संभव है (permisso रखने के लिए कुछ तर्क +! बहुत महत्वपूर्ण! मुझे लगता है कि यह -p या --preserve = all) था। मैंने विभाजन के आकार के बाद एक छवि को कॉपी करने के लिए एक बार ऐसा किया था (इसलिए मैंने dd-Image फ़ाइल को माउंट किया और cp किया)
sBlatt

इस बारे में बहुत विनम्र होने के लिए क्षमा करें, लेकिन मुझे कुछ अविश्वसनीय रूप से सरल बिंदु याद आ रहे हैं ... मैंने जो कुछ भी पढ़ा है, वह यह प्रतीत होता है कि NAT अतिथि को डिफ़ॉल्ट रूप से होस्ट तक पहुंचने की अनुमति देता है (दूसरी दिशा में एक कनेक्शन को ब्रिजिंग की आवश्यकता है) .. ठीक है मैंने अपने तीन अनुमान लगाए हैं (तीस से अधिक!)। मैं सफलतापूर्वक VBox के साझा फ़ोल्डरों पहुंच प्राप्त की है केवल जब अतिथि के ऐड-ऑन स्थापित कर रहे हैं। मैं इन Addons को LiveCD रन में स्थापित नहीं कर सकता, इसलिए मैं फिर से फंस गया हूं। मैं एनएटी से जुड़ी होस्ट की फाइल सीसेम को गेस्ट (नो एडन्स) से कैसे एक्सेस कर सकता हूं? मुझे लगता है कि मुझे मेजबान पर कुछ करने की ज़रूरत है, लेकिन मैं नहीं जानता कि यह क्या है?
पीटर

1

यह खुद की कोशिश नहीं की है, लेकिन वर्णन करने के लिए प्रयास करने के लिए पर्याप्त यथार्थवादी लगता है।


आपके द्वारा उल्लिखित लेख एक समान पथ पर है जहाँ मैं जाना चाहता हूँ। अगर मैं उनके फेडोरा एलवीएम मुद्दों को अनदेखा करता हूं, तो यह लगभग मेरी समस्याओं में से एक का समाधान करता है: वीएम पार्टिशन को होस्ट इनवेसिटनेट में कैसे प्राप्त करें। उन्होंने एक वीरुअल बॉक्स टूल VBoxManage का उल्लेख किया है जो होस्ट पर एक कच्ची VM डिस्क छवि के बढ़ते को सक्षम करता है। हालाँकि, इस आलेख के साथ कोई समस्या है क्योंकि यह Windows होस्ट से संबंधित है। कमांड नाम ठीक है, लेकिन आर्ग में से कोई भी पहचाने जाते हैं ... लेकिन मैं वाक्य रचना पता मान ही लिनक्स ... क्या किसी के लिए उपलब्ध है?
पीटर।

"VBoxManage internalcommands" चलाने का प्रयास करें - यह कुछ उपयोग जानकारी प्रिंट करता है। पर्याप्त प्रतीत हो सकता है।
सर्ज ब्रोसलावस्की

1

1> अपने वर्चुअलबॉक्स OS का एक टार करें

2> एक लाइव डिस्ट्रो से शुरू करें

3> लक्ष्य विभाजन / एस (/ देव / sda1 उदाहरण के लिए) में अपने virtualBox ओएस को खोलना

4> विभाजन को बूट करने योग्य बनायें (fdisk आपकी सहायता कर सकता है): # fdisk / dev / sda कमांड (मदद के लिए m): a (a = बूट करने योग्य ध्वज को टॉगल करें) विभाजन संख्या (1-4): 1 (1 = / dev /) sda1) कमांड (मदद के लिए एम): q (q = निकास)

5> ग्रब को मलबे में स्थापित करें (https://wiki.ubuntu.com/Grub2) # माउंट / देव / sda1 / mnt / # माउंट --bind / देव / mnt / देव # माउंट --bind / proc / mnt / proc # आरोह - bind / sys / mnt / sys # cd / mnt && chroot। # (chroot) अपडेट-ग्रब # (chroot) grub-install / dev / sda (NOT / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> आनंद लें ...


1
मेरे वर्चुअलबॉक्स ओएस को टार करना इतना आसान लगता है ... लेकिन मेरे लिए नहीं ... उदाहरण के लिए; मैं इसे कहां टार दूं? मुझे लगता है कि किसी फ़ाइल सिस्टम को टारगेट करने का उचित तरीका यह है कि उसका उपयोग न हो ... इसलिए मैंने VM को LiveCD के माध्यम से बूट किया है ... इसने मुझे LiveCD / मीडिया के माध्यम से VM की ड्राइव तक पहुंच प्रदान की .... लेकिन मुझे VM से डेटा कैसे मिलता है .. वर्चुअलबॉक्स के शेयर्ड फोल्डर्स को गेस्टअड्डों की आवश्यकता होती है, जिसके लिए रिबूट की आवश्यकता होती है, जो लाइव सीडी को इसके नो-एडन्स राज्य में पुनः आरंभ करता है ... या क्या मैंने वर्चुअलबॉक्स के साझा फोल्डर्स के बारे में कुछ याद किया है
पीटर .O

आप सिस्टम (rsync भी) को सीधे चला सकते हैं, भले ही वह चल रहा हो (यह लिनक्स है ...):
daniele

आप सिस्टम को सीधे टार कर सकते हैं भले ही वह चल रहा हो। यह लिनक्स ;-) है। पहले इस पैकेजों को स्थापित करें: sshfs ( fuse.sourceforge.net/sshfs.htm ) और वर्चुअलबॉक्स के साथ एक वास्तविक निर्देशिका माउंट करें। उदाहरण के लिए आप वर्चुअलबॉक्स के अंदर, जैसा कि मैंने कहा, एक पेनड्राइव (माउंटेड, मुझे / मीडिया / पेनड्राइव में) इस तरह से उपयोग करने के लिए कह सकते हैं: # sshfs root@10.0.2.2: / media / pendrive / mnt टार से सीधे अपने पेनड्राइव (लिनक्स कर सकते हैं) के लिए वर्चुअल बॉक्स को रन करना: # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + पाया / /exclude = / mnt / --exclude = / sys / /
डेनियल

1

आप वास्तव में इंस्टॉल से क्या माइग्रेट करना चाहते हैं? यदि आप परवाह करते हैं कि सभी उपयोगकर्ता डेटा और प्राथमिकताएं हैं, तो आप शायद वीएम पर अपने होम डायरेक्टरी से वीएम के बाहर एक फ़ाइल सिस्टम (उदाहरण के लिए, एक कीड्राइव) के लिए सब कुछ कॉपी कर सकते हैं, उन फाइलों को एक नए उबंटू इंस्टॉल पर कॉपी करें और फिर VM पर आपके द्वारा इंस्टॉल किए गए किसी भी प्रोग्राम को फिर से इंस्टॉल करें। इस बात पर निर्भर करता है कि आपने VM इंस्टॉल को कितना कस्टमाइज़ किया है, बनाम यहाँ अन्य समाधानों की कितनी परेशानी है।


मैं असली हार्डवेयर पर उबंटू (पहली बार लिनक्स उपयोगकर्ता) का उपयोग कर रहा हूं। मैं बहुत कुछ सीख रहा हूं , लेकिन मेरे सिस्टम ने बहुत अव्यवस्था एकत्र की है। मैंने एक सेटिंग को बदल दिया है और भूल गया कि मैंने इसे कहाँ सेट किया है, आदि। मेरा विचार है कि मेरे पास अब (न्यूनतम) अनुभव का उपयोग करना है, और गलतियों के बिना एक समानांतर वीएम सिस्टम का निर्माण करना है, और फिर इसे प्राथमिक हार्डवेयर में फेरबदल करना है। । मैं इसके बारे में अपना समय ले सकता हूं और अभी भी वर्तमान पर प्रयोग कर सकता हूं। यह भी एक अच्छा "सीखने" परियोजना है ... लेकिन मुझे लग रहा है कि मैं जितना चबा सकता हूं उससे थोड़ा अधिक काट लिया हूं :) ... धीरे-धीरे वहां
पहुंच रहा हूं

1

मुझे अपने सिस्टम का बैकअप लेने के लिए rsync का उपयोग करना पसंद है। यह एक होम डायरेक्ट्रो या एक्ट्रा डायरेक्टरी के लिए अच्छा है, लेकिन ऐसा नहीं हो सकता है जो आप एक संपूर्ण सिस्टम माइग्रेशन के संदर्भ में देख रहे हैं। Rsync का उपयोग करने के लिए, आपको दोनों सिस्टम पर ubuntu इंस्टॉल करनी होगी। दोनों को अपडेट करें ताकि पैकेज समान हों और समान स्तर पर हों (यह अनिवार्य नहीं है लेकिन चीजों को आसान बनाता है)। फिर, सर्वर 1 से सर्वर 2 तक अपने होम डायर को कॉपी करने के लिए आप सर्वर 1 पर निम्नलिखित को चला सकते हैं:

$rsync -avz /home/username/ username@server2:/home/username/

इसके बारे में मुझे जो बात पसंद है वह यह है कि rsync निर्देशिकाओं के बीच के अंतरों की गणना करेगा और हर चीज के बजाय परिवर्तनों को स्थानांतरित करेगा। इस तरह से आप अपने बैकअप को सर्वर 2 पर चलाकर (सर्वर 1 पर बैकअप के लिए) रख सकते हैं:

$rsync -avz /home/username/ username@server1:/home/username/

hth


धन्यवाद, मैं अपने गैर-ओएस विभाजन (यानी .. जैसे संगीत, आदि) का बैकअप लेने के लिए rsync का उपयोग कर रहा हूं। मुझे भी rsync के काम करने का तरीका पसंद है; बहुत ही कुशल। मेरी मुख्य "समस्या" यह है कि मुझे नहीं पता कि VM से समतुल्य विभाजन के लिए एक साधारण फ़ाइल कॉपी काम करेगी या नहीं। उदाहरण के लिए। कैसे Ubuntu अलग हार्डवेयर को संभालेंगे। क्या यह स्वचालित रूप से इसका पता लगाता है और बूटअप पर समायोजित करता है? विंडोज निश्चित रूप से नहीं होगा! और मुझे अभी तक यकीन नहीं है कि माउंट पॉइंट्स को कैसे संभालना है: मैं अपने TeraByte ड्राइव को OS विभाजन में rsync नहीं करना चाहता; और GRUB मुझे बाहर निकालता है। ये छोटी-छोटी मजेदार बातें हैं,
जिनके
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.