GRUB और SYSLINUX में क्या अंतर है?


13

यह सवाल मेरी खोज से संबंधित है कि उबंटू और इसके व्युत्पन्न डेस्कटॉप रिलीज के लिए आईएसओ छवियों पर SYSLINUX और GRUB बूटलोडर्स दोनों का उपयोग करता है ।

32-बिट आईएसओ छवि से बूट होने पर , यह कहा जाता है कि SYSLINUX बूट प्रक्रिया (बूट जो सुंदर छप स्क्रीन दिखाता है, प्रगति डॉट एनीमेशन के साथ) को संभालता है।

लेकिन जब 64-बिट आईएसओ छवि से बूट होता है , तो इसके बजाय GRUB का उपयोग किया जाता है (काले और सफेद स्क्रीन, स्पष्ट रूप GNU GRUB version...से स्क्रीन के शीर्ष पर दिखाई देने वाला)।

इसलिए, मेरे सवाल को फिर से बताने के लिए, क्या अंतर है जो उबंटू ने अपनी आईएसओ छवियों पर GRUB और SYSLINUX का उपयोग करने के लिए बनाया है? इसके बजाय सिर्फ एक ही का उपयोग क्यों नहीं करें?

स्पष्टीकरण के लिए

मेरे स्पष्टीकरण और हार्डवेयर की उपलब्धता की कमी के कारण यह प्रश्न किसी तरह से भ्रमित करने वाला है। 64-बिट आईएसओ छवि पर बेहतर व्याख्या करने के लिए मैंने यह उत्तर (या नीचे स्क्रॉल करें) जोड़ा है ।

क्या जवाब है नहीं

नीचे दिए गए टिप्पणी सूत्र ने पहले से ही कुछ विचार दिया था, लेकिन मुझे यहां स्पष्ट करना चाहिए। इसका उत्तर यह नहीं है क्योंकि या तो कोई ठीक से ईएफआई का समर्थन करता है। इस प्रश्न का उद्देश्य केवल EFI समर्थन के बजाय मूलभूत कारणों की ओर अधिक जानकारी प्राप्त करना है।

कहो, अगर यह दूसरे तरीके से पूछा जाना था, "आईएसओ छवियों में GRUB और SYSLINUX दोनों का उपयोग क्यों किया जाता है?" तब यह उत्तर दे सकता है, जैसे "GRUB को EFI- सक्षम सिस्टम का समर्थन करने के लिए शामिल किया गया है और SYSLINUX को हमेशा शामिल किया गया है और BIOS- केवल सिस्टम पर काम करता है" - जो मेरा इरादा नहीं है

मुझे यह स्वीकार करना चाहिए कि EFI समर्थन उत्तर का हिस्सा है।

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


ग्राफिक्स के साथ कुछ भी गलत नहीं होने के कारण, प्रगति डॉट एनीमेशन किसी भी मामले में आना चाहिए। और आप लाइव सीडी और लाइव यूएसबी को बोल्ड क्यों कहते हैं, जब अंतर 64-बिट यूईएफआई छवि और अन्य छवियों के बीच है? क्या आपने एक सीडी में यूईएफआई छवि की कोशिश की और सिसलिनक्स प्राप्त किया?
मूरू

यह भ्रम बढ़ जाएगा, क्योंकि GRUB का उपयोग केवल 64-बिट UEFI- समर्थक छवि द्वारा किया जाता है, और दूसरों द्वारा नहीं। मैं दूसरा तरीका सुझाऊंगा: "लाइव सीडी / यूएसबी" शब्द को छोड़ दें और केवल आपके द्वारा उपयोग की जाने वाली छवियों के साथ चिपके रहें, क्योंकि यही अंतर झूठ है।
मूरू

1
ठीक है, तदनुसार कीवर्ड प्रतिस्थापित करें: लाइव सीडी -> 32-बिट आईएसओ छवि; लाइव यूएसबी -> 64-बिट आईएसओ छवि।
क्लीमकुरा

Syslinux एक BIOS बूट लोडर है। FAT32 स्वरूपित विभाजन पर 32 और 64 बिट संस्करणों के लिए उपयोग किया जाता है। यह केवल BIOS के लिए एक विंडोज टाइप बूट लोडर है। Grub2 का उपयोग केवल UEFI बूट के साथ किया जाता है। वे शायद BIOS के साथ grub2 का उपयोग कर सकते हैं, लेकिन यह हमेशा अब बड़ा हो गया है, और ऐतिहासिक रूप से उन्होंने syslinux का उपयोग किया है। निश्चित रूप से क्यों नहीं। अलग-अलग बूट लोडर के लिए कुछ मामूली लाभ तो आप जानते हैं कि आपके बूट करने का तरीका यूईएफआई या BIOS है।
पुराने

