अधिकांश वितरण UEFI सिस्टम पर एक अतिरिक्त बूट लोडर स्थापित करते हैं। UEFI अपने आप में एक बूट लोडर है, यह विभिन्न ऑपरेटिंग सिस्टम या व्यक्तिगत कर्नेल का चयन करने के लिए एक मेनू प्रदान करता है। इसके अलावा, यूईएफआई सेटिंग्स को यूजर्स जैसे टूलस्पेस के साथ आसानी से बदला जा सकता है efibootmgr
।
कर्नेल 3.3 के बाद से EFI_STUB का समर्थन करता है, जिसका अर्थ है कि कर्नेल को सीधे UEFI से लोड किया जा सकता है। क्या कारण है कि वितरण एक अतिरिक्त बूट लोडर का उपयोग करने का निर्णय लेते हैं? लिनक्स / यूईएफआई पर अधिकांश ट्यूटोरियल मुख्य रूप से EFI_STUB के साथ लिनक्स को बूट करने के बजाय अतिरिक्त बूट लोडर (rEFInd, grub2, ELILO, आदि) को सेट करने पर ध्यान केंद्रित करते हैं।
वितरण में केवल एक चीज गायब है समर्थन है। चूंकि अधिकांश वितरण एक दूसरे बूट लोडर श्रृंखला को वितरित करते हैं, कर्नेल को UEFI बूट मेनू में नहीं जोड़ा जाता है, न ही इसे EFI सिस्टम विभाजन में कॉपी किया जाता है।
तीन स्क्रिप्ट्स सभी जादू करने के लिए पर्याप्त हैं। एक जो ईपीआर के लिए इनट्रामर्फ्स को कॉपी करता है। एक दूसरा व्यक्ति कर्नेल को ESP में कॉपी करता है और UEFI बूट मेनू में एक नई प्रविष्टि बनाता है। तीसरी स्क्रिप्ट ईएसपी से पुराने कर्नेल और इनट्राम्राम्स को हटा देती है और यूईएफआई बूट मेनू प्रविष्टि को हटा देती है। यह उपयोगकर्ता इंटरैक्शन के बिना पूरी तरह से स्वचालित कर्नेल / initramfs अपडेट / पर्स को अनुमति देता है। मैं एक वर्ष से अधिक समय से इस दृष्टिकोण का उपयोग कर रहा हूं और इसने त्रुटिपूर्ण रूप से काम किया है।
अधिकांश वितरण EFI_STUB के बजाय ग्रब का उपयोग क्यों करते हैं?
लिंक:
संपादित करें: मैं पूरी तरह से ग्रब समर्थन को हटाने के बारे में बात नहीं कर रहा हूं, लेकिन उन लोगों के लिए एक विकल्प प्रदान करने के लिए जो इसे विभिन्न कारणों से उपयोग करना चाहते हैं। वितरण grub-efi
उन लोगों के लिए एक पैकेज प्रदान कर सकते हैं जो UEFI और ग्रब को एक पैकेज देना चाहते हैं और एक पैकेज efistub-boot
जिसमें मेरे द्वारा उल्लिखित स्क्रिप्ट हैं।