13.10 से 14.04 तक उन्नयन ने ग्रब को तोड़ दिया


11

मेरे पास UEFI सिस्टम पर एक दोहरी बूट उबंटू + विंडोज 8 है। सब कुछ ठीक था जब तक मैं 13.10 से Ubuntu 14.04 में उन्नत नहीं हुआ।

अब जब मैं पीसी को बूट करता हूं तो निम्नलिखित के साथ इस तरह से ग्रब रेस्क्यू स्क्रीन होती है:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi.efi - 800000000000000E
Failed to load image
Welcome to GRUB!

error: symbol 'grub_term_highlight_color' not found.
grub rescue> 

लाइव सीडी से बूट-रिपेयर का उपयोग (या तो 13.10 या 14.10) रिपोर्ट करता है कि कोई त्रुटि हुई और यह रिपोर्ट बनाता है: http://paste2.org/Y8mDwa0M

(बूट मरम्मत का कहना है कि यह उबंटू 13.10 से संकुल स्थापित करेगा)

लेकिन कुछ भी नहीं बदलता है।

अगर मैं बूट पर f12 दबाता हूँ तो मुझे एक bios स्क्रीन (बूट मेनू) मिलता है जहाँ मैं hdd, USB, डीवीडी रीडर से चुन सकता हूँ और अगर मैं HDD पर क्लिक करता हूँ तो मुझे तीन विकल्प मिलते हैं:

बूट करने के लिए एक उपकरण चुनें:

Windows Boot Manager 
ubuntu
Ubuntu

विंडोज विकल्प मुझे ग्रब बचाव में वापस ले जाता है।

अन्य दो विकल्पों के साथ मुझे एक ग्रब मेनू मिलता है जहां मैं उबंटू शुरू करने में सक्षम हूं लेकिन विंडो विकल्प काम नहीं करता है

मुझे नहीं पता कि अब क्या करना है

अपडेट :

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

अंत में मैं rEFInd ( http://www.rodsbooks.com/refind/getting.html ) का उपयोग कर रहा हूं, जो मुझे ग्रब प्राप्त करने की अनुमति दे रहा है जिसमें से मैं उबंटू (लेकिन विंडोज़ नहीं) शुरू कर सकता हूं और अपने आप विंडोज़ शुरू कर सकता हूं rEFInd मेनू का उपयोग करना।

लेकिन निश्चित रूप से यह आदर्श समाधान नहीं है

अपडेट 2:

मेरे पास केवल एक डिस्क है:

यहाँ छवि विवरण दर्ज करें

अपडेट 3:

यह त्रुटि है जो तब दिखाई देती है जब मैं ग्रब स्थापित करने या ग्रब-इंस्टॉल चलाने का प्रयास करता हूं:

Installing for i386-pc platform. 
grub-install: Warning: This GPT partition label has no BIOS Boot Partition, the embed is not possible. 
grub-install: Warning: This embed is not possible. GRUB can only be installed in this configuration using blocklist. The blocklist however, are not reliable and it is not recommended to use ..
Installation completed, no errors reported.
Generating grub configuration file ... 
Found linux image: / boot/vmlinuz-3.13.0-24-generic 
Found initrd image: / boot/initrd.img-3.13.0-24-generic 
Found linux image: / boot/vmlinuz-3.11.0-19-generic 
Found initrd image: / boot/initrd.img-3.11.0-19-generic 
Found linux image: / boot/vmlinuz-3.11.0-7-generic 
Found initrd image: / boot/initrd.img-3.11.0-7-generic 
Found linux image: / boot/vmlinuz-3.11.0-5-generic 
Found initrd image: / boot/initrd.img-3.11.0-5-generic 
Found linux image: / boot/vmlinuz-3.11.0-4-generic 
Found initrd image: / boot/initrd.img-3.11.0-4-generic 
Found linux image: / boot/vmlinuz-3.11.0-3-generic 
Found initrd image: / boot/initrd.img-3.11.0-3-generic 
Found linux image: / boot/vmlinuz-3.11.0-2-generic 
Found initrd image: / boot/initrd.img-3.11.0-2-generic 
Found Windows Boot Manager on / dev/sda2 @ / EFI / Microsoft / Boot / Bootmgfw.efi 
Adding boot menu entry for the EFI firmware configuration 
done

(इतालवी से अनुवादित)



मैं इन आदेशों की कोशिश की है, लेकिन chroot पर अटक जाते हैं। मुझे एक त्रुटि मिली: "चुरोट: कमांड चलाने में विफल रहा

14.04 पर जाने में वही त्रुटि हुई, इससे मुझे मदद मिलती है: wiki.ubuntuusers.de/GRUB_2/Reparatur , लगभग वैसा ही है जैसा कि freeseek का जवाब है

1
@ लॉरी नीचे पोस्ट देखें, विधि 3 # 1 आपका मुद्दा है, आप 64 बिट सिस्टम को सुधारने के लिए 32 बिट परिवर्तन रूट का उपयोग नहीं कर सकते हैं।
eyoung100

जवाबों:


7

मैंने 14.04 में एक टूटे हुए ग्रब के साथ यह परीक्षण नहीं किया था, लेकिन मुझे इन निर्देशों का उपयोग करके कभी भी परेशानी नहीं हुई:
https://wiki.ubuntu.com/Grub2#Recover

सबसे पहले, आपको अपने सिस्टम को एक लाइव सीडी या यूएसबी से शुरू करना होगा। फिर

" विधि 3 - चारोट

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

1) लाइवसीडी डेस्कटॉप पर बूट (उबंटू 9.10 या बाद में)। कृपया ध्यान दें कि लाइव सीडी उसी तरह होनी चाहिए जैसा कि आप ठीक कर रहे हैं - या तो 32-बिट या 64-बिट (यदि नहीं तो चेरोट विफल हो जाएगा)।