@oldfred आईएसओ छवि का फाइल सिस्टम ISO9660 है और FAT32 नहीं है। Syslinux जाहिरा तौर पर EFI समर्थित मशीन पर भी काम करता है, इसलिए अभी भी Syslinux और Grub दोनों का उपयोग क्यों करें?
क्लीमकुरा

जवाबों:


14

यह मेरा अंतिम उत्तर है, जो उबंटू विकी पर इस सूची में 2000+ पृष्ठों के भीतर मिलान वाले कीवर्ड द्वारा मिली जानकारी पर आधारित है । मुझे जो मिला वह उबंटू विकास और विशिष्टताओं के नोट्स थे (पढ़ें: शब्द, शब्द, शब्द), ताकि मुझे इस उत्तर तक पहुंचने में कुछ समय लगे।

ऑप्स, गलत नामकरण

आरंभ करने के लिए, बूट लोडरों के नाम को स्पष्ट किया जाएगा:

  • सभी अक्षरों के साथ नाम बूट लोडर को संदर्भित करता है (जैसे GRUB, SYSLINUX)

  • प्रारंभिक अक्षर पूंजी के साथ नाम प्रोजेक्ट लोडर या, बूट लोडर परिवार के कई या सभी प्रकारों को संदर्भित करता है (जैसे Syslinux)

  • विशेष रूप से, 'सिसलिनक्स' बूट लोडरों का एक संग्रह है जिसमें 'एसआईएसएलआईएलएनयूएल', 'इसोलिनक्स', 'एक्सट्लिनक्स' और 'पीएक्सईएलआईएनयूएक्स' शामिल हैं।

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

संक्षिप्त इतिहास

2005: ISOLINUX को GRUB के बजाय उबंटू सीडी बूट लोडर के लिए चुना गया।

GRUB को संभव प्रतिस्थापन बूट लोडर के रूप में पहले भी सुझाया गया है, लेकिन इस दृष्टिकोण को Warty लाइव सीडी में आज़माया गया था जहाँ हमने बूटोलैबिलिटी बनाम ISOLINUX-use install CD में महत्वपूर्ण प्रतिगमन देखे। हमें लगता है कि ISOLINUX पर आधारित समाधानों के साथ चिपके रहना दीर्घकालिक-समर्थित रिलीज़ के लिए सबसे उपयुक्त तरीका है।

- CdBootloader से - Ubuntu Wiki

2006: gfxboot जोड़ा गया है; यह 2010 में उद्धृत जानकारी का समर्थन करता है।

डैपर में, हमने अपने amd64 और i386 सीडी छवियों में gfxboot जोड़ा, पहली बात यह है कि उपयोगकर्ताओं को एक अनुकूल चित्रमय बूट मेनू प्रदान करते हैं, जब उपयोगकर्ता उन आर्किटेक्चर पर उबंटू सीडी छवियों को बूट करते हुए देखते हैं [...]

- पोर्टेबलग्राफक्सूट से - उबंटू विकी

2009: ISOLINUX (SYSLINUX के रूप में विख्यात) का उपयोग अभी भी उबंटू सीडी को बूट करने के लिए किया जाता है।

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

- बूटग्राफिक्सआर्किटेक्ट से - उबंटू विकी

2010: ISOLINUX का उपयोग किया गया, लेकिन UEFI समर्थन के लिए GRUB 2 की आवश्यकता है।

वर्तमान उबंटू सीडी ISOLINUX का उपयोग करते हैं, SuSE से gfxboot एक्सटेंशन के साथ ग्राफिकल मेनू को लागू करते हैं।

यह बनाए रखना मुश्किल साबित हो गया है, केवल उबंटू में एक व्यक्ति के साथ, जो थीमिंग कोड को समझता है [...]

[चूँकि] GRUB 2 में हाल ही में ग्राफिकल मेन्यू सपोर्ट को इसके साथ जोड़ा गया है, जो हमारे रखरखाव भार को कम करने की क्षमता रखता है। ऐसा लगता है कि हमें EFI का समर्थन करने के लिए वैसे भी GRUB 2 का उपयोग करने की आवश्यकता होगी, और हमारी सीडी पर दो अलग-अलग बूट लोडर को कॉन्फ़िगर करने के लिए अवांछनीय होगा।

- FoundationsTeam / Specs / MaverickCDBoot से - उबंटू विकी

