ग्रब बचाव - त्रुटि: अज्ञात फाइल सिस्टम


58

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

एक दिन मैं आगे बढ़ा और विभाजन विज़ार्ड को डाउनलोड किया और विंडोज 7 के भीतर से एक तार्किक NTFS विभाजन बनाया, फिर भी कुछ अनछुए स्थान छोड़ दिए गए। जब तक मैंने कुछ दिनों बाद कंप्यूटर को रिबूट नहीं किया, तब तक सब कुछ ठीक रहा।

अब मुझे मिल रहा है:

error: unknown filesystem.  
grub rescue>

सबसे पहले मैं कोशिश करके, किसी भी तरह की हेल्प कमांड नहीं पा रहा था:

help, ?, man, --help, -h, bash, cmd, आदि

अब मैं गैर-बूट करने योग्य प्रणाली के साथ फंस गया हूं। मैंने इस मुद्दे पर शोध करना शुरू कर दिया है और पाया कि लोग आमतौर पर एक लाइव सीडी को बूट करने की सलाह देते हैं और वहां से समस्या को ठीक करते हैं। क्या लाइव सीडी की आवश्यकता के बिना ग्रब रेस्क्यू के भीतर इस मुद्दे को ठीक करने का कोई तरीका है?

अपडेट करें

GRUB बचाव के लिए तैयार पर्सिस्ट कमांड के चरणों का पालन करके , मैं initramfs प्रॉम्प्ट को बूट करने में सक्षम था। लेकिन उससे आगे कहीं नहीं।

