किसी अन्य मशीन से पुनर्स्थापित करने के बाद ग्रब में यूयूआईडी कैसे तय करें?


22

मैं अपने सभी कस्टमाइज़ेशन, डॉक्यूमेंट्स, इंस्टॉल किए गए सॉफ़्टवेयर इत्यादि के साथ Ubuntu 12.04 का एक पूरा टार बैकअप अलग मशीन पर पुनर्स्थापित करना चाहता हूं।

मैंने निम्न कमांड के साथ बैकअप बनाया:

sudo su
cd /
tar cvpzf ububackup.tgz --exclude=/ububackup.tgz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/tmp --exclude=/media /

नए कंप्यूटर पर मैंने उबंटू 12.04 की एक नई स्थापना की, बैकअप फ़ाइल को इसमें स्थानांतरित किया और फिर निम्न के साथ बैकअप फ़ाइल के साथ पुनर्स्थापित किया गया:

tar xvpfz backup.tgz -C /

जैसा कि अपेक्षित था (माइक को देखें जो भी इस प्रश्न का उत्तर है: उबंटू डिस्ट्रो को एक कंप्यूटर से सभी सेटिंग्स के साथ एक अलग से कॉपी करें ) यह टूट गया। जब मैं कंप्यूटर चालू करता हूं तो मुझे एक त्रुटि मिलती है:

error: no such device: ...

press any key to continue ...

मेरा मानना ​​है कि ग्रब टूटा हुआ कारण यह है कि यूयूआईडी यह कंप्यूटर के लिए हार्ड-ड्राइव पर नहीं पुराने हार्ड ड्राइव पर मैचों की तलाश कर रहा है।

नई हार्ड-ड्राइव को पहचानने के लिए मैं अपना ग्रब कैसे ठीक कर सकता हूं? मैंने "फिक्स GRUB UUID" मदद के लिए ऑनलाइन देखा, लेकिन कदम या तो पुराने या जटिल लग रहे थे। माइक मैं ऊपर से जुड़ी प्रतिक्रिया से मुझे आशा है कि इसे सुधारने का एक सरल तरीका है।


1
अपने पुराने कंप्यूटर का स्नैपशॉट बनाने और इसे नए पर पुनर्स्थापित करने के लिए आप क्लोनज़िला (clonezilla.org) का उपयोग क्यों नहीं करते हैं? मुझे लगता है कि यह वास्तव में आसान होगा क्योंकि आप चाहते हैं कि जैसा है वैसा ही सब कुछ रखना चाहते हैं। अन्यथा, एक बैकअप (/ होम, / etc, / usr / लोकल, / var) बनाने और अपने डेटा और अनुकूलन को पुनर्स्थापित करना, सॉफ्टवेयर्स को छोड़कर वास्तव में बहुत आसान है ... अपनी वर्तमान समस्या को हल करने के लिए, आपको UUID को बदलना होगा। (s) in / etc / fstab और /boot/grub/menu.lst। आप UUID (gparted या कमांड लाइन) पाने के लिए और बदलाव करने के लिए Ubuntu इंस्टाल सीडी का उपयोग कर सकते हैं।
गोलबथ

जवाबों:


19

अपनी मौजूदा समस्या को हल करने के लिए, आपको UUID (s) को "/ etc / fstab" और "/boot/grub/grub.cfg" (बहुत मुश्किल) में बदलना होगा।

यूयूआईडी (एस) पाने के लिए आप उबंटू सीडी का उपयोग कर सकते हैं सी) या कमांड लाइन ( sudo blkid)।

फिर आपको सही वॉल्यूम पर "/ etc / fstab" को gedit, नैनो या अन्य के साथ संपादित करना होगा।

एक टर्मिनल में, टाइप करें:

gksudo gedit /etc/fstab

और पुराने UUIDs को नए लोगों द्वारा प्रतिस्थापित करें।

महत्वपूर्ण: यदि आप बूट सीडी का उपयोग करते हैं, तो आपको "/ etc / fstab" से पहले "/ मीडिया / xxxxx" जोड़ना होगा: "/ media / xxxxx / etc / fstab"। आप gksudo geditखुद को संपादित करने के लिए फ़ाइल का उपयोग और खोल भी सकते हैं ।

चेतावनी: संशोधित करना "/boot/grub/grub.cfg" बहुत मुश्किल है। इसे सामान्य रूप से कमांड के साथ जेनरेट किया जाना चाहिए sudo update-grub

एक टर्मिनल में निम्नलिखित दर्ज करके "/boot/grub/grub.cfg" में नए UUIDs को बदलें:

gksudo gedit /boot/grub/grub.cfg

महत्वपूर्ण: यदि आप बूट सीडी का उपयोग करते हैं, तो आपको "/boot/grub/grub.cfg" से पहले "/ मीडिया / xxxxx" जोड़ना होगा: "/ मीडिया / xxxxx / बूट / ग्रब / ग्रब।" cfg "। आप gksudo geditखुद को संपादित करने के लिए फ़ाइल का उपयोग और खोल भी सकते हैं ।

यदि आप मुश्किल समाधान का उपयोग करते हैं, तो मैं आपको sudo update-grubसिस्टम को सफलतापूर्वक बूट करने के बाद लॉन्च करने की सलाह देता हूं ।

ग्रब को ठीक से समेटने का एक सरल लेकिन सरल तरीका "बूट-रिपेयर-डिस्क" जैसे बूट रिपेयर डिस्क का उपयोग हो सकता है: http://sourceforge.net/p/boot-repair-cd/home/Home/

मुझे उम्मीद है कि इससे आपको अपनी समस्या को हल करने में मदद मिलेगी।

