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


344

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

मैं उबंटू को कैसे वापस ला सकता हूं?


मुझे लगता है कि यह एक सामान्य कार्य है, मेरे पास दो HDD और उबंटू + विंडोज भी हैं। मुझे आशा है कि आप इसे सही तरीके से सुधार सकते हैं। इस ट्यूटोरियल को फॉलो करने की कोशिश करें । किसी भी प्रश्न, मुझसे पूछो!
एंटीवायरल

1
संबंधित (जब GRUB गलत ड्राइव के MBR पर स्थापित किया गया था ): ubuntu को स्थापित करने के बाद ग्रब बचाव की समस्या
Eliah Kagan

हां, आप कर सकते हैं, आपको बस एक सामान्य बूट करना होगा और खिड़कियों के साथ स्थापित करना होगा और फिर इसे कंप्यूटर के स्टार्ट-अप में ग्रब बूट मेनू में दिखाना चाहिए।
रामपुज

मुझे पता है कि यह एक पुराना धागा है, लेकिन मैंने UEFI से लिगेसी में बायोस में बूट मोड को बदलकर समस्या को ठीक किया।

1
नोट: स्वीकार किए जाते हैं उत्तर कैसे ग्रब की मरम्मत के लिए एक सामान्य निर्देश है। यह कई प्रकार की परिस्थितियों पर भी लागू होता है जब GRUB गलत तरीके से इंस्टॉलर (सर्वव्यापकता) द्वारा लिखा जाता है।
दानतला

जवाबों:


348

जब आप विंडोज स्थापित करते हैं, तो विंडोज यह मानता है कि यह मशीन पर एकमात्र ऑपरेटिंग सिस्टम (ओएस) है, या कम से कम यह लिनक्स के लिए खाता नहीं है। इसलिए यह GRUB को अपने बूट लोडर से बदल देता है। आपको क्या करना है विंडोज बूट लोडर को GRUB के साथ बदलना है। मैंने GRUB को GRUB कमांडों या कुछ ऐसे के साथ चारों ओर से हटाकर GRUB की जगह लेने के विभिन्न निर्देश देखे हैं, लेकिन मेरे लिए सबसे आसान तरीका यह है कि आप बस chrootअपने इंस्टाल और रन करें update-grubchrootयह बहुत अच्छा है क्योंकि यह आपको यहां और वहां की चीजों को पुनर्निर्देशित करने की कोशिश करने के बजाय आपके वास्तविक इंस्टॉल पर काम करने की अनुमति देता है। यह वास्तव में साफ है।

ऐसे:

  1. "कोशिश Ubuntu" मोड में लाइव सीडी या लाइव यूएसबी से बूट करें।
  2. अपने मुख्य विभाजन की विभाजन संख्या निर्धारित करें। sudo fdisk -l, sudo blkidया GParted (जो पहले से ही स्थापित होना चाहिए, डिफ़ॉल्ट रूप से, लाइव सत्र पर) यहां आपकी मदद कर सकता है। मैं इस उत्तर में यह मानने जा रहा हूं कि यह है /dev/sda2, लेकिन सुनिश्चित करें कि आप अपने सिस्टम के लिए सही विभाजन संख्या का उपयोग करते हैं!

    यदि आपका मुख्य विभाजन LVM में है , तो डिवाइस इसके बजाय /dev/mapper/, सबसे अधिक संभावना में स्थित होगा , /dev/mapper/{volume}--{os}-rootजहां {volume}LVM वॉल्यूम नाम है और {os}ऑपरेटिंग सिस्टम है। ls /dev/mapperसटीक नाम के लिए निष्पादित करें।

  3. अपना विभाजन माउंट करें:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    तो आपको एक अलग है, तो /boot, /varया /usrविभाजन , दोहराएँ चरण 2 और 3 के लिए इन विभाजनों माउंट करने के लिए /mnt/boot, /mnt/varऔर /mnt/usrक्रमशः। उदाहरण के लिए,

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    संबंधित विभाजन संख्याओं के साथ प्रतिस्थापित करना sdXW, sdXYऔर sdXZ

  4. कुछ अन्य आवश्यक सामान बांधें:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. यदि Ubuntu EFI मोड में स्थापित है ( यदि आप अनिश्चित हैं तो यह उत्तर देखें ), sudo fdisk -l | grep -i efiअपने EFI विभाजन को खोजने के लिए उपयोग करें या GParted। इसका एक लेबल होगा EFIsdXYअपने सिस्टम के लिए वास्तविक विभाजन संख्या के साथ इस विभाजन को माउंट करें :

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot अपने Ubuntu स्थापित में:

    sudo chroot /mnt
    
  7. इस बिंदु पर, आप अपने इंस्टॉल में हैं, लाइव सत्र नहीं, और रूट के रूप में चल रहा है। अपडेट ग्रब:

    update-grub
    

    यदि आपको त्रुटियां मिलती हैं या यदि चरण 7 में जाने से आपकी समस्या ठीक नहीं हुई, तो चरण 8 पर जाएं (अन्यथा, यह वैकल्पिक है।)

  8. आपकी स्थिति के आधार पर, आपको ग्रब को फिर से स्थापित करना पड़ सकता है:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. यदि Ubuntu EFI मोड में स्थापित है, और EFI विभाजन UUID बदल गया है, तो आपको इसे अपडेट करने की आवश्यकता हो सकती है /etc/fstab। इसकी तुलना करें:

    blkid | grep -i efi
    grep -i efi /etc/fstab
    

    यदि वर्तमान EFI विभाजन UUID (से blkid) में से एक में भिन्न होता है /etc/fstab, तो /etc/fstabवर्तमान UUID के साथ अद्यतन करें ।

  10. यदि सब कुछ त्रुटियों के बिना काम किया है, तो आप सभी सेट हैं:

    exit
    sudo reboot
    
  11. इस बिंदु पर, आपको सामान्य रूप से बूट करने में सक्षम होना चाहिए।

