"EFI चर इस प्रणाली पर समर्थित नहीं हैं"


19

मैं एक नया (और बहुत भद्दा) एचपी पैविलियन 15 नोटबुक में आर्क लिनक्स स्थापित करने का प्रयास कर रहा हूं।

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

chrootएड करते समय , मैं निष्पादित करता हूं:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug

यह एक टन उत्पादन का उत्सर्जन करता है, जिसमें शामिल हैं:

इस सिस्टम पर EFI वैरिएबल समर्थित नहीं हैं

पहली बार जब मैं इस बिंदु पर गया, तो मैंने इंस्टॉलेशन जारी रखा, यह नहीं जानते हुए कि क्या यह एक वास्तविक समस्या थी। यह पता चला है, जब मैंने मशीन को रिबूट किया था तो कोई बूट करने योग्य माध्यम नहीं पाया जा सकता था और मशीन ने बूट करने से इनकार कर दिया था। मैं उस बिंदु पर UEFI सेटअप मेनू में जाने और बूट करने के लिए एक EFI फ़ाइल का चयन करने में सक्षम था, और आर्क लिनक्स बूट होगा।

लेकिन मैं अब वापस जा रहा हूं और फिर से पुनः स्थापित कर रहा हूं, ऊपर की समस्या को ठीक करने की कोशिश कर रहा हूं।

मुझे सही तरीके से स्थापित करने के लिए GRUB कैसे मिल सकता है?

जवाबों:


20

समस्या बस इतनी थी कि efivarsकर्नेल मॉड्यूल लोड नहीं किया गया था।

इसके द्वारा पुष्टि की जा सकती है:

sh-4.2# efivar-tester
UEFI variables are not supported on this machine.

यदि आप chrootअपने नए इंस्टॉल, एड exitऔर फिर सक्षम करने के लिए एड कर रहे हैं efivars:

exit
modprobe efivars

... और फिर chrootवापस मेरे मामले में, इसका मतलब है:

chroot /mnt

लेकिन आपको chrootवही करना चाहिए जो आपने पहले किया था।

एक बार वापस अंदर जाएँ, फिर से परीक्षण करें:

efivar-tester

यह अब एक त्रुटि की रिपोर्ट नहीं करेगा, और आप उसी तरह से ग्रब स्थापित कर सकते हैं जैसा आपने पहले किया था।

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug


5
लेकिन उस प्रणाली का क्या जो यूईएफआई का समर्थन नहीं करती है? दुनिया में कैसे मैं अपने USB स्टिक पर UEFI- सक्षम GRUB को एक नए UEFI कंप्यूटर पर आर्क स्थापित करने के लिए स्थापित करता हूं अगर मेरा काम करने वाला कंप्यूटर UEFI का समर्थन नहीं करता है? यह करने का एक तरीका होगा!
trusktr

6
Efivars मॉड्यूल को अब "efivarfs" से बदल दिया गया है ( wiki.debian.org/UEFI#efibootmgr_and_efivar )।
पेड्रोपरो

1
modprobe efivarfsकाम करते समय , ओपी द्वारा वर्णित समस्या बनी रहती है। शायद इस जवाब को अपडेट की जरूरत है? मैं पूरी तरह से विचारों से बाहर चल रहा हूँ।
अफ्र

3
दुःख modprobe efivarsदेता है modprobe: FATAL: Module efivars not found in directory /lib/modules/4.16.3-301.fc28.x86_64(हौसले से स्थापित लाइव usb)
jozxyqk

5

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


4

मुझे पता है, यह बहुत पुराना धागा है, लेकिन शायद किसी के लिए मदद करेगा। अधिकांश मार्गदर्शिकाएँ चिरोट से पहले आभासी फाइल सिस्टम को माउंट करने के लिए समान समाधान का सुझाव देती हैं:

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

लेकिन अब (शायद efivars / efivarfs परिवर्तन से संबंधित) यह लूप एक बहुत ही विशेष उप- /sys/firmware/efi/efivarsमाउंटपिन को छोड़ देता है - और efibootmgr / grub विफल हो जाता है।

इसलिए इस लाइन का उपयोग करें:

for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done

वास्तविक सफलता की कहानी: आर्क लिनक्स लाइव सीडी द्वारा सहेजे गए 4.9.0-5 (efivars) के साथ डेबियन (सिर्फ इसलिए कि बॉक्स के बाहर uefi बूट कर सकते हैं) 4.14.9-1-ARCH (efivarfs) के साथ सिर्फ बाइंड-माउंटिंग और sys द्वारा / फर्मवेयर / EFI / efivars


0

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

आखिरकार क्या काम किया, लाइव माध्यम से ग्रब का उपयोग कर रहा था, शेल में गिरा, और linuxefi /vmlinuz-<version> root=/dev/mapper/luks-<uuid> ro initrdefi /initramfs-<version>.img boot सामान्य ओएस से दर्ज किया गया, मैं grub2-installबिना चला सकता था chroot, और यह काम किया।

मुझे यकीन नहीं है कि क्या यह सिर्फ मेरे BIOS के साथ एक मुद्दा था, या अभी भी कुछ और आम तौर पर गलत है, लेकिन यह वही है जिसे grub2-installबिना किसी त्रुटि के रिपोर्ट किया गया है।

# Open encrypted root partion cryptsetup luksOpen /dev/sda4 a4 mount /dev/mapper/a4 /mnt mount /dev/sda2 /mnt/boot mount -t proc proc /mnt/proc mount -t sysfs sys /mnt/sys mount -o bind /dev /mnt/dev mount -t devpts pts /mnt/dev/pts/ mount -o bind /etc/resolv.conf /mnt/etc/resolv.conf chroot /mnt # run inside the chroot: mount /dev/sda1 /boot/efi mount -t efivarfs efivarfs /sys/firmware/efi/efivars grub2-install


-3

आप नहीं कर सकते! बिल्डिंग और इंस्टॉल करना दो अलग-अलग चीजें हैं, आपके द्वारा बनाई गई मशीन uefi सक्षम होनी चाहिए। यदि आप uefi पर लिनक्स का उपयोग / स्थापित करना चाहते हैं तो सक्षम हार्डवेयर gpt पहले से मौजूद होना चाहिए। आप uefi पर gpt / mbr का निर्माण कर सकते हैं लेकिन दोनों नहीं अगर आपका हार्डवेयर पुराने बायोस का उपयोग करता है।


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