हालाँकि आप नए कंप्यूटर पर पुराने कंप्यूटर को दोहराने के लिए Clonezilla का उपयोग करने पर विचार कर सकते हैं जैसा कि मेरी टिप्पणी में इंगित किया गया है।


धन्यवाद गोलबोथ। मैंने बूट रिपेयर डिस्क का उपयोग करने के आपके सुझाव का उपयोग करते हुए समाप्त कर दिया और यह काम कर गया।
बर्फ़ीली

कृपया ध्यान दें कि क्लोनज़िला वास्तव में इसे ठीक नहीं कर सकता है। मैं सिर्फ एक SSD के लिए अपने पूरे hdd (clonezilla के माध्यम से) की नकल करता था और HDD और SSD के लिए एक ही UUID था, SSU पर मैन्युअल रूप से uuid को बदलना समाप्त कर दिया और फिर sdd पर उपर्युक्त फाइलों में अभी भी फॉलबैक hdd है संभव बूट OS
डेनिस नोलटे

3

संभवतः इसका मतलब यह है कि ग्रब शुरू होता है और उबंटू को बूट करने का विकल्प प्रदर्शित करता है लेकिन जब आप चुनते हैं कि यह बूट नहीं करता है?

दो विकल्प हैं, मुझे लगता है:

  1. लाइनक्स बूट विकल्प को सही ढंग से लोड करने के लिए लिनक्स बूट विकल्प को संशोधित करने के लिए GRUB लाइन संपादक का उपयोग करें (और फिर स्थाई रूप से सही कॉन्फ़िगरेशन सेट करने के लिए रूट के रूप में ग्रब-इंस्टॉल चलाएं)।
  2. एक उबंटू यूएसबी स्टिक से बूट करें, उबंटू डिस्क विभाजन को माउंट करें, उसमें क्रोकेट करें और फिर ग्रब-इंस्टॉल चलाएं।

पहला मामला आसान होना चाहिए यदि आपके पास केवल उबंटू है और केवल एक ही हार्ड डिस्क है, तो उस स्थिति में "उबंटू रिकवरी" विकल्प चुनें, और संपादित करने के लिए "ई" दबाएं:

प्रविष्टि कुछ इस तरह दिखनी चाहिए:

insmod gzio
insmod part_msdos
insmod ext2
set root=('hd0,msdos0')
search --no-floppy --fs-uuid --set=root XXXXXX
linux /boot/vmlinuz-YYYYY root=UUID=XXXXXX ro recovery nomodeset
initrd /boot/initrd.img-YYYYY

"खोज" लाइन निकालें और "रूट = UUID = XXXXX" को "रूट = / देव / sda1" के साथ "लाइनक्स" लाइन में बदलें। इसे आज़माएं और बूट करें और उम्मीद है कि थोड़े समय के बाद यह आपको उबंटू रिकवरी मेनू देगा, जिसमें ग्रब विकल्प होना चाहिए, जिसे ग्रब को फिर से स्थापित करना चाहिए।

अन्यथा, या यदि आप सीधे ग्रब के साथ गड़बड़ नहीं करते हैं (जो कि स्वास्थ्य चेतावनी ले जानी चाहिए, तो सीडी / यूएसबी स्टिक का उपयोग करें जैसा कि https://help.ubuntu.com/community/Grub2/Installing#Reinstalling -GRUB_2 में प्रलेखित है।


FYI करें, जब मैंने शुरू किया था तो मैंने ग्रब स्टार्टअप विकल्प नहीं देखा था (शायद इसलिए क्योंकि यह केवल उबंटू में सीधे बूट होता है क्योंकि यह एकमात्र ओएस था)। किसी भी मामले में मैं आपकी मदद की सराहना करता हूं। मैंने एक बूट मरम्मत डिस्क का निर्माण किया।
स्नोगी

आपका बहुत बहुत धन्यवाद! आपके उत्तर ने मुझे एक बुरे अंत से बचा लिया, जब मैंने मूर्खता से मेरे fstab के UUID को बदल दिया और उबंटू अब शुरू नहीं हो सका!
reexmonkey

0

मेरे मामले में, यूयूआईडी जो ग्रब स्थापित किया गया था वह sudo blkidमेरे विंडोज विभाजन (grub.cfg में पुष्टि) के लिए मेरे वर्तमान यूयूआईडी ( ) से अलग था । मैंने विभिन्न तरीकों की असफल कोशिश की। अंत में मैंने फ़ाइल मैनेजर के साथ विंडोज पार्टीशन को माउंट किया और update-grubफिर से भाग गया और UUID को grub.cfg में सफलतापूर्वक अपडेट किया गया।


कार्यक्रम कहा जाता है update-grubऔर नहीं grub-update। यह स्पष्ट नहीं है क्योंकि अधिकांश ग्रब कमांड के साथ शुरू होता है grub-...
Fa11enAngel

0

मैंने फस्टब और ग्रब के संपादन के बजाय क्या किया:

  1. मैंने उबंटू की ताज़ा स्थापना पर उन फ़ाइलों का बैकअप लिया ( tar -cvf /somedir/boot.tar /etc/fstab /boot/grub/grub.cfg)
  2. बैकअप से बहाल ( tar -xvpf /mnt/remotebk/full.tar)
  3. पुनर्स्थापना fstab फ़ाइल ( cp /etc/fstab /somedir/fstab.restored)
  4. मेरी ताज़ा स्थापित बूट फ़ाइलों को पुनर्स्थापित करें ( tar -xvpf /somedir/boot.tar -C /)
  5. रिबूट किया और यह काम किया।

मैं vmware वर्चुअल मशीनों का उपयोग कर रहा हूं, मैंने एक होस्ट से दूसरे होस्ट में एक लिनक्स सर्वर को स्थानांतरित करने के लिए यह प्रक्रिया की।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.