मैं LiveCD से अपडेट-ग्रब कैसे चलाऊं?


62

ठीक है, इसलिए मैंने कुछ बेवकूफी की। मैं अपनी ग्रब प्रविष्टियों को साफ करने की कोशिश कर रहा था, और गलती से मेरी सभी लिनक्स कर्नेल को ग्रब से हटा दिया (वे अभी भी हार्ड ड्राइव पर हैं)। तो अब, जाहिर है, ग्रब मुझे उबंटू में बूट करने का कोई रास्ता नहीं देता है; मैं विंडोज में ठीक बूट कर सकता हूं, लेकिन उबंटू भी सूचीबद्ध नहीं है।

इसलिए मैं केवल सूची में उबंटू को पुनर्स्थापित करने के लिए "सुडो अपग्रेड-ग्रब" चलाना चाहता हूं। मैं एक LiveCD से बूट कर सकता हूं, लेकिन एक बार वहां मैं उस कमांड को कैसे चलाऊं? (मेरी उबंटू स्थापना sda5 पर है, वैसे)


यह पूरी तरह से काम करता है ... यह ठीक वैसी 2 दिन ago- opensource-sidh.blogspot.in/2011/06/...
Nirmik

इस थ्रेड पर इंगित करना चाहते हैं - कि 12.10 कमांड अपडेट-ग्रब ग्रब <2.0 के साथ काम नहीं करता है? - मैं खुद पिछले सप्ताहांत 12.10 (नाशपाती ओएस 7.0.1) की मेरी स्थापना को ग्रब-इंस्टाल के साथ जोड़ रहा था और फिर अपडेट-ग्रब काम नहीं कर रहा था - सुपरग्राउब-सीडी के साथ बचाव करना था ...
dschinn1001

जवाबों:


81

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

अपने लाइव सीडी के साथ बूट करें, "इंस्टॉल किए बिना Ubuntu का प्रयास करें" का चयन करें।

एक बार जब यह बूट हो जाता है, एक टर्मिनल (ctrl-alt-t) खोलें और अपने Ubuntu विभाजन को / mnt पर माउंट करें। मैं मान रहा हूँ कि Ubuntu विभाजन / dev / sda5 है, लेकिन आपको इसे स्वयं निर्धारित करना चाहिए। अगर आपको ऐसा करने के लिए मदद चाहिए तो मुझे बताएं:

sudo mount /dev/sda5 /mnt

फिर कुछ और निर्देशिकाओं की आवश्यकता होती है:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc

इसके अलावा, यदि आपके पास एक अलग उबंटू बूट विभाजन है (इन दिनों बहुत असामान्य है, लेकिन यह मामला हो सकता है):

sudo mount /dev/sdaX /mnt/boot

यदि आपके पास बूट पार्टीशन है तो आप कैसे बता सकते हैं?

एक बार जब आप अपना उबंटू विभाजन माउंट कर देते हैं, तो खोलें /mnt/etc/fstab। यदि आप एक प्रविष्टि देखते हैं /boot, तो ध्यान दें कि वह किस डिवाइस की ओर इशारा कर रही है ( /dev/sda4हो सकता है?)। यह वह है जिसे आपको माउंट करना है।

एक बार ये माउंट हो जाने के बाद, रूट विभाजन के रूप में माउंटेड डायरेक्टरी का उपयोग शुरू करने के लिए चुरोट करें:

sudo chroot /mnt

आपको एक #/संकेत मिलेगा । पहली बात यह पुष्टि करना है कि आप सही /bootनिर्देशिका का उपयोग कर रहे हैं । पर जाएं /boot/grubऔर वहाँ फ़ाइलों को देखो। इसमें .mod फ़ाइलों और grub.cfg फ़ाइल का एक गुच्छा होना चाहिए। यदि निर्देशिका खाली है, तो जारी न रखें, क्योंकि इसका मतलब है कि यह आपकी वास्तविक bootनिर्देशिका नहीं है। ऊपर देखने के लिए कि आपको कैसे निर्धारित करना है कि आपको अतिरिक्त bootनिर्देशिका को माउंट करने की आवश्यकता है ।

एक बार जब आप पुष्टि की है कि गया है /boot/सही फ़ाइलें हैं, जिसका अर्थ है कि यह है सही स्थान, टाइप करें:

sudo update-grub

यह मेनू प्रविष्टियों के साथ आपकी /boot/grub/grub.cfg फ़ाइल का पुनर्निर्माण करना चाहिए।

फिर चुरोट से बाहर निकलें:

exit

इस बिंदु पर आप जाँच सकते हैं कि चीजें सही ढंग से अपडेट की गई थीं। इसके लिए, cd /mnt/boot/grubऔर जाँच करें कि ग्रब की फाइलें हैं, .mod फ़ाइलों और grub.cfg का एक गुच्छा होना चाहिए, बाद में आपके उबंटू कर्नेल के लिए प्रविष्टियां होनी चाहिए। यदि आप केवल grub.cfg और no .mod फ़ाइलों को देखते हैं, तो इसका मतलब है कि यह सही बूट निर्देशिका नहीं है, ऊपर एक अलग बूट विभाजन कैसे माउंट करें, इसके लिए देखें।

फ़ाइल सिस्टम को अनमाउंट करें:

sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot #Only if you mounted it earlier
sudo umount /mnt/

और फिर रिबूट करें, उम्मीद है कि आपका ग्रब मेनू बहाल हो जाएगा।


जब मैं तीन माउंट कमांड चलाने की कोशिश करता हूं, तो मुझे "माउंट पॉइंट / मेन्ट / डेव मौजूद नहीं होता है" या प्रत्येक के लिए संबंधित एक।
केली