ग्रब रेस्क्यू पर मैनुअल पढ़ने से अब तक , मैं lsकमांड का उपयोग करके अपने ड्राइव और विभाजन को देख पा रहा था । पहली हार्ड ड्राइव के लिए मैं निम्नलिखित देखता हूं:
(HD0) (HD0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

अब मुझे पता है कि (HD0, msdos6) ls (hd0,msdos6)/सूची निर्देशिका के बाद से इस पर लिनक्स शामिल है । अन्य लोग "त्रुटि: अज्ञात फाइल सिस्टम" देंगे।

अद्यतन २

निम्न आदेशों के बाद अब मैं बूट मेनू में आ रहा हूं और विंडोज 7 और उबंटू में बूट कर सकता हूं, लेकिन रिबूट करने पर मुझे इन चरणों को दोहराना होगा।

ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal

अद्यतन 3

धन्यवाद शशांक सिंह, आपके निर्देश से मैंने अपने कदमों को सरल बनाया है। मैंने आपसे सीखा है कि मैं msdos6 को सिर्फ 6 के साथ बदल सकता हूं और मैं insmod normalइसके बजाय बस कर सकता हूं insmod /boot/grub/linux.mod। अब मुझे केवल यह पता लगाना है कि इस सेटिंग को किसी भी OS में बूट किए बिना, ग्रब के भीतर से कैसे बचाया जाए।

set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal

अद्यतन 4

ठीक है, ऐसा लगता है कि यह लिनक्स में बूट करने की आवश्यकता है। उबंटू में बूट करने के बाद मैंने मैनुअल में वर्णित निम्न चरणों का पालन किया है :

sudo update-grub
sudo grub-install /dev/sda

इससे समस्या हल नहीं हुई। मुझे अभी भी ग्रब बचाव प्रॉम्प्ट मिलता है। इसे स्थायी रूप से ठीक करने के लिए मुझे क्या करने की आवश्यकता है?

मुझे यह भी पता चला है कि hd0 के रूप में ड्राइव नंबरों को कुछ आज्ञाओं के लिए / dev / sda के रूप में ड्राइव करने के लिए अक्षरों का अनुवाद करने की आवश्यकता है। hd1 sdb होगा, hd2 sdc होगा, और इसी तरह। (HD0, msdos6) के रूप में ग्रब में सूचीबद्ध विभाजन का अनुवाद / देव / sda6 किया जाएगा।

अद्यतन 5

मैं यह पता नहीं लगा सका कि निम्नलिखित ने ग्रब को ठीक क्यों नहीं किया:

sudo update-grub
sudo grub-install /dev/sda

इसलिए मैंने https://help.ubuntu.com/community/Boot-Repair पोस्ट के उत्तर के आधार पर बूट-रिपेयर डाउनलोड किया । "अनुशंसित मरम्मत (सबसे लगातार समस्याओं की मरम्मत)" विकल्प चुनने के बाद मुझे ऐसा करना मुश्किल लग रहा था।


zdnet.com/… के पास इस विषय पर कुछ उपयोगी जानकारी भी है।
K7AAY

इसी तरह की समस्या हो रही है, लेकिन मेरा लाइव यूएसबी भी बेकार है goo.gl/Mr61V1
रमेश

बूट ऑर्डर बदलना, विंडोज 7 रिकवरी सीडी से शुरू करना, टर्मिनल शुरू करना, "बूटरेसी। एक्स / फिक्समब्र" (बिना उद्धरण के) टाइप करना और मेरे मुद्दे को रिबूट करना।
वाणिज्य दूतावास

पिछले अद्यतन 3 में मेरे लिए काम किया, लेकिन अब वही समस्या है। काम नहीं भी मैं ग्रब बचाव में सूचीबद्ध फ़ोल्डरों के साथ की कोशिश की। मैंने ubuntu ISO डिवाइस का उपयोग करके डेटा का बैकअप लेने की कोशिश की है, मौजूदा ubuntu नहीं लिस्टिंग कर रहा है। मेरी मदद करो अब मुझे क्या करना चाहिए?
जैकक्स Jac ’

यह विहित प्रश्न प्रतीत होता है, लेकिन इससे भी पुराना प्रश्न अज्ञात फ़ाइल सिस्टम: ग्रब बचाव है
पीटर मोर्टेंसन

जवाबों:


24

मैं यह पता नहीं लगा सका कि निम्नलिखित ने ग्रब को ठीक क्यों नहीं किया:

sudo update-grub
sudo grub-install /dev/sda

इसलिए मैंने GRUB बचाव पोस्ट में टाइप किए गए पर्सिस्ट कमांड के जवाब के आधार पर बूट-रिपेयर डाउनलोड किया । "अनुशंसित मरम्मत (सबसे लगातार समस्याओं की मरम्मत)" विकल्प चुनने के बाद मुझे ऐसा करना मुश्किल लग रहा था।

मैंने बूट प्रविष्टियों के क्रम को अनुकूलित करने के लिए ग्रब कस्टमाइज़र का भी उपयोग किया है ।


यह काम नहीं किया, क्योंकि अंतिम कमांड चलाने के बाद, आपको फिर से sudo अपडेट-ग्रब चलाने की आवश्यकता होगी। एक लाइव सत्र पर, आपको लक्ष्य फ़ाइल सिस्टम को mnt में माउंट करने की आवश्यकता होगी, फ़ाइल सिस्टम में चुरोट करें और फिर आपको चेरोट से सुडो अपडेट-ग्रब चलाने की आवश्यकता होगी।
मचीद

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

7

इस समस्या का एक वैकल्पिक कारण है। इस विशेष मामले में, GRUB को किसी तरह दूषित किया गया था और मरम्मत या पुनर्स्थापना की आवश्यकता थी। हालाँकि, जैसा कि ग्रब रेस्क्यू में दिखाया गया है कि "बूट फाइल" "एरर फाइल सिस्टम" के साथ फेल हो जाता है , यह भी संभव है कि जिस रूट पर GRUB इंस्टॉल किया गया है वह करप्ट हो सकता है। इसे ठीक करने के लिए:

यह एक संभावित समाधान है, लेकिन इसका उपयोग नहीं किया जाना चाहिए, कहीं ऐसा न हो कि आपका रूट विभाजन और अधिक दूषित हो जाए। कमांड चला रहा है fsck -t ext4 /dev/sda1, यह प्रोग्राम दूषित फ़ाइल सिस्टम पर त्रुटियों को खोजने और सुधारने का प्रयास करता है। अपने वास्तविक रूट विभाजन के साथ sda1 को बदलें। वास्तविक फाइल सिस्टम के साथ ext4 बदलें; आपको फ़ाइल सिस्टम जानना होगा अन्यथा विभाजन अधिक भ्रष्ट हो जाएगा। अधिक जानकारी के लिए दूषित फ़ाइल सिस्टम की मरम्मत करना देखें ।


भले ही इस सवाल का जवाब है, मेरे लिए काम करने वाली समस्या को ठीक करने का एक वैकल्पिक तरीका है। चरणों को दर्दनाक वीडियो ग्रब बचाव - शुरुआती के लिए गाइड में समझाया गया है । संक्षेप में, यह मरम्मत करने के बजाय GRUB 2 को पूरी तरह से पुनर्स्थापित करेगा।

क्योंकि यह वीडियो देखने में बहुत दर्दनाक है, मैं नीचे दिए गए चरणों को सूचीबद्ध करूँगा (जैसा कि मुझे इस बात की परवाह किए बिना होना चाहिए कि वीडियो देखना कितना दर्दनाक है)

  1. उबंटू का एक लाइव सत्र लॉन्च करें। वीडियो में एक लाइव सीडी का उपयोग किया गया है जबकि मैंने एक लाइव यूएसबी का उपयोग किया है। मैंने यह सुनिश्चित किया कि लाइव USB का उबंटू का वही संस्करण था जो मेरे हार्डड्राइव पर था।
  2. पता करें कि आपका रूट विभाजन कहां पर मुहिम की गई थी। वीडियो में, उपयोगकर्ता प्रत्येक ड्राइव के माध्यम से नेविगेट करने के लिए Nautilus का उपयोग करता है जो माउंट किया गया था। यह संख्याओं और वर्णों की एक लंबी स्ट्रिंग के साथ मुहिम की गई थी। यदि यह स्थिति है, तो विभाजन को हटाने के लिए निम्न चरणों का पालन करें। एल्स, चरण 5 पर आगे बढ़ें।
  3. साथ टर्मिनल लाओ Ctrl+ Alt+ Tऔर प्रयोग mountआदेश विभाजन के नाम खोजने के लिए।
  4. विभाजन को माउंट करें। अपने मीडिया फ़ोल्डर में एक नया फ़ोल्डर बनाएँ। sudo mkdir /media/ubuntu। फिर बस उस फ़ोल्डर में अपने विभाजन को माउंट करें। sudo mount /dev/sdxx /media/ubuntuजहां xxके sdxxचरण 3 में निर्धारित किया जाता है।
  5. निम्नलिखित निर्देशिकाओं को अपने लाइव सीडी / यूएसबी की मूल निर्देशिका से अपने मूल निर्देशिका के उबंटू के संस्करण पर बांधें। निर्देशिका dev procऔर हैं sys। निम्न आदेशों के साथ ऐसा करें:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. रूट निर्देशिका को अपने Ubuntu विभाजन पर एक में बदलें। sudo chroot /media/ubuntu/

  7. उपरोक्त कार्य करने के बाद, GRUB 2 को फिर से स्थापित करने से यह उबंटू के आपके वितरण के रूट डायरेक्टरी में स्थापित हो जाएगा, न कि लाइव सीडी / यूएसबी के। इसलिए आगे बढ़ें और दौड़ेंsudo grub-install /dev/sdx

और यह है कि एक लाइव सीडी / यूएसबी का उपयोग करके GRUB को कैसे ठीक किया जाए। यह विधि YouTube उपयोगकर्ता क्रेजीटेकज़ोन द्वारा विकसित की गई थी।


5

उपयोग:

  1. set prefix=(hdX,Y)/boot/grub। पहले से निर्धारित मूल्यों का उपयोग करें।
    उदाहरण: यदि उबंटू प्रणाली sd5 पर है, तो दर्ज करें:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y)। उदाहरण:set root=(hd0,5)
  3. insmod normal। सामान्य मॉड्यूल को लोड करने का प्रयास करें।
  4. normal