यदि आप सामान्य रूप से बूट नहीं कर सकते, और चरण 8 नहीं किया क्योंकि कोई त्रुटि संदेश नहीं थे, तो चरण 8 के साथ फिर से प्रयास करें।

  • कभी-कभी GRUB2 को आपके विभाजन के लिए सही कॉन्फ़िगरेशन देना पर्याप्त नहीं है, और आपको वास्तव में इसे स्थापित करना होगा (या इसे पुनः स्थापित करना होगा) मास्टर बूट रिकॉर्ड, जो चरण 8 करता है। उपयोगकर्ताओं को चैट में मदद करने के अनुभव से पता चला है कि जब कोई त्रुटि संदेश नहीं दिखाया जाता है तब भी चरण 8 कभी-कभी आवश्यक होता है।

1
टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
थॉमस वार्ड

मैं अब भी चाहता हूं कि विंडोज मेरा प्राथमिक बूट ओएस हो। क्या यह अभी भी सही है? मैं किस OS को बूट करने के लिए चुनूं? F11?
जेफ

1
@ScottSeverance मैंने आपके प्रोफ़ाइल से देखा कि आप DFW में रहते हैं। क्या आपने लिनक्स में लोगों को गहराई से जानने के लिए कक्षाएं या लाइव ट्यूटोरियल देने पर विचार किया है?
मोहम्मद जोरेद

1
ये समस्याएं पुरानी नहीं हैं: D - ऐसा नहीं है कि EFI से निपटने के दौरान, आपको स्थापित करने की आवश्यकता हो सकती है grub-efi-amd64और यदि आप सुरक्षित बूट का उपयोग कर रहे हैं तो आप उपयोग करना चाहते हैं grub-install --uefi-secure-boot। यह भी में विस्तृत है superuser.com/a/376471/197980
Raffael

1
यह समाधान कंप्यूटर पर विंडोज 10 के लिए BIOS (यानी यूईएफआई नहीं) के लिए भी लागू है। वह प्रश्न जिसके बारे में आपके द्वारा इस टिप के साथ उत्तर दिया जा सकता है - thewindowsclub.com/check-if-uefi-or-bios
okolnost

115

विंडोज इंस्टॉलर सिस्टम में अन्य ओएस के बारे में परवाह नहीं करता है। तो यह मास्टर बूट रिकॉर्ड पर अपना कोड लिखता है। सौभाग्य से समाधान भी आसान है।

आपको MBR को सुधारने की आवश्यकता है। निम्न कार्य करें

एक लाइव usb / ubuntu के सीडी का उपयोग कर बूट। boot-repairसमस्या को ठीक करने के लिए उपयोग करें ।

लाइव यूएसबी / सीडी के साथ बूटिंग के बाद, टर्मिनल में कमांड का पालन करें:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

का उपयोग करें Recomended Repair

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

अधिक जानकारी - https://help.ubuntu.com/community/Boot-Repair


