हमें बूट लोडर की आवश्यकता क्यों है?


29

BIOS के बाद, या ऐसा ही कुछ जो फर्मवेयर के रूप में कार्य करता है, शुरू किया जाता है, जहां तक ​​मुझे पता है, नियंत्रण बूटलोडर को दिया जाता है।

BIOS सीधे OS कर्नेल को लोड क्यों नहीं कर सकता है?

इसके अलावा, GRUB मैनुअल कहता है: संक्षेप में, एक बूट लोडर पहला सॉफ्टवेयर प्रोग्राम है जो कंप्यूटर शुरू होने पर चलता है । क्या BIOS पहला प्रोग्राम नहीं है जो चलता है?


2
संबंधित पठन सामग्री: superuser.com/questions/395301/why-must-a-computer-have-a-bios
Der Hochstapler

जवाबों:


28

BIOS को यह जानने की आवश्यकता होगी कि कर्नेल को कैसे लोड किया जाए, और यह BIOS को अत्यधिक जटिल बना देगा: एक ऐसे BIOS की कल्पना करें, जिसमें यह जानना आवश्यक हो कि उपलब्ध विभिन्न ऑपरेटिंग सिस्टमों को कैसे लोड किया जाए, उनके लिए कर्नेल मापदंडों को कैसे पास किया जाए ...

इस प्रकार, यह केवल हार्डवेयर को इनिशियलाइज़ करता है और एक ज्ञात स्थान पर कूदता है जहां बूटलोडर संग्रहीत होता है; फिर, इस पर नियंत्रण पारित किया जाता है।

से यूनिक्स और इंटरनेट बुनियादी बातों विधिपत्र :

आपको आश्चर्य हो सकता है कि BIOS कर्नेल को सीधे लोड क्यों नहीं करता है - बूट लोडर के साथ दो-चरण प्रक्रिया क्यों? खैर, BIOS बहुत स्मार्ट नहीं है। वास्तव में यह बहुत बेवकूफ है, और लिनक्स बूट समय के बाद इसका उपयोग नहीं करता है। यह मूल रूप से छोटे डिस्क के साथ आदिम 8-बिट पीसी के लिए लिखा गया था, और सचमुच कर्नेल को सीधे लोड करने के लिए डिस्क की पर्याप्त उपयोग नहीं कर सकता है। बूट लोडर चरण आपको अपने डिस्क पर अलग-अलग स्थानों पर कई ऑपरेटिंग सिस्टमों में से एक को शुरू करने की सुविधा देता है, इस अप्रत्याशित घटना में कि यूनिक्स आपके लिए पर्याप्त नहीं है।

BIOS के रूप में पहला प्रोग्राम जो चलता है: ( विकिपीडिया से )

BIOS सॉफ्टवेयर पीसी में बनाया गया है, और पीसी पर चलने वाला पहला कोड ('बूट फर्मवेयर') है।

लेकिन एक फर्मवेयर है सॉफ्टवेयर। तो मुझे लगता है कि GRUB मैनुअल कम से कम उस हिस्से पर भ्रमित है; बूटलोडर को कंप्यूटर पर चलने वाले सॉफ़्टवेयर के पहले उपयोगकर्ता-निर्धारित टुकड़े के रूप में देखा जा सकता है ।


10

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

BIOS हार्ड डिस्क (पहले सेक्टर) पर पूर्व-निर्धारित स्थान पर स्थित कोड को लोड और निष्पादित करता है। हम इस कोड को एक बूटलोडर कहते हैं, लेकिन तकनीकी रूप से यदि आपने एक रिक्त हार्ड डिस्क पर विंडोज स्थापित किया है, तो यह कोड विंडोज द्वारा भी स्थापित किया जाता है, इसलिए आप इसे विंडोज का हिस्सा कह सकते हैं, खासकर जब से विंडोज के अलावा विंडोज बूट लोडर किसी अन्य ओएस को लोड नहीं कर सकता है।