क्या आपका उबंटू / देव / sda5 पर स्थापित है? यदि हां, तो sudo mount /dev/sda5 /mntआपको cd /mntअपने उबंटू इंस्टॉलेशन के पेड़ को देखने और देखने में सक्षम होना चाहिए । इसमें देव, ऋषि और गण होना चाहिए। यदि नहीं, तो शायद आप गलत विभाजन को बढ़ा रहे हैं। क्या आप इसकी जांच कर सकते हैं? धन्यवाद!
21: 17 बजे रोडम

मैंने LiveCD को फिर से शुरू किया और इस बार यह काम करता हुआ दिखाई दे रहा है। मैंने पहली बार कुछ गलत टाइप किया होगा, हालाँकि मैं सावधान था। वैसे भी, मैं अब रिबूट कर रहा हूं ... और नहीं, कुछ भी नहीं बदला है। ग्रब मेनू में उबंटू का अभी भी कोई विकल्प नहीं है।
केली

तो आपके प्रश्न का उत्तर देने के लिए, "सुडो माउंट / देव / sda5 / mnt" चलाने के बाद, और फिर "सीडी / mnt", मैं देव, sys और proc देखता हूं।
केली

1
यू सर, एक जीवन रक्षक हैं :) इसके लिए धन्यवाद। एक जादू की तरह काम किया।
ेरेऑन

14

लाइव सीडी से बूट करें।

टर्मिनल खोलने और निम्नलिखित कमांड चलाने के लिए Alt+ Ctrl+ हिट Tकरें:

सुडो माउंट / देव / sda5 / mnt

GRUB2 बूट लोडर स्थापित करें:

सुडो ग्रब-इंस्टॉलेशन --root-directory = / mnt / dev / sda

वह है /dev/sda- हार्ड डिस्क ही, उबंटू विभाजन नहीं - /dev/sda5

उबंटू विभाजन को अनमाउंट करें और कंप्यूटर को पुनः आरंभ करें जैसे:

सूद umount / देव / sda5; सुडो रीबूट

यदि आपके पास एक से अधिक OS स्थापित हैं, तो OS को फिर से पहचानें:

सुडो अपडेट-ग्रब

बस!


1
हटाए जाने के लिए ध्वजांकित खदान - दो बार एक ही चीज में नहीं
23 93 26 35 19 57 3 89 89

धन्यवाद, लेकिन यह काम नहीं करता है। यह ग्रब को फिर से स्थापित करता है, लेकिन जब मैंने इसे रिबूट किया, तब भी इसे अपडेट नहीं किया गया है, इसलिए मेरा उबंटू इंस्टॉलेशन अभी भी ग्रब में दिखाई नहीं देता है। किसी तरह से मुझे रिबूट करने से पहले ग्रब को अपडेट करना होगा, जैसे कि लाइवसीडी से।
केली

@ केली क्या आपको यकीन है कि उबंटू इंस्टालेशन sda5 पर है? आप इसे चलाकर चेक कर सकते हैं sudo fdisk -l। उबंटू की स्थापना के *बाद / dev / sdxx होगा।
बशारत सियालवी

हाँ, यह sda5 पर है। हालाँकि, * sda2 के बाद है, जो कि मेरा विंडोज विभाजन है (और अंतिम विभाजन जिसमें मैं बूट करने में सक्षम हूं, क्योंकि यह मेरे ग्रब मेनू पर एकमात्र विकल्प है)।
केली

Chroot। कृपया अन्य उत्तर पढ़ें।
ish

1

उस समस्या का मेरा समाधान था:

  1. http://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/ से supergrub2disk डाउनलोड करें
  2. इसे pendrive पर डालें http://www.supergrubdisk.org/put-super-grub2-disk-into-an-usb-pendrive-as-an-iso-image-from-windows/
  3. उस पर supergrub2disk के साथ पेनड्राइव से बूट कंप्यूटर
  4. अपने Ubuntu में लॉग इन करें
  5. https://help.ubuntu.com/community/Boot-Repair से उबंटू के लिए बूट-मरम्मत प्राप्त करें

शायद यह सबसे तेज़ समाधान नहीं है, लेकिन मेरे लिए यह सबसे आसान था।


1

यह समाधान रोडमैर के उत्तर के समान ही है, बहुत आसान को छोड़कर।

  1. एंटीएक्स लाइव सीडी में बूट करें।
  2. मेनू> अनुप्रयोग> सिस्टम उपकरण> बूट मरम्मत
  3. 'मरम्मत GRUB कॉन्फ़िगरेशन फ़ाइल' चुनें (यह विकल्प अपडेट-ग्रब चलाता है)
  4. उस ड्राइव / विभाजन का चयन करें जहां / बूट रहता है
  5. रिबूट जब इसके समाप्त हो गया।

मेरे विशेष मामले में, 'GRUB बूटलोडर को फिर से इंस्टॉल करें' ने इसे मेरे लिए तय किया है। मेरे पास एक ड्यूल-बूट विंडोज़ / लिनक्स सेटअप है। मैंने एक फाइल में ड्राइव का क्लोन बनाने के लिए Macrium 7 का उपयोग किया। फिर उस फ़ाइल को एक नई ड्राइव पर पुनर्स्थापित करें। जब मैंने इसे नई ड्राइव पर बहाल किया, तो यह ऊपरी बाईं ओर एक ब्लिंकिंग कर्सर के साथ एक काली स्क्रीन पर बूट होगा ।



-1

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


1
खुशी है कि आप इसे किसी भी तरह से हल कर सकते हैं, लेकिन चेरोटिंग में काम करना चाहिए था, और मुझे सबसे अच्छा समाधान लगता है।
महेश

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