2
आप Microsoft लोगों द्वारा इसके इरादे कहने का मतलब है ?? साथ ही दोहरी बूटिंग ने विंडोज 7 के साथ काम किया, तो क्या यह आपकी पहली पंक्ति के विपरीत नहीं है कि "विंडोज इंस्टॉलर सिस्टम में अन्य ओएस के बारे में परवाह नहीं करता है।"
शगुन सोढानी

विन्डोज़ हर समय एक बहुत ही सामान्य समस्या बन जाता है और एक ive को अपने आप से निपटना पड़ता है। जवाब अभी भी अच्छा है और समस्या को ठीक करना चाहिए।
डेमियन

6
आपने विंडोज 7 को पहले लिनक्स स्थापित किया है। इसलिए लिनक्स मान्यता प्राप्त खिड़कियों को नहीं पहचानता है। Ttry विंडोज 7 को फिर से इंस्टॉल करना, आप देखेंगे कि मेरा क्या मतलब था।
वेब-ई

ऐसा न करें जब आपने विभाजन (लुक्स) एन्क्रिप्ट किया है, तो यह गड़बड़ कर दिया। यह GRUB को apt-get के साथ पुनः स्थापित करता है - कोई विचार नहीं कि यह क्यों कर रहा है।
मेंग तियान

1
बूट रिपेयर विरासत मोड को बहुत अच्छी तरह से सपोर्ट करता है, शायद आपको विरासत मोड में लाइव सीडी / usb बूट करने की आवश्यकता है @fuzzyanalysis :)
वेब-ई

25

एक लाइव उबंटू USB पेनड्राइव या सीडी से बूट करें और
निम्न चरणों का पालन करके ubuntu पर बूट-रिपेयर इंस्टॉल करें

टर्मिनल खोलें और निम्न कमांड चलाएं

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

इंस्टॉलेशन पूरा करने के बाद आप इसे सिस्टम-> एडमिनिस्ट्रेशन-> बूट-रिपेयर मेनू से लॉन्च कर सकते हैं यदि आप Gnome का उपयोग करते हैं, या यदि आप एकता का उपयोग करते हैं तो डैश में "बूट-रिपेयर" खोजें। फिर निम्नलिखित स्क्रीनशॉट का पालन करें:

विधि 1

  • उन्नत विकल्पों पर क्लिक करें

प्राथमिक स्क्रीन

  • नीचे दिखाए गए विकल्पों पर टिक करें

अग्रिम विकल्प

  • टैब को ग्रब लोकेशन टैब में बदलें और टिक को विकल्प में दर्शाया गया है

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

सिस्टम को लागू करें और रिबूट करें दबाएं

विधि 2

  • पहले स्क्रीनशॉट में दिखाए अनुसार अनुशंसित बूट मरम्मत विकल्प चुनें

प्रलेखन:


वेब-ई ने पहले ही यह जवाब दे दिया था । हो सकता है कि एक के बजाय में सुधार? मैंने इस पर टिप्पणी नहीं की कि यह काम क्यों नहीं किया।
डैन डस्केल्सस्कु

2
यह विधि मेरे लिए एक विशेष रूप से गंदा मामला है विंडोज 10 अपडेट के बाद जीआरयूबी को अधिलेखित करने और फिर अपने स्वयं के बूट लोडर को तोड़ने के बाद काम किया। इस प्रक्रिया के बाद विंडोज और लिनक्स दोनों वापस मिल गए। मेरे मामले में यह लिनक्स टकसाल 18.1 था, और बूट-मरम्मत मेनू थोड़ा अलग दिखता था, लेकिन यह सब ठीक काम करता था। धन्यवाद!
TheBigH

11

बस easyBCDविंडोज 7 में स्थापित करें और करें

नई प्रविष्टि> लिनक्स / बीएसडी> (चयन करें) ग्रब 2> (पुश) जोड़ें प्रविष्टि जोड़ें

फिर आप Grub2 (पिछले बूटलोडर) पर जाने के लिए विंडोज 7 बूटलोडर पर उबंटू चुन सकते हैं ।


3
ये निर्देश अकेले ग्रब बूटलोडर को पुनर्स्थापित नहीं करते हैं - जब मैंने उन्हें आज़माया, तो उन्होंने विंडोज में एक अतिरिक्त बूट विकल्प जोड़ा जो चयन पर, मेरी मशीन को फिर से शुरू किया और फिर मुझे एक ग्रब> प्रॉम्प्ट पर ले गया। तो आगे क्या करना है, इसके लिए एक और कदम की आवश्यकता होगी।
उपवास

