ईएलआईएलओ
मेरे लिए यह तय करना वास्तव में कठिन है कि कौन सा भाग कॉपी पेस्ट करना है क्योंकि यह सब वास्तव में अच्छा है, इसलिए मैं आपसे केवल इसे पढ़ने के लिए कहूंगा।
रॉड स्मिथ
लेखक और दोनों को बनाए रखता है gdisk
और rEFInd
।
लेकिन इससे पहले कि मैं आपको इस पर थोड़ा टिप्पणी करना चाहूँ। ऊपर दिया गया ELILO लिंक UEFI बूटिंग के कई पन्नों में से एक है, जिसे आप रॉड स्मिथ द्वारा लिखित rodsbooks.com पर पाएंगे । वह एक निपुण तकनीकी लेखक हैं, और यदि आपने कभी यूईएफआई बूटिंग के विषय को गुमराह किया है और उनके कुछ भी नहीं पढ़ रहे हैं, तो इसकी संभावना थी क्योंकि आपने शीर्ष कई परिणामों को छोड़ दिया था।
लिनक्स UEFI बूट
मूल रूप से, लिनक्स कर्नेल को फर्मवेयर द्वारा सीधे निष्पादित किया जा सकता है।
ऊपर दिए गए लिंक में उन्होंने लिनक्स कर्नेल के EFI स्टब लोडर का उल्लेख किया है - यह वह है जो आपको उपयोग करना चाहिए, मेरी राय में, क्योंकि यह लिनक्स कर्नेल को फर्मवेयर द्वारा सीधे कॉल करने की अनुमति देता है। भले ही आप कुछ कर रहे हों , फर्मवेयर द्वारा निष्पादित किया जा रहा है - और ऐसा लगता है कि कुछ ऐसा है grub
। यदि फर्मवेयर सीधे आपके ओएस कर्नेल को लोड कर सकता है, तो एक बूटलोडर क्या अच्छा है? यूईएफआई फर्मवेयर एक एफएटी स्वरूपित जीपीटी विभाजन को विभाजन तालिका द्वारा जासूसी करता है और वहां एक पथ निष्पादित करता है जिसे उसने जहाज पर फ्लैश मेमोरी मॉड्यूल में यूईएफआई बूट चर के रूप में सहेजा है। तो एक चीज जो आप कर सकते हैं, वह लिनक्स कर्नेल को उस FAT विभाजन पर रखा जाए और उस बूट वेरिएबल में अपना पथ संचित करें। अचानक कर्नेल अपना है बूटलोडर।
bootloaders
UEFI सिस्टम पर, बूटलोडर्स निरर्थक हैं - ELILO शामिल हैं।
समस्या बूटलोडर्स को हल करने के लिए डिज़ाइन किया गया था कि BIOS सिस्टम केवल बूट फ्लैग्ड विभाजन के पहले सेक्टर में पढ़ा जाता है और इसे निष्पादित करता है। 512 बाइट कर्नेल के साथ कुछ भी सार्थक करना थोड़ा मुश्किल है, इसलिए सामान्य बात यह है कि एक छोटी सी उपयोगिता लिखी गई थी जो एक फाइलसिस्टम को माउंट कर सकती थी जहां आपने वास्तविक कर्नेल रखा था और इसे चेनलोड किया था।
वास्तव में, 512 बाइट्स अक्सर बूटलोडर्स के लिए भी पर्याप्त नहीं होते थे। grub
उदाहरण के लिए, वास्तव में कभी भी अपने कर्नेल को चेनलोड करने से पहले खुद को चेनलोड करता है, क्योंकि यह बूट सेक्टर और आपके फाइल सिस्टम के पहले सेक्टर के बीच खाली जगह में अपना दूसरा चरण रखता है । यह एक गंदे हैक की तरह है - लेकिन यह काम करता है।
Bootmanagers
हालांकि आसान विन्यास के लिए, कुछ गो-उपयोगी उपयोगी हो सकते हैं।
रॉड स्मिथ का rEFInd क्या करता है, इसे EFI एप्लिकेशन के रूप में लॉन्च किया गया है - यह एक अपेक्षाकृत नई अवधारणा है। यह एक ऐसा प्रोग्राम है जो डिस्क से निष्पादित होता है - और यह फ़र्मवेयर पर लौटता है। क्या rEFInd आपको बूट मेनू प्रबंधित करने की अनुमति देता है और फिर फर्मवेयर को निष्पादित करने के लिए अपने बूट चयन को वापस करता है । यह यूईएफआई फाइलसिस्टम ड्राइवरों के साथ आता है - इसलिए, उदाहरण के लिए, आप कर्नेल के ईएफआई-स्टब लोडर को गैर-एफएटी विभाजन (जैसे कि आपका वर्तमान /boot
) पर उपयोग कर सकते हैं । यह प्रबंधन के लिए सरल मृत है - अगर ऐसा कुछ आवश्यक है - और यह एक निष्पादन योग्य सिस्टम कर्नेल की सादगी को एक विन्यास योग्य बूटमैनगर की सुविधा में जोड़ता है।
परमाणु अप्रत्यक्ष
कर्नेल को सीमलिंक की आवश्यकता नहीं है - यह कर सकता है mount --bind
।
अगर आपके रास्ते में कोई रास्ता है /
जहाँ आपको सहानुभूति को अस्वीकार करना चाहिए , तो यह है /boot
। में एक अनाथ सिमलिंक /boot
है नहीं क्या तुमने कभी निवारण करने के लिए होना चाहिए समस्या की तरह। फिर भी, यह /boot
कई वितरणों द्वारा विस्तृत अप्रत्यक्षों को सेटअप करने के लिए एक सामान्य पर्याप्त अभ्यास है - भले ही यह एक भयानक विचार है - ताकि इन-प्लेस कर्नेल अपडेट और / या एकाधिक कर्नेल कॉन्फ़िगरेशन को संभालने के लिए।
यह फ़ाइल सिस्टम ड्रायवर लोड करने के लिए कॉन्फ़िगर नहीं किए गए EFI सिस्टम के लिए एक समस्या है (जैसे कि rEFInd पैकेज के साथ प्रदान की जाती है) क्योंकि FAT समग्र रूप से एक बेवकूफ फाइल सिस्टम है, और यह उन्हें समझ में नहीं आता है।
मैं व्यक्तिगत रूप से rEFInd के साथ प्रदान किए गए UEFI फाइलसिस्टम ड्राइवरों का उपयोग नहीं करता हूं, हालांकि अधिकांश वितरणों में एक rEFInd पैकेज शामिल होता है जिसे पैकेज मैनेजर के माध्यम से स्थापित किया जा सकता है और अपने स्वयं के भयानक सिम्लिंकड /boot
कॉन्फ़िगरेशन और rEFInd के पैक्स UEFI फाइलसिस्टम ड्राइवरों का उपयोग करने के बारे में भूल जाते हैं ।
मेरा विन्यास
मैंने एक बार इस पर निर्देशों का एक सेट लिखा था और इसे यहाँ पोस्ट किया था , लेकिन ऐसा दिखता है:
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
इसलिए मैंने अपने /etc/fstab
फ़ोल्डर में इंगित करने के लिए उन दो पंक्तियों को रखा, जिन्हें मैं नए लिनक्स इंस्टॉलेशन में शामिल करने का इरादा रखता /boot
हूं और मुझे लगभग पूरी बात की चिंता है। मुझे भी करना है:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
पहले एक के refind-efi
माध्यम से पैकेज को स्थापित करने के अलावा pacman
, यह वह सब है जो मुझे चाहिए के रूप में कई अलग-अलग प्रतिष्ठानों / कॉन्फ़िगरेशनों को सेटअप करने के लिए आवश्यक है। ध्यान दें कि ऊपर दिए गए उस स्ट्रिंग के बहुमत में कर्नेल पैरामीटर के रूप में निर्दिष्ट btrfs- विशिष्ट माउंट-विकल्प हैं। एक अधिक विशिष्ट /boot/refind_linux.conf
संभवतः ऐसा दिखेगा:
"Menu Entry" "root=/dev/sda2"
और बस इतना ही लगता है।
rodsbooks.com
यदि आप अभी भी ELILO चाहते हैं तो आप ऊपर दिए गए लिंक पर इंस्टॉलेशन निर्देश पा सकते हैं। यदि आप rEFInd चाहते हैं, तो आपको वहां पहले पैराग्राफ में इसके लिंक मिल जाएंगे। मूल रूप से यदि आप कोई यूईएफआई बूट विन्यास करना चाहते हैं, तो पहले rodsbooks.com पढ़ें ।