नींव-एम-ग्रब 2-बूट-फ्रेम-बफ़र के लिए, हमें ईएफआई में ग्राफिकल बूट मेनू का समर्थन करने की हमारी क्षमता पर ध्यान देने की आवश्यकता होगी। GRUB को UGA और GOP ग्राफिक्स के लिए कुछ स्तर का समर्थन प्राप्त है।

यह सीडी बूटिंग के लिए GRUB का उपयोग करने की आवश्यकता है, या कम से कम इसे समर्थन करने के लिए न्यूनतम न्यूनतम विन्यास है [...]

- फाउंडेशमेंट से / चश्मा / चश्मा / MaverickUefiSupport - उबंटू विकी

अंतर पाया या नहीं

संक्षिप्त इतिहास के बाद, अब हम समझते हैं कि:

  • तब (2005) में GRUB के प्रतिगमन के कारण ISOLINUX को प्राथमिकता दी गई थी

  • बूट मोड संक्रमण (2009) के दौरान झिलमिलाहट पैदा करने वाले ग्राफिक्स मोड में कर्नेल शुरू करने के लिए समर्थन की कमी के बावजूद ISOLINUX को अभी भी पसंद किया गया था

  • ISOLINUX का उपयोग ग्राफिकल मेनू प्रदान करने के लिए gfxboot के साथ किया गया है, जिसे तब GRUB के साथ लागू नहीं किया गया था या संभव नहीं था (2010)

  • Maverick (2010 के बाद) के बाद GRUB को UEFI समर्थन के साथ बूट करने के लिए जोड़ा गया है

फिर, मैंने महसूस किया कि यह GRUB और SYSLINUX के बीच का अंतर नहीं है , जिसने उबंटू को लाइव सीडी बनाया है जिसमें दो बूट लोडर शामिल हैं।

मौलिक कारण

मेरे पढ़ने से, ये सहायक तथ्य वास्तव में संकेत देते हैं कि:

  1. उबंटू लाइव सीडी विशेष बूट लोडर का उपयोग कर रहा है जिसमें ग्राफिकल मेनू और थीम प्रदान करने के लिए बेहतर समर्थन था, और बूट छप दिखाने के लिए चिकनी संक्रमण। इस मामले में, SYSLINUX (ठीक ISOLINUX)।

  2. जब यूईएफआई सिस्टम तेजी से सामान्य हो गया, तब केवल उबंटू ने यूईएफटी समर्थन के साथ बूट करने के लिए उबंटू लाइव सीडी में GRUB (ठीक GRUB 2) को शामिल किया था।

इन सबसे ऊपर, मेरा मानना ​​है कि यह उस प्रश्न का उत्तर देता है जो मेरे पास एक वर्ष से अधिक समय से था और इस उत्तर ने आखिरकार मेरी जिज्ञासा को शांत कर दिया।

TL, DR GRUB और ISOLINUX, दोनों का उपयोग Ubuntu लाइव सीडी में विशेष कारणों से किया जाता है; बेहतर बूट अनुभव और हार्डवेयर समर्थन के लिए दोनों को लाइव सीडी में शामिल किया गया था।


अच्छा शोध। उबंटू के बारे में 2009/10 से पहले ग्रब पर जानकारी ग्रब विरासत थी। उबंटू ने इसके डिफ़ॉल्ट के रूप में ग्रब 2 पर स्विच किया। मुझे नहीं लगता कि ग्रब विरासत तब यूईएफआई के साथ काम करती थी, हालांकि नए सिस्टम के साथ काम करने के लिए ग्रब विरासत पाने के लिए कई विशेषताएं अक्सर एक वितरण द्वारा की जाती थीं।
oldfred

6

यह मेरा प्रारंभिक उत्तर है, जिससे मेरे प्रश्न का कुछ हिस्सा बेहतर तरीके से समझा जा सकता है, लेकिन फिर भी यह प्रश्न का उत्तर नहीं देता है।

नीचे कुछ स्पष्टीकरण:

  • 32-बिट आईएसओ छवि के विपरीत, 64-बिट आईएसओ छवि में वास्तव में GRUB और SYSLINUX दोनों शामिल हैं (यह पुष्टि करता है /boot/grubऔर /isolinuxनिर्देशिका दोनों आईएसओ छवि में पाए जाते हैं)
  • GRUB तब दिखाया जाता है जब ISO छवि EFI- सक्षम मशीन पर बूट होती है।
  • SYSLINUX को दिखाया गया है जब ISO छवि केवल BIOS मशीन पर बूट की गई है।
  • प्लायमाउथ प्रगति बिंदु एनीमेशन को संभालता है, भले ही GRUB या SYSLINUX दिखाया गया है (यह पहली टिप्पणी में @ muru द्वारा सही ढंग से संकेत दिया गया था)