1
easyBCD ने मुझे बूट विकल्प जोड़ने और हटाने की अनुमति दी, जिसे मैं विंडोज बूट लोडर और BIOS दोनों में देख सकता था, लेकिन उन्होंने कभी काम नहीं किया क्योंकि लिनक्स विभाजन को खोजने के लिए easyBCD किसी प्रकार के स्वचालित जादू पर निर्भर करता है ... यह तब काम नहीं करता था जब मेरा लिनक्स विभाजन एक अलग हार्डड्राइव पर था।
फजी एनालिसिस

6

EFI- आधारित सिस्टम (जैसे कि ज्यादातर सिस्टम जो विंडोज 8 या बाद में भेजते हैं) पर, विंडोज कभी-कभी अपने बूट लोडर को अपडेट करेगा या डिफ़ॉल्ट बूट लोडर होने के लिए इसे रीसेट करेगा। यह विशेष रूप से सामान्य है जब ओएस को फिर से स्थापित किया जाता है या एक प्रमुख सिस्टम अपडेट (उदाहरण के लिए नवीनतम विंडोज रिलीज में अपग्रेड) किया जाता है। ध्यान दें कि Windows वास्तव में EFI- आधारित कंप्यूटर पर किसी भी GRUB फ़ाइलों को मिटाने की संभावना नहीं है। उबंटू बूट करने के लिए आवश्यक सब कुछ अभी भी जगह में है; यह सिर्फ बाईपास हो रहा है। इन मामलों में, GRUB की एक पूर्ण पुनः स्थापना ओवरकिल है, और वास्तव में यह एक (छोटे) मौका देता है कि यह नई समस्याएं पैदा करेगा।

इस प्रकार, इन मामलों में GRUB को फिर से स्थापित करने के बजाय, मैं डिफ़ॉल्ट होने के लिए GRUB (या जो भी बूट लोडर या बूट प्रबंधक आपको पसंद करता हूं) को रीसेट करने की सलाह देता हूं। ऐसा करने के कई तरीके हैं, जिनमें शामिल हैं:

  • ईज़ीयूईएफआई - बूट ऑर्डर को समायोजित करने का सबसे आसान तरीका, अगर सिस्टम सीधे विंडोज में बूट हो रहा है, तो ईजीयूईएफआई का उपयोग करना है, जो ईएफआई बूट ऑर्डर के प्रबंधन के लिए एक निशुल्क (मूल संस्करण के लिए) थर्ड-पार्टी जीयूआई टूल है। यह बहुत आत्म-व्याख्यात्मक है - ubuntuबूट विकल्पों की सूची में प्रविष्टि का पता लगाएं और इसे सूची के शीर्ष पर ले जाएं। अगली बार जब आप रिबूट करें, GRUB ऊपर आना चाहिए। (यदि आप GRUB के अलावा किसी अन्य चीज का उपयोग करते हैं, तो आपको इसकी प्रविष्टि का पता लगाने की आवश्यकता होगी।)
  • bcdedit- bcdeditGRUB को डिफॉल्ट बूट ऑर्डर पर सेट करने के लिए विंडोज टूल का इस्तेमाल किया जा सकता है। आदेश bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, एक में टाइप प्रशासक कमांड प्रॉम्प्ट विंडो, यह कर देगा; हालाँकि, यदि आपका कंप्यूटर सिक्योर बूट सक्रिय के साथ बूट करता है, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efiतो इसकी आवश्यकता होगी। वास्तव में, बाद वाली कमांड आमतौर पर काम करेगी भले ही सिक्योर बूट उपयोग में न हो, इसलिए मैं पहले उस कमांड का उपयोग करूंगा। ध्यान दें कि एक अधिक उन्नत विंडोज शेल टूल है जिसे मैंने प्रस्तुत करने की तुलना में थोड़ा अलग सिंटैक्स की आवश्यकता है, लेकिन मुझे विवरण याद नहीं है।
  • उबंटू में एक बार का बूट - अधिकांश ईएफआई एक अंतर्निहित बूट प्रबंधक प्रदान करते हैं, जो एक फ़ंक्शन कुंजी, Esc, या सिस्टम प्रारंभ प्रक्रिया में जल्दी से प्रवेश करके पहुंचता है। संभावना ubuntuबूट उबंटू की प्रविष्टि इस बूट प्रबंधक मेनू में दिखाई देगी, जिससे आप उबंटू में बूट कर सकेंगे। वैकल्पिक रूप से, आप एक उबंटू आपातकालीन माध्यम को बूट कर सकते हैं, जैसे कि इंस्टॉलर "इंस्टॉल करने से पहले प्रयास करें" में बूट किया गया है। किसी भी तरह से, आप फिर efibootmgrबूट क्रम को समायोजित करने के लिए उपयोग कर सकते हैं :
    1. sudo efibootmgrबूट प्रविष्टियाँ देखने के लिए टाइप करें।
    2. वर्तमान BootOrderलाइन पर ध्यान दें ।
    3. प्रवेश के लिए पता लगाएँ ubuntuऔर इसकी Boot####संख्या नोट करें ।
    4. sudo efibootmgr -o xxxx[,yyyy,zzzz,....]बूट ऑर्डर को बदलने के लिए टाइप करें, जिससे xxxxउबंटू के लिए नंबर बन जाए। उसके बाद जो आता है वह सबसे महत्वपूर्ण नहीं है, हालाँकि मैंने नोट किया है कि विंडोज बूट सूची के शुरू होने पर खुद को वापस जोड़ने की संभावना रखता है यदि यह सूची में नहीं है। इस प्रकार, आपको संभवतः यह सुनिश्चित करना चाहिए कि विंडोज सूची में है, और सूची को फिर से ऑर्डर करने के लिए यह सबसे सुरक्षित हो सकता है ताकि सभी मूल प्रविष्टियां हों, बस ubuntuप्रविष्टि सूची के शीर्ष पर स्थानांतरित हो गई।
  • फर्मवेयर सेटअप उपयोगिता - कुछ EFIs की सेटअप उपयोगिताएँ आपको बूट क्रम को समायोजित करने में सक्षम बनाती हैं। विवरण एक ईएफआई से दूसरे में बहुत भिन्न होता है, इसलिए मैं बारीकियों में नहीं जाऊंगा, लेकिन आप अपनी सेटअप उपयोगिता में इस तरह के विकल्प की तलाश कर सकते हैं।