2) एक टर्मिनल खोलें (एप्लिकेशन> एक्सेसरीज़> टर्मिनल)।

3) अपने सामान्य सिस्टम विभाजन को निर्धारित करें - (स्विच एक लोअरकेस है "L")

sudo fdisk -l

यदि आप निश्चित नहीं हैं, तो दौड़ें

df -Th  

सही डिस्क आकार और ext3 या ext4 प्रारूप देखें।

4) अपने सामान्य सिस्टम विभाजन को माउंट करें:

सही विभाजन को प्रतिस्थापित करें: sda1, sdb5, आदि।

sudo mount /dev/sdXX /mnt  

उदाहरण: सुडो माउंट / देव / sda1 / mnt

5) यदि आपके पास एक अलग बूट विभाजन है: sdYY / बूट विभाजन पदनाम है (उदाहरण के लिए sdb3)

सुडो माउंट / देव / sdYY / mnt / बूट 
6) माउंट महत्वपूर्ण आभासी filesystems:
सुडो माउंट - बिंद / देव / मन्ट / देव
सुदो आरोह - bind / dev / pts / mnt / dev / pts
सुडो माउंट - बिंद / प्रोक / मंट / प्रू
सुडो माउंट - बिंद / सीस / मन्ट / सीस 
7) अपने सामान्य सिस्टम डिवाइस में चुरोट:

सुडो चरोट / मंत 

8) यदि कोई /boot/grub/grub.cfg नहीं है या यह सही नहीं है, तो एक का उपयोग करके बनाएं

अद्यतन-कोड़ना 

9) GRUB 2 की स्थापना रद्द करें:

सही डिवाइस को सब्स्टीट्यूट करें - एसडीए, एसडीबी, आदि एक विभाजन संख्या निर्दिष्ट न करें।

ग्रब-स्थापित / देव / sdX 

10) इंस्टॉल को सत्यापित करें (सही डिवाइस का उपयोग करें, उदाहरण के लिए एसडीए। एक विभाजन निर्दिष्ट न करें):

सुडो ग्रब-इंस्टॉल - क्रेच / डेव / एसडीएक्स 