कंप्यूटर शुरू होने पर चलने वाले पहले सॉफ़्टवेयर प्रोग्राम के बारे में: फ़र्मवेयर / सॉफ़्टवेयर का अंतर बहुत पतला होता है, और आधुनिक कंप्यूटर की स्टार्टअप प्रक्रिया बहुत जटिल होती है। अपने आप में BIOS भी एक अखंड कार्यक्रम नहीं है, बल्कि कई अलग-अलग चरणों में एक साथ जंजीर है। हालाँकि, बूटलोडर पहला उपयोगकर्ता-परिवर्तनशील कोड है जो चलता है। यह कोड का पहला टुकड़ा है जो उपयोगकर्ता को नुकसान पहुंचा सकता है, मिटा सकता है, वायरस के साथ संक्रमित कर सकता है, आदि इसलिए मुझे लगता है कि तकनीकी रूप से BIOS पहला सॉफ्टवेयर है जो चलता है, बूटलोडर पहली बार इस अर्थ में है कि अगर कंप्यूटर को बूट उपयोगकर्ता की आवश्यकता नहीं है यह जाँचना कि क्या यह ठीक है।


1
अनुभव से, एक उपयोगकर्ता निश्चित रूप से BIOS को तोड़ सकता है।
मोनिका को रोकना बंद करो

2

BIOS सीधे OS कर्नेल को लोड क्यों नहीं कर सकता है?

तीन कारण:

  • मूल पीसी प्लेटफ़ॉर्म पर BIOS जब इसे 1981 में पेश किया गया था, तो सीपी / एम ऑपरेटिंग सिस्टम में एक ही भूमिका में कार्य करने के लिए था - अर्थात्, उपकरणों के एक जोड़े के लिए एक पतली अमूर्त परत और एक साधारण डिस्क बूटलोडर। CP / M की एक और परत थी जिसे "BDOS" कहा जाता था, जो फाइल सिस्टम को संभालती थी। डॉस कई मायनों में सीपी / एम के समान था, क्योंकि यह उस समय प्रचलन में ऑपरेटिंग सिस्टम था, और इसी तरह संरचित था। प्लेटफ़ॉर्म के हार्डवेयर-विशिष्ट पहलुओं को संभालने के लिए BIOS का उद्देश्य था, एक भूमिका जो कि OSes में ड्राइवर अब पूरा करते हैं।

  • OS से अलग फ़ाइल सिस्टम की धारणा ने वास्तव में अभी तक पकड़ नहीं ली है।

  • इस समय, रैम और रोम महंगे और दुर्लभ संसाधन थे। मूल आईबीएम 5150 पीसी को 16K RAM ( संदर्भ ) के साथ कम से कम प्राप्त किया जा सकता है । इस प्रणाली का ROM आकार 48K था और इसमें एक बेसिक दुभाषिया शामिल था। उस समय मानक फाइल सिस्टम जैसी कोई चीज नहीं थी।

चूँकि DOS इस प्लेटफ़ॉर्म के लिए सबसे लोकप्रिय OS बन गया, और उसके बाद Windows, जिसने इस सेटअप के साथ काम किया, किसी ने भी वास्तविक बूटलोडिंग क्षमता को शामिल करने के लिए इस फैशन में BIOS का विस्तार करने के बारे में नहीं सोचा।

मुझे यूईएफआई की क्षमताओं पर यकीन नहीं है - इसमें वास्तविक बूटलोडिंग क्षमता हो सकती है जो कि एक कारण या किसी अन्य के लिए विंडोज द्वारा उपयोग नहीं की जाती है (जब आप इसे स्थापित करते हैं तो विंडोज खुद के बूट प्रबंधक का उपयोग करने पर जोर देता है)। अन्य गैर-BIOS फ़र्मवेयर जैसे यू-बूट और कई फोन और राउटर में लोड करते हैं और सीधे गुठली चलाते हैं। तब से इसके लिए कोई तकनीकी कारण नहीं आया है जब अधिक कार्य करने के लिए BIOS को ROM में जगह मिलनी शुरू हुई।

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