इन प्रक्रियाओं पर अन्य वेरिएंट हैं, जैसे कि bcfgEFI शेल का उपयोग करना bless, macOS में उपयोग करना, मेरे rEFInd का उपयोग करके एक-बार बूट करना, आदि। मैं EasyUEFI के साथ शुरू करूँगा, हालाँकि; यह सबसे सरल समाधान होने की संभावना है। कभी-कभी विंडोज अपने आप को हर बार शुरू होने पर डिफ़ॉल्ट बनाने पर जोर देता है, हालांकि, और रिपोर्टों से संकेत मिलता है कि bcdeditउस समस्या से निपटने के लिए बेहतर काम कर सकता है।

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


1
EFIs बिल्ड-इन बूट प्रबंधक के माध्यम से एक बार बूटिंग (मेरे मामले में फेडोरा 28) में बूट करने से मुझे efibootmgrबूट-ऑर्डर को फिर से ऑर्डर करने के लिए उपयोग करने की अनुमति मिली (जैसा कि रॉड -> धन्यवाद!) जो एक win10 द्वारा गड़बड़ किया गया था। अपडेट करें। बाद में GRUB-bootmanager दिखाई देता है जैसा कि उसने अपडेट से पहले उपयोग किया था, इसलिए मैं मेरे लिए काम किए गए समाधान की पुष्टि कर सकता हूं। मुझे ईज़ीयूईएफआई का मूल संस्करण नहीं मिल पाया है लेकिन केवल गैर-मुक्त प्रो-संस्करण का परीक्षण संस्करण प्रस्तुत किया गया है।
एंटीप्लेक्स

5

अब एक सरल उपाय है:

  1. रिबूट करें, और अपने कंप्यूटर के BIOS विकल्प (F2, या कभी-कभी F11) दर्ज करें।
  2. बूट मेनू पर जाएं , और बूट डिवाइस प्राथमिकता का चयन करें
  3. जांचें कि क्या विंडोज बूट मैनेजर मुख्य बूट ड्राइव (आमतौर पर एसएटीए एचडीडी ... या आईडीई एचडीडी ... ) से ऊपर है। यदि ऐसा है, तो बूट बूट प्राथमिकता को विंडोज बूट मैनेजर के ऊपर ले जाएं।
  4. अपने BIOS विकल्प सहेजें, और बाहर निकलें (आमतौर पर F10)।