11) चिरोट से बाहर निकलें: कीबोर्ड पर CTRL-D

12) अनमाउंट वर्चुअल फाइलसिस्टम:

सूद umount / mnt / देव / पीटीएस
सूद umount / mnt / देव
सूद umount / mnt / proc
सूद umount / mnt / sys 

13) यदि आपने एक अलग / बूट विभाजन माउंट किया है:

सूद umount / mnt / बूट 

14) LiveCD / usr निर्देशिका को अनमाउंट करें:

सूद umount / mnt / usr 

15) पिछले डिवाइस को अनमाउंट करें:

सूद umount / mnt 

16) रिबूट।

सूडो रिबूट 
"

यह भी ग्रब की मरम्मत के अन्य तरीके हैं: मैं ग्रब की मरम्मत कैसे कर सकता हूं? (विंडोज स्थापित करने के बाद उबंटू को वापस कैसे प्राप्त करें?)


1
चरण 3,4, और 9 ने मेरे लिए काम किया। धन्यवाद
ezdazuzena

1
बूट-मरम्मत बुरी तरह से विफल रही - लेकिन यह मेरे लिए निर्दोष रूप से काम किया
जॉन स्कारपेटिग सिप

2

एक ही त्रुटि "ग्रब_टेरम_हिगलाइट_कोलर 'नहीं मिला" प्रतीक था, ग्रब बचाव में फंस गया। बूट-मरम्मत की कोशिश की (अनुशंसित विकल्प), लेकिन काम नहीं किया!