बूट अनुभव : मैंने "ईएफआई-सक्षम" लिखा क्योंकि यहां तक ​​कि मेरी मशीन ने ईएफआई को लागू किया है, मैंने लाइव यूएसबी से उबंटू (जुबांटु 14.04) को बूट करने के लिए "सिक्योर बूट" सुविधा (1,2) को बंद कर दिया था।

  1. Xubuntu 14.04 64-बिट रिलीज़ सुरक्षित बूट चालू होने के बाद बूट करने में सक्षम है, इसे स्थानीय डिस्क पर स्थापित किया गया है (लाइव यूएसबी नहीं)।

  2. Xubuntu 16.04 64-बिट रिलीज़ बूट करने में सक्षम है जबकि सुरक्षित बूट चालू है।

कोशिश की विधि : बाहरी ऑप्टिकल ड्राइव से भौतिक डीवीडी मीडिया और बूट के साथ प्रयास करने के बजाय, मैंने उपरोक्त मामलों को साबित करने के लिए वर्चुअलाइजेशन सॉफ्टवेयर (मेरे मामले में वर्चुअलबॉक्स 4.3) का उपयोग किया था।

  • वर्चुअलबॉक्स 4.3 में पहले से ही ईएफआई और BIOS सिस्टम के बीच स्विच करने का विकल्प है, मशीन> सेटिंग्स> सिस्टम> मदरबोर्ड - विस्तारित सुविधाओं के तहत पाया जा सकता है: ईएफआई सक्षम करें (केवल विशेष ओएस) । डिफ़ॉल्ट रूप से, विकल्प अनियंत्रित (3) है।

  • 64-बिट होस्ट सिस्टम पर चल रहे वर्चुअलबॉक्स के 64-बिट संस्करण का उपयोग करके एक वर्चुअल मशीन बनाई जानी चाहिए। मेरे निम्नलिखित प्रयासों में एक Xubuntu 14.04 64-बिट आईएसओ छवि का उपयोग किया जाता है।

  • पहला प्रयास: मैंने डिफ़ॉल्ट सेटिंग्स के साथ आईएसओ छवि को चलाया (यह एक BIOS सिस्टम मानता है)। वर्चुअल मशीन नीचे की तरफ माउस के साथ बैंगनी पृष्ठभूमि दिखाएगा। यह SYSLINUX है

  • दूसरा प्रयास: मैंने मशीन को बंद कर दिया और सेटिंग्स में गया, ईएफआई को सक्षम करने के लिए विकल्प (3) की जांच की। उसी आईएसओ छवि का उपयोग करते हुए, मैंने वर्चुअल मशीन को फिर से शुरू किया। इस बार, GNU GRUB version...मोनोक्रोम पाठ के साथ दिखाने तक कुछ समय लगा । यह GRUB है

  • दोनों प्रयासों में, बूट करते समय कार्यवाही बूट प्रक्रिया प्रगति डॉट एनीमेशन दिखाएगी।

  • उबंटू विकी पर पेज के इस खंड में ऊपर दो मामलों का वर्णन करने के लिए स्क्रीनशॉट शामिल किए गए हैं।

अस्वीकरण : यह उत्तर बूट अनुभव और कोशिश की गई विधि को स्पष्ट करने का इरादा रखता है। हालाँकि, यह मेरे प्रश्न का अंतिम उत्तर नहीं है। अंतिम उत्तर अलग से पोस्ट किया जाएगा, अगर मैं प्रश्न का स्व-उत्तर देने में कामयाब रहा।


इस जानकारी के लिए धन्यवाद! मैंने रुबोस .iso छवि का उपयोग करते समय केवल USB से बूट शुरू करने में कामयाबी हासिल की है जो बूट में syslinux बनाता है, लेकिन "dd <iso>" कमांड के साथ नहीं - जो मैंने देखा कि यह syslinux नहीं बनाता है। बात यह है कि hdd से ubuntu है grub। तो मुझे समझ में नहीं आता, क्यों ग्रब hdd के साथ काम करता है, लेकिन USB के साथ नहीं है।
रंश

@ransh आप यह समझना चाह सकते हैं कि "कौन सी विधि किस बूटलोडर को स्थापित करती है" और यह क्यूए उस पते को संबोधित नहीं करता है। आपको अपना नया प्रश्न पूछना चाहिए , क्योंकि टिप्पणी चर्चा के लिए नहीं है।
क्लीमकुरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.