यह एक सैमसंग सीरीज 7 क्रोनोस लैपटॉप डुअल बूटिंग विंडोज 8 और उबंटू 13.10, सुरक्षित बूट अक्षम, यूईएफआई और लीगेसी बूट सक्षम पर परीक्षण किया गया है।


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

विंडोज 10 ऑटो-अपडेट के बाद मेरे लिए भी यह काम कर गया।
luis_js

इस समाधान ने मेरे लिए काम किया जब मैंने उबंटू को विंडोज़ 10 से हटा दिया।
विकास गुप्ता

3

बूट-रिपेयर ने मेरे लिए काम किया। चित्रमय एप्लिकेशन का उपयोग करना बहुत आसान है, आपको कमांड लाइन का उपयोग करने की आवश्यकता नहीं है, आपको केवल एक बटन क्लिक करना है :)

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

बस एक उबंटू लाइव सीडी को बूट करें, बूट-मरम्मत स्थापित करें और इसे चलाएं।


यह अच्छा होगा यदि बूट रिपेयर प्राप्त करने का एक आसान तरीका है, हालांकि। chrootइंस्टॉल करने के लिए किसी अन्य टूल के लिए Google की तुलना में बस मरम्मत करना तेज़ है ।
स्कॉट सेवेंस

2

जब GRUB टूट जाता है, तो उपयोगकर्ता के पास आमतौर पर सिस्टम तक पहुंच नहीं होती है, इसलिए मरम्मत को लाइव-सेशन (लाइव-सीडी या लाइव-यूएसबी) से किया जाना चाहिए।

GRUB ब्रेक के कई संभावित कारण हैं: MBR पर Windows लेखन, DRM GRUB को सही तरीके से स्थापित करने से रोक रहा है, इंस्टॉलर बग, हार्डवेयर परिवर्तन ... स्कॉट द्वारा शुरू में प्रस्तावित GRUB को अपडेट करना आम तौर पर पर्याप्त नहीं है, GRUB को पुनः स्थापित करना जैसा कि मार्को द्वारा प्रस्तावित है। और अधिक कुशल, लेकिन फिर भी विभिन्न स्थितियों में अन्य ट्वीक्स की आवश्यकता होती है (कर्नेल में विकल्प जोड़ना, GRUB मेनू को अनहाइड करना, GRUB विकल्प बदलना, सही होस्ट आर्किटेक्चर चुनना ...)। GRUB की मरम्मत के लिए अन्य कठिनाइयाँ हैं चुरोट का उपयोग, और सही विभाजन / डिस्क का चुनाव।

यह सब थोड़ा ग्राफिकल टूल में आसान बनाया गया है: बूट-रिपेयर । इसे आसान उपयोग के लिए उबंटू 12.04 सीडी में एकीकृत किया जाएगा, लेकिन अब इसकी आवश्यकता वाले लोगों के लिए, पहले से ही इसे एकीकृत करने वाले कुछ डिस्ट्रोस हैं: उबंटू-सुरक्षित-रीमिक्स (उबंटू सीडी एकीकृत बूट-मरम्मत), बूट-रिपेयर-डिस्क (सीडी रनिंग बूट) स्टार्ट-अप पर -Repair), ...

उम्मीद है की यह मदद करेगा।


1

स्कॉट और वेब-ई द्वारा दिए गए उत्तर काफी अच्छे हैं और कई बार बहुत मदद की है। लेकिन कई बार, बूट-रिपेयर टूल i386 और amd64 प्लेटफ़ॉर्म से संबंधित समस्याओं के कारण ग्रब की मरम्मत करने में सक्षम नहीं होता है या जहां ग्रब efiडायरेक्टरी नहीं खोज पाता है ।
मेरी समस्या को 10 से अधिक बार हल किया गया है, पुराने ग्रब प्रतिष्ठानों को मैन्युअल रूप से शुद्ध करना और एक नया स्थापित करना है।

