मैं एक ऐसे ही मुद्दे के बीच में हूँ (संयोगवश आर्च पर भी)
ग्रब इस फ़ाइल को खोजने और चलाने में विफल हो रहा है क्योंकि यह एक गलत "उपसर्ग" का उपयोग कर रहा है
आप को क्या करना है यहां बताया गया है। आप ग्रब बचाव मोड में बूट करते हैं, फिर आप बस यह पता लगाते हैं कि इसे बूट कैसे किया जाए।
सबसे पहले आप सेट करते हैं, यह चर को सूचीबद्ध करेगा, उदाहरण के लिए मेरा है
cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3
अब, उपसर्ग वह चर है जहां ग्रब सामान्य .Mod फ़ाइल के लिए दिखता है। मेरे मामले में HD1, msdos3 रूप में ही है / dev / sdb3 (इसी तरह, hd0, msdos1 होगा / dev / sda1) आप को देखने के लिए वैध विभाजन की एक सूची में प्रकार है क्या करना चाहते हो सकता है क्या ls
अब, मेरे मामले में, फिर से, grub को / dev / sdb1 पर स्थापित किया गया था, जो कि मेरे आर्च विभाजन में / बूट के रूप में लगाया गया था, इसलिए सही उपसर्ग होगा (HD1, msdos1) / grub
तो मेरे लिए बूट करने के लिए, मुझे यह करने की आवश्यकता है:
set prefix=(hd1,msdos1)/grub
insmod normal
normal
आपके मामले में आपको या तो याद रखना होगा या अनुमान लगाना होगा कि आपने किस विभाजन पर ग्रब स्थापित किया है। आप गलत अनुमान लगा सकते हैं, यह कोई नुकसान नहीं करेगा, insmod कमांड बस विफल हो जाएगा और आप फिर से एक और विभाजन के साथ कोशिश कर सकते हैं।
इसके बाद, इसे सामान्य रूप से लोड करना चाहिए, और मैं उस सूची से चुन सकता हूं जिसे मैं बूट करना चाहता हूं। आम तौर पर जब इस तरह की गड़बड़ी होती है, तो अपने मलबे ( ग्रब-इंस्टॉल का उपयोग करके ) ग्रब को फिर से स्थापित करना चाहिए और इसे स्थायी रूप से ठीक करना चाहिए ताकि आपको हर बार बूट करने के बाद ऐसा न करना पड़े। हालांकि मुझे यह पता लगाने में बहुत कठिनाई हो रही है कि क्या करना है अगर इसे ठीक करना आसान नहीं है (या मुझे साझा करना चाहिए कि आपको क्या करना चाहिए)।
केवल अगर यह विफल रहता है (उदाहरण के लिए यदि उपसर्ग सही है, लेकिन आप अभी भी बूट नहीं कर सकते हैं) तो आपको समस्या के आसपास काम करने के लिए जीवित या बचाव सीडी का सहारा लेना चाहिए (इससे बचने के लिए सबसे अच्छा है)
grub-install
। आपको किसी भी चरण को दोहराने की आवश्यकता नहीं है, बस उन्हें लाइवसीडी से चिरोट होने के लिए एक गाइड के रूप में उपयोग करें।