हमें मूल रूप से यह जानने के लिए GRUB की आवश्यकता है कि /boot/grubफ़ोल्डर कहाँ है। यदि यह काम नहीं कर रहा है, तो मुझे लगता है कि बूट सीडी से GRUB इंस्टॉल करना एक अच्छा विकल्प है।


आपकी सहायता के लिए धन्यवाद। मुझे लगता है कि मेरी समस्या यह हो सकती है कि मेरी बूट निर्देशिका / dev / sdb पर है, न कि / dev / sda। लेकिन बूट-रिपेयर ने इसे अपने आप ठीक कर दिया, इसलिए मुझे आगे कुछ नहीं करना पड़ा।
user53817

3

मजेदार, मुझे एक घंटे पहले भी यही समस्या थी!

वैसे भी, मैंने यही किया है।

  1. लोड ubuntu:

    set root=(hd0,6)
    set prefix=(hd0,6)/boot/grub
    insmod normal
    normal
    

    चूँकि आपका ubuntu 6 अधिकार में स्थापित है?

  2. रन टर्मिनल:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    

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

2

उबंटू में बूट-मरम्मत स्थापित करें

  1. अपने कंप्यूटर को उबंटू लाइव-सीडी या लाइव-यूएसबी पर बूट करें।

  2. "उबंटू आज़माएं" चुनें

  3. इंटरनेट कनेक्ट करें

  4. एक नया टर्मिनल ( Ctrl+ Alt+ T) खोलें , फिर टाइप करें:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  5. प्रेस करें Enter

  6. फिर टाइप करें:

    sudo apt-get install -y boot-repair && boot-repair
    
  7. प्रेस करें Enter