तो पहले स्कॉट के जवाब से पहले 6 चरणों का प्रदर्शन करें जहां आप 5 वें चरण को छोड़ सकते हैं यदि यह एक त्रुटि देता है:

  1. "कोशिश Ubuntu" मोड में लाइव सीडी या लाइव यूएसबी से बूट करें।
  2. अपने मुख्य विभाजन की विभाजन संख्या निर्धारित करें। sudo fdisk -l, sudo blkidया GParted (जो पहले से ही स्थापित होना चाहिए, डिफ़ॉल्ट रूप से, लाइव सत्र पर) यहां आपकी मदद कर सकता है। मैं इस उत्तर में यह मानने जा रहा हूं कि यह है /dev/sda2, लेकिन सुनिश्चित करें कि आप अपने सिस्टम के लिए सही विभाजन संख्या का उपयोग करते हैं!

    यदि आपका मुख्य विभाजन LVM में है , तो डिवाइस इसके बजाय /dev/mapper/, सबसे अधिक संभावना में स्थित होगा , /dev/mapper/{volume}--{os}-rootजहां {volume}LVM वॉल्यूम नाम है और {os}ऑपरेटिंग सिस्टम है। ls /dev/mapperसटीक नाम के लिए निष्पादित करें।

  3. अपना विभाजन माउंट करें:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2
    

    तो आपको एक अलग है, तो /boot, /varया /usrविभाजन , दोहराएँ चरण 2 और 3 के लिए इन विभाजनों माउंट करने के लिए /mnt/boot, /mnt/varऔर /mnt/usrक्रमशः। उदाहरण के लिए,

    sudo mount /dev/sdXW /mnt/boot
    sudo mount /dev/sdXY /mnt/var
    sudo mount /dev/sdXZ /mnt/usr
    

    संबंधित विभाजन संख्याओं के साथ प्रतिस्थापित करना sdXW, sdXYऔर sdXZ

  4. कुछ अन्य आवश्यक सामान बांधें:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. यदि उबंटू ईएफआई मोड में स्थापित है ([इस उत्तर को देखें यदि आप अनिश्चित हैं] [एएफआई]), तो sudo fdisk -l | grep -i efiअपने ईएफआई विभाजन को खोजने के लिए उपयोग करें या जीपीआरटी। इसका एक लेबल होगा EFIsdXYअपने सिस्टम के लिए वास्तविक विभाजन संख्या के साथ इस विभाजन को माउंट करें :

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot अपने Ubuntu स्थापित में:

    sudo chroot /mnt
    

फिर इन चरणों को करें:

  1. सभी लंबित पैकेज कॉन्फ़िगर करें।
    sudo dpkg --configure -a
  2. टूटे हुए पैकेज को ठीक करें।
    sudo apt install -fy
  3. वर्तमान ग्रब निकालें।
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    यह आपको चेतावनी दे सकता है कि आपके डिवाइस में कोई बूटलोडर नहीं होगा और अगली बार बूट करने में असमर्थ हो सकता है। आगे बढ़ो और इसे स्वीकार करो।
  4. sudo apt install -y grub-pc
    इस कमांड को चलाने के बाद, यह आपको sdXYबूट लोडर को इंस्टॉल करने के लिए करंट को इंगित करने के लिए कहेगा । खोजें कि आपका वर्तमान ओएस sudo fdisk -lकमांड का उपयोग करके कहाँ स्थापित है । इसे लेबल किया जाएगा LinuxTabकुंजी का उपयोग करके उस विंडो को नेविगेट करें और कुंजी का उपयोग करके एक विकल्प चुनें Space
  5. यदि सब कुछ सही हो जाता है, तो ग्रब सही ढंग से स्थापित किया जाएगा। आप sudo grub-updateदोहरी जांच के लिए भी कर सकते हैं ।

यदि समस्या अभी भी बनी हुई है, तो आप आर्क की विकी को पढ़ सकते हैं ताकि वास्तव में कई अन्य प्रकार की समस्याओं से निपटने के लिए ग्रब के बारे में समझ सकें। (हां, उबंटू के लिए भी मदद करता है!)।


0

विंडोज लिनक्स विभाजन को नहीं देखता है। आपको लाइवसीडी से gparted का उपयोग करने और बूट फ्लैग के साथ एक प्राथमिक विभाजन स्वरूपित NTFS बनाने की आवश्यकता है।

कुछ के पास कुछ समस्याएँ हैं यदि नया प्राथमिक विभाजन विस्तारित विभाजन के बाद है क्योंकि विंडोज हमेशा विभाजन तालिका को सही ढंग से रीसेट नहीं करता है। सबसे अच्छा बैकअप और विभाजन तालिका का एक अलग बैकअप है।

पाठ फ़ाइल में बैकअप विभाजन तालिका और बाहरी डिवाइस पर सहेजें।

sudo sfdisk -d /dev/sda > PTsda.txt

