EFI निर्देशिका नहीं ढूँढ सकता: ग्रब-इंस्टॉल के साथ समस्या


14

मैं लिनक्स में GRUB को बचाने की कोशिश कर रहा था। मैं इस ट्यूटोरियल के बाद ओएस में लॉगिन करने में सक्षम था:

https://www.lisenet.com/2014/grub2-rescue-mode-error-unknown-filesystem/

मुझे समस्या को ठीक करने के लिए GRUB को अपग्रेड करना होगा। हालाँकि, जब मैं दौड़ता हूँ grub-install, मुझे एक त्रुटि मिलती है:

$ grub-install /dev/sda
grub-install: error: cannot find EFI directory.

मेरे फाइल सिस्टम में शामिल है sda4, sda5और sda6EFI प्रणाली, लिनक्स स्वैप, और Linux फाइल सिस्टम के लिए क्रमशः।

मैं माउंट या अन्य कमांड का उपयोग करके बहुत अनुभवी नहीं हूं।

जवाबों:


11

जब आप ग्रब-इन को डिफ़ॉल्ट रूप से चलाते हैं, तो यह मान लेता है कि EFI सिस्टम को / boot / efi के रूप में माउंट किया गया है

यह आपके वितरण पर निर्भर करता है जहां EFI सिस्टम माउंट किया गया है और कुछ वितरणों पर यह बूट के बाद माउंट नहीं किया गया है।

पहले जाँच करें कि क्या / boot / efi के साथ आरोहित है

mount | grep /boot/efi

यदि वह काम नहीं करता है, तो पहले यह देखने की कोशिश करें कि कहीं यह आरोहित तो नहीं है।

mount | grep /dev/[efi device]

यदि उनमें से कोई भी काम नहीं करता है:

mount /dev/[efi device] /mnt

अब चलाएं:

grub-install --efi-directory=[efi dir]
grub-mkconfig -o /boot/grub/grub.cfg

जहाँ [efi dir] या तो / boot / efi या / mnt है और [efi डिवाइस] EFI उपकरण विभाजन वाला उपकरण है। यदि आप नहीं जानते कि कमांड का उपयोग करेंlsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"


2
धन्यवाद, के grub-install --efi-directory=/boot/EFIरूप में मैं में chroot /mnt
कृष्णकांत

शायद बेवकूफ क्यू लेकिन मेरे पास एक ईएफआई डायर नहीं है। मुझे कहां से मिलेगा। मेरा मतलब है कि इसमें फाइलें शामिल हैं, कौन सी कमांड इसे दोबारा बना सकती है?
लेनार्ट रोलैंड

@ LennartRolland यदि आपके पास UEFI संगत प्रणाली है तो आपकी सिस्टम ड्राइव GPT विभाजित होगी और इसमें "UEFI सिस्टम विभाजन" होगा। आमतौर पर पहला विभाजन और EF00 प्रकार का होगा। कई वितरण इसे डिफ़ॉल्ट रूप से / boot / efi के रूप में अन्य चीजों के बीच माउंट करेंगे GRUB बूट लोडर को इसकी फ़ाइलों को अपडेट करने की अनुमति देता है। यदि नहीं, तो आपको इसे स्वयं माउंट करना होगा और इसे fstab में जोड़ना होगा। आपके पास एक UEFI सिस्टम भी हो सकता है लेकिन वह विरासत मोड का उपयोग कर रहा है जिसका अर्थ है कि आपके विभाजन msdos प्रकार होंगे और आपके पास / boot / efi नहीं होगा। वाइडर विन्यास मौजूद हैं लेकिन यह उनमें से अधिकांश को कवर करता है।
jdwolf

यदि ईएफआई माउंट नहीं है तो आपके निर्देश गलत हैं। मेरा संपादन देखें। mount | grep /dev/sda6काम नहीं करता है। यदि ईएफआई माउंट नहीं है, तो आपको प्रकार के विभाजन को जांचना होगा।
जिउती

@giusti शायद विशिष्ट डिवाइस नाम संदर्भ बनाने के लिए बेहतर नहीं है।
jdwolf

1

ग्रब बचाव मोड के रूप में इलाज किया जा सकता है

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

लॉगिन करते ही एंटर करें sudo update-grub && sudo grub-install /dev/sda


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