बूट-मरम्मत का उपयोग करना

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

अनुशंसित मरम्मत

  1. बूट-रिपेयर लॉन्च करें:

    ए। डैश (स्क्रीन के शीर्ष-बाईं ओर उबंटू लोगो)

    ख। या सिस्टम-> प्रशासन-> बूट-मरम्मत मेनू (केवल उबंटू 10.04)

    सी। या किसी टर्मिनल में 'बूट-रिपेयर' लिखकर

  2. फिर "अनुशंसित मरम्मत" बटन पर क्लिक करें। जब मरम्मत समाप्त हो जाती है, तो एक पेपर पर दिखाई देने वाले URL (paste.ubuntu.com/XXXXX) पर ध्यान दें, फिर रिबूट करें और जांचें कि क्या आपने अपने ओएस तक पहुंच प्राप्त की है।

  3. यदि मरम्मत सफल नहीं हुई, तो उन लोगों को URL इंगित करें, जो ईमेल या फ़ोरम द्वारा आपकी सहायता करते हैं।


@penreturn आपका बहुत-बहुत धन्यवाद, इसने शानदार काम किया। : डी
जील शाह

0

समस्या का एक अन्य कारण यह है कि बूट ड्राइव पर फ़ाइल सिस्टम दुर्लभ मामलों में क्रैश हो सकता है। जैसा कि अन्य उत्तरों में उल्लेख किया गया है, मैं शुरू lsमें GRUB बचाव संकेत में सभी ड्राइव / विभाजन को सूचीबद्ध करने के लिए कमांड का उपयोग करता हूं , लेकिन सभी अज्ञात फाइल सिस्टम त्रुटि की रिपोर्ट करते हैं । मैंने अंततः Ubuntu 16.04 (Xenial Xerus) पर फ़ाइल सिस्टम को निम्न प्रकार से ठीक करके समस्या को ठीक किया:

  1. USB स्टिक से बूट करें (बिना इंस्टॉल किए Ubuntu पर जाएं)

  2. बूट ड्राइव को ढूंढें (ड्राइव की क्षमता की जांच करें या fsckप्रत्येक विभाजन पर करें):

    sudo fdisk -l
    
  3. फ़ाइल सिस्टम पुनर्प्राप्त करें:

    sudo fsck /dev/sdb1
    
  4. फ़ाइल सिस्टम ठीक और साफ होने के बाद, बूट ड्राइव से मशीन को रिबूट करें।

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