यह केवल MBR (msdos) सिस्टम के लिए है। यदि आपकी उबंटू इंस्टॉल जीपीटी विभाजन ड्राइव में है तो आप केवल यूईएफआई मोड में विंडोज स्थापित कर सकते हैं या ड्राइव को एमबीआर (एमएसडोस) में बदल सकते हैं।


Sfdisk और fdisk के नए संस्करण जो 16.04 या बाद में gpt विभाजन ड्राइव के साथ काम करते हैं, ऊपर दिए गए कमांड के साथ gpt पार्टीशन ड्राइव का भी बैकअप लेंगे। ओल्डफ्रेड को याद नहीं है कि उसने कल रात खाने के लिए क्या खाया था, इसलिए सुनिश्चित नहीं था कि उसने 2013 में क्या पोस्ट किया था। :)
ओल्डफ्रेड

हाय फ्रेड जब मैं कल रात खाना भूलकर खाना बना रहा हूं तो यह एक आशीर्वाद है। हमने अपनी पिछली टिप्पणियों को हटा दिया।
विनयुनुच्स

0

केवल fsckकमांड grub-rescueने मेरे लिए स्क्रीन को ठीक किया ।

लाइव-सीडी से बूट करने के लिए बूट-रिपेयर का उपयोग करें , फिर टर्मिनल खोलें

सही उपकरण प्राप्त करें:

sudo fdisk -l

बूट डिवाइस को खोजने की आवश्यकता है, बूट डिवाइस *यहां बूट श्रेणी के तहत है:

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2000895   1998848  976M 82 Linux swap / Solaris
/dev/sda2  *    2000896 943716351 941715456  449G 83 Linux

अब डिस्क का उपयोग करके मरम्मत करें:

sudo fsck /dev/sda2 -y

नोट: / dev / sda2 इस उदाहरण में बूट डिवाइस है।

पूरा होने पर रिबूट करें। किया हुआ।


0

स्कॉट सेवरेंस का जवाब मान्य और विस्तृत है, लेकिन एक संकल्प है जिसे किसी बाहरी बूट डिवाइस की आवश्यकता नहीं है और इसलिए आपके सभी Ubuntu विभाजन को पहचानने और मैन्युअल रूप से माउंट करने की आवश्यकता नहीं है chroot

विंडोज 10 में, आप Advanced Recoveryबूट करने के लिए एक उपकरण (विभाजन?) का चयन करने के लिए उपयोग कर सकते हैं ।

पर जाएं Settingsऔर चुनें Update & Security:

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

यहां जाएं Recovery:

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

से Advanced StartupचुनेंRestart Now

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

फिर चुनें Use a Deviceऔर सभी बूट विकल्प आपके सामने प्रस्तुत किए जाने चाहिए। Then ubuntu ’विभाजन चुनें और आपके पीसी को उस विभाजन से बूट होना चाहिए।

एक बार जब मैंने अपने सामान्य उबंटू वातावरण में बूट किया, तो मैंने बस चलाने की कोशिश की, grub-updateलेकिन इसमें कोई बदलाव नहीं हुआ।

मैंने तब अपना /boot/efiविभाजन पाया जो कि था और फिर /dev/nvme0n1p1चला ।sudo grub-install /dev/nvme0n1p1sudo update-grub

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


0

मेरे पास एक अलग मुद्दा था, (शायद) boot-repairअपने /etc/grub.d/टेम्पलेट्स को पोंछकर, मेरे प्रश्न में यहाँ उल्लिखित किया गया: उबंटू 18.04 विंडोज 10 स्थापित करने के लिए बूटिंग नहीं

जैसा कि @karels टिप्पणी द्वारा बताया गया है, ग्रब कॉन्फिग को फाइलों में प्रयोग करके उत्पन्न किया जाता है /etc/grub.d। मेरी निर्देशिका में केवल वही समाहित था /etc/grub.d/25_custom, जिसमें गैर-विद्यमान .efi छवियों की ओर इशारा करते हुए अजीब मेनू प्रविष्टियाँ थीं। ऐसा लग रहा था कि मेरे /etc/grub.dखाके शायद द्वारा लगाए गए थे boot-repair

मैंने इसे ठीक किया:

  1. लाइव सीडी के साथ बूट (शायद एक ही उबंटू संस्करण का उपयोग करने के लिए महत्वपूर्ण है)
  2. sudo mount /dev/sdxx /mnt
  3. sudo cp /etc/grub.d/* /mnt/etc/grub.d/
  4. sudo update-grub
  5. दर्द के 48 घंटों के बाद रिबूट और आराम करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.