समाधान: डाउनलोड किया गया बूट करने योग्य बूट-मरम्मत .iso ( http://sourceforge.net/projects/boot-repair-cd/ ) और बूट करने योग्य USB डिस्क बनाया। इससे बूट किया गया और इंटरनेट से जुड़ा और "अनुशंसित मरम्मत" शुरू की, फिर कुछ चरणों में निर्देशों का पालन किया (हटाए गए / अनइंस्टॉल किए गए ग्रब और फिर एक नया संस्करण स्थापित किया), जिसने मेरे लिए काम किया! मुझे लगता है कि आपके मामले में ग्रब को अनइंस्टॉल किया जाना चाहिए और फिर sdb1 के बजाय sda8 पर फिर से स्थापित किया जाना चाहिए।


यह मेरे लिए काम करता है: मैंने बूट मरम्मत सीडी छवि डाउनलोड की है - मैंने x64 का उपयोग किया क्योंकि उबंटू स्थापना x64 है। फिर unetbootin के माध्यम से ISO स्थापित किया । नियमित मरम्मत और वायोला का प्रदर्शन किया!
मेटा

बूट डिस्क के साथ बूट करने योग्य डिस्क (64 बिट्स 14.04 डेस्कटॉप संस्करण) ने भी मेरे लिए काम किया, 13.10 से 14.04 तक अपग्रेड करने के बाद। अपने हिस्से के लिए मैंने यहां (2 वें विकल्प) निर्देशों का पालन किया और टूल में "अनुशंसित मरम्मत" पर क्लिक किया और फिर ग्रब ने अचानक फिर से काम किया!
Krøllebølle 17

2

मेरी भी यही समस्या थी। मेरा अनुमान है कि, चूंकि मेरे पास दो हार्ड ड्राइव हैं, सिस्टम गलत ड्राइव से शुरू करने की कोशिश कर रहा है जहां GRUB का एक पुराना संस्करण स्थापित है। मेरा समाधान उबंटू को एक यूएसबी स्टिक के साथ शुरू करना था (यह कोई फर्क नहीं पड़ता कि कौन सा संस्करण है)। एक बार शुरू करने के बाद, ये कमांड इसे करेंगे, रूट के रूप में चलाएं:

mkdir /tmp/drive
sudo mount /dev/sdX1 /tmp/drive
sudo mount --bind /dev /tmp/drive/dev
sudo mount --bind /proc /tmp/drive/proc
sudo mount --bind /sys /tmp/drive/sys
sudo chroot /tmp/drive
dpkg-reconfigure grub-pc

जहाँ sdX1 ड्राइव होना चाहिए जहाँ आपका सिस्टम स्थापित है। जब आप अंतिम कमांड चलाते हैं तो आपको sdX ड्राइव का चयन करना चाहिए, हालांकि मुझे लगता है कि इसे कई बार चलाने से प्रत्येक ड्राइव पर ग्रब का नया संस्करण इंस्टॉल हो जाएगा और आपको कुछ मनचलों को दे देगा।


मुझे माउंट मिलता है: माउंट पॉइंट / tmp / ड्राइव / देव मौजूद नहीं है
anlemur

1
@ किमी आप भूल गए - संभवतः, या गलत ड्राइव माउंट करें? - usb की ड्राइव में फ़ाइल सिस्टम लेता है और इसके साथ / dex / sdX1 / dev का उपयोग करता है / dev
eyoung100

@Akmur आप शायद गलत विभाजन मुहिम शुरू की। जब मैंने sdX1 का उल्लेख किया है, तो यह आपके बूट विभाजन को संदर्भित करने की आवश्यकता है, जिसमें पहले से ही देव, proc, sys निर्देशिकाएं होनी चाहिए। यदि वे नहीं हैं, तो सबसे अधिक संभावना है कि आप गलत विभाजन को बढ़ा रहे हैं। यदि आपको लगता है कि आपने सही विभाजन को माउंट किया है, तो शायद बस आगे बढ़ें और mkdir के साथ उन लापता निर्देशिकाओं को बनाएं।
freeseek

1

मुझे 13.10 से 14.04 तक अपग्रेड करने में एक ही त्रुटि थी। ये निर्देश मेरे लिए थोड़ा कठिन था।

मैंने उस पर सुपर ग्रब डिस्क के साथ एक बूट करने योग्य USB ड्राइव बनाना समाप्त किया। http://www.supergrubdisk.org/

उसी से बूट किया गया। बूट में इसे स्थापित ओएस का पता लगाने के लिए कहा था। यह मेरे Ubuntu 14.04 स्थापित पाया तो मैंने इसे बूट करने के लिए कहा। कोई समस्या नहीं है।

मेरे पास पहले से ही बूट रिपेयर मेरे सिस्टम पर स्थापित था। https://sourceforge.net/p/boot-repair

भाग गए और डिफ़ॉल्ट परिवर्तनों को स्वीकार कर लिया।

बंद करना। यूएसबी ड्राइव को स्लॉट से बाहर निकाल दिया, पावर दबाया और आयोजित सांस के साथ इंतजार किया।

सिस्टम ने सामान्य रूप से बूट किया! समस्या सुलझ गयी।


ओपी ने कहा कि बूट रिपेयर काम नहीं करता था, इसलिए शायद इसका जवाब नहीं है।
mikewhatever

1

मेरा अनुमान है कि आपके ईएफआई विभाजन में बासी EFI फाइलें हैं। ईएफआई स्थिति के लिए एक लॉन्चपैड बग विशिष्ट है जो मुझे संदेह है कि आपके मामले को संबोधित करता है। यह मेरे लिए अन्य सभी सुझावों के बाद काम नहीं किया। फिक्स EFI फ़ाइलों को मैन्युअल रूप से अद्यतन करना है । नीचे एक चलना है। ध्यान दें कि आपको इसके स्थान पर अपने EFI विभाजन को प्रतिस्थापित करना होगा /dev/sda1

  1. लाइव सीडी के लिए बूट
  2. ओपन xterm
  3. अपने EFI विभाजन को निर्धारित करने के लिए पार्टीशन का उपयोग करें: sudo parted -l(अगले चरण में / dev / sda1 के लिए विकल्प)
  4. अपना EFI विभाजन माउंट करें: sudo mount /dev/sda1 /mnt
  5. बूट EFI फ़ाइल को अपडेट करें: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi

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