Systemd-boot, जिसे कभी-कभी "systemd" कहा जाता है और पहले "gummiboot" कहा जाता था, Grub का नया प्रतियोगी है। संगत EFI सिस्टम पर, सिस्टम के ऑपरेटिंग सिस्टम को बूट करने के लिए Grub के स्थान पर systemd-boot का उपयोग किया जा सकता है। एक उच्च-स्तरीय दृष्टिकोण से, systemd-boot UEFI में पहले से मौजूद बूटलोडर से लिंक करता है, ऑपरेटिंग सिस्टम का चयन करने के लिए सबसे बुनियादी फीचर सेट की पेशकश करता है। दूसरी ओर, Grub, जिसे कभी-कभी "पूरे OS" के रूप में वर्णित किया जाता है, को लोड करता है ताकि उपयोगकर्ता के ऑपरेटिंग सिस्टम को बूट करने का प्रबंधन किया जा सके, जो कहीं अधिक क्षमता प्रदान करता है।
बूटलोडर क्या है?
एक बूटलोडर ऑपरेटिंग सिस्टम को लोड करता है। इसे बूट मीडिया पर एक विशेष सेक्टर से मेमोरी में कॉपी किया जाता है और किसी भी ऑपरेटिंग सिस्टम के बूट होने से पहले चलता है। यदि कई बूट करने योग्य सिस्टम इमेज का पता चलता है, तो बूटलोडर उपयोगकर्ता को शुरू करने के लिए सिस्टम का चयन करने की अनुमति देता है। बूटलोडर तब ऑपरेटिंग सिस्टम को बूट करता है और हार्डवेयर नियंत्रण को OS को सौंप देता है। अधिकांश सिस्टम पर बूटलोडर मदरबोर्ड के लिए स्प्लैश स्क्रीन के ठीक बाद दिखाई देता है।
Grub बनाम systemd-boot: Grub क्या है?
GNU GRUB, जिसे आमतौर पर Grub या GRUB 2 के रूप में जाना जाता है, का अर्थ है GRैंड Uनिफाइड Boot इंटरफेस। यह फ्री सॉफ्टवेयर फाउंडेशन के मल्टीबूट विनिर्देश पर आधारित है। यह किसी भी हार्डवेयर प्लेटफॉर्म पर काम करने और वस्तुतः किसी भी बूट मीडिया और फाइल सिस्टम से किसी भी यूनिक्स ऑपरेटिंग सिस्टम को बूट करने के लिए डिज़ाइन किया गया है। क्योंकि यह प्लेटफॉर्म और डिस्ट्रीब्यूशन की एक विस्तृत श्रृंखला को कवर करने के लिए अभिप्रेत है, Grub को आमतौर पर अधिकांश लिनक्स डिस्ट्रो के साथ शिप किए गए डिफ़ॉल्ट बूटलोडर के रूप में उपयोग किया जाता है। यदि आपने किसी लिनक्स बूटलोडर के साथ इंटरैक्ट किया है, तो यह शायद Grub रहा होगा। यह टेक्स्ट, बैकग्राउंड रंग और ग्राफिकल स्प्लैश इमेज जैसे विजुअल कॉन्फ़िगरेशन के लिए विकल्प भी प्रदान करता है। उबंटू का Grub संस्करण, उदाहरण के लिए, कैनोनिकल-ब्रांड बैंगनी का उपयोग करता है।
Grub मल्टीबूट सिस्टम का समर्थन करता है और विशेष रूप से उस उद्देश्य के लिए लिखा गया था। हालांकि, अगर कुछ गलत हो जाता है तो यह थोड़ा मुश्किल हो सकता है। समस्याएं सबसे अधिक तब होती हैं जब मौजूदा मल्टीबूट सिस्टम पर Grub इंस्टॉल करना, OS हटाना, और नए OS इंस्टॉल करना। Grub एक कन्फ़िगरेशन फ़ाइल का उपयोग करता है, इसलिए हर ऑपरेटिंग सिस्टम को उसी फ़ाइल में शामिल किया जाता है, जिसे परिवर्तनों को प्रतिबिंबित करने के लिए संपादित किया जाता है। प्राथमिक ऑपरेटिंग सिस्टम का बूटलोडर MBR में रहता है, और अन्य ऑपरेटिंग सिस्टम अपने स्वयं के पार्टीशन पर बूटलोडर के माध्यम से चेन-लोडेड होते हैं। यह काम करता है, और अधिकांश उपयोग के मामलों के लिए, यह बिल्कुल पर्याप्त है। लेकिन यह एक ऐसी प्रणाली भी है जिसे आसानी से परेशान किया जा सकता है। उदाहरण के लिए, यदि आप चेन-लोडेड कर्नेल को ठीक से कॉन्फ़िगर नहीं करते हैं, तो कई लिनक्स इंस्टॉलेशन MBR के नियंत्रण के लिए "लड़" सकते हैं।
Grub बनाम systemd-boot: systemd-boot क्या है?
लिनक्स प्रशंसकों ने पहले "systemd" नाम का सामना किया होगा। systemd, "सिस्टम डेमन" का संक्षिप्त रूप, लिनक्स सिस्टम चलाने के लिए मौलिक पूर्वापेक्षा डेमन का एक संग्रह है। Systemd-boot कई-हजार-लाइन कोड है और बाकी systemd सूट में कोई निर्भरता नहीं है। हालांकि, इसकी सादगी के लिए धन्यवाद, gummiboot को systemd में जोड़ा गया और इसका नाम "systemd-boot" रखा गया ताकि यह systemd के घटक-नामकरण सम्मेलन से मेल खाए। Systemd का समग्र लक्ष्य कम चीजें शुरू करके और अधिक को समानांतर में शुरू करके सिस्टम को तेजी से बूट करना है, और systemd-boot उस लक्ष्य को साझा करता है।
एक टेक्स्ट-ओनली बूटलोडर के रूप में, systemd का स्पष्ट रूप से पुराने स्कूल का रूप है। उपलब्ध बूट डिवाइस को उनके शीर्षक द्वारा सूचीबद्ध किया जाता है, जिसे systemd-boot की कॉन्फ़िगरेशन फ़ाइल में संभाला जाता है। Systemd-boot मूल रूप से EFI में शामिल बूट लॉजिक के लिए एक इंटरफेस है, यही कारण है कि इसका उपयोग केवल संगत EFI सिस्टम के साथ किया जा सकता है। यह Grub की तुलना में नाटकीय रूप से कम कॉन्फ़िगर करने योग्य प्रणाली है, जिसमें मूल रूप से कोई कॉन्फ़िगरेशन विकल्प नहीं हैं।
अपने सीमित इंटरफेस के साथ, systemd Grub की तुलना में एक बहुत छोटा बूटलोडर है। कुछ लोग इसे गति के लिए या कई ऑपरेटिंग सिस्टम को अधिक प्रभावी ढंग से प्रबंधित करने के लिए इंस्टॉल करते हैं। क्योंकि systemd स्प्लिट कॉन्फ़िगरेशन फ़ाइलों का उपयोग करता है (प्रत्येक कर्नेल या ऑपरेटिंग सिस्टम के लिए एक सिंगल .conf फ़ाइल), यह मैन्युअल रूप से कई कर्नेल या ऑपरेटिंग सिस्टम वाले सिस्टम को बनाए रखने के लिए सरल हो सकता है। ये ड्रॉप-इन कॉन्फ़िगरेशन टेक्स्ट फ़ाइलें बस सिस्टमड की डायरेक्टरी में कॉपी की जा सकती हैं जब एक नया कर्नेल इंस्टॉल किया जाता है। यह मल्टी-बूट सिस्टम के लिए कॉन्फ़िगरेशन को सरल बनाता है।
निष्कर्ष: Grub या Systemd-boot में से कौन बेहतर है?
यदि आपको Grub के साथ समस्याएं हैं, तो systemd-boot ड्रॉप-इन फ़ाइल कॉन्फ़िगरेशन के साथ एक नाटकीय रूप से सरलीकृत बूट इंफ्रास्ट्रक्चर प्रदान करता है। यह अधिक मजबूत है, लेकिन यह Grub की तुलना में लगभग उतना कॉन्फ़िगर करने योग्य या अनुकूलनीय भी नहीं है। यदि आप एक मल्टीबूट EFI सिस्टम चला रहे हैं, तो systemd-boot आसान बूट प्रबंधन प्रदान कर सकता है और यहां तक कि आपके बूट समय को भी कम कर सकता है। अन्य सिस्टम कॉन्फ़िगरेशन पर, या उन उपयोगों के लिए जिन्हें systemd-boot से अधिक लचीलेपन की आवश्यकता होती है, Grub आपका सबसे अच्छा दांव बना हुआ है।