क्या वास्तव में BIOS यह तय करता है कि कोई ड्राइव बूट करने योग्य है या नहीं?
यदि कोई ड्राइव 16-बाइट विभाजन रिकॉर्ड पर आधारित है, तो MBR कोड क्षेत्र (446 वें बाइट पर शुरू होने वाली तालिका में आयोजित) के बाद BIOS तय करता है । प्रत्येक विभाजन रिकॉर्ड में पहला बाइट ड्राइव के बूट करने योग्य स्थिति का प्रतिनिधित्व करता है (और यदि बूट करने योग्य है, या यदि नहीं तो) पर सेट है। कुछ BIOS एमबीआर के अन्य भागों (जैसे विभाजन प्रकार, चेकसम) की जांच कर सकते हैं, लेकिन मूल आवश्यकता बूट करने योग्य ध्वज है।0x80
0x00
बूट अनुक्रम ड्राइव # 1 से कैसे निकलता है और अगर सिस्टम में एक से अधिक ड्राइव स्थापित है, तो ड्राइव # 2 से बूट करने की कोशिश कर रहा है?
यह कार्यान्वयन पर निर्भर है, और यही कारण है कि आपको बूट ऑर्डर को ठीक से चुनने की आवश्यकता है। ज्यादातर मामलों में, BIOS आपके द्वारा सेट किए गए क्रम में प्रत्येक भंडारण माध्यम से दिखेगा, और यह निर्धारित करेगा कि यह उस डिवाइस से (एमबीआर डेटा के माध्यम से) बूट हो सकता है। यदि यह हो सकता है, यह करता है - यदि नहीं, तो यह अन्य उपकरणों (फिर से, आपके द्वारा चयनित क्रम में) के माध्यम से लूपिंग जारी रखता है।
BIOS के बाद ड्राइव # 1 पर बूटलोडर पर नियंत्रण स्थानांतरित हो गया जो कि "बूट करने योग्य" विभाजन नहीं हुआ - वास्तव में दूसरी ड्राइव पर बूटलोडर को कैसे लगाया जाता है?
एक बार वैध बूट डिवाइस मिल जाने पर (यानी बूट करने योग्य झंडा सेट हो जाता है, और अन्य अतिरिक्त चेक पास हो जाते हैं), BIOS एमबीआर सेक्टर को रैम में कॉपी कर लेता है। तब BIOS इस स्थान की शुरुआत (एक JUMP
अनुदेश का उपयोग करके ) को निर्देश सूचक को स्थानांतरित करता है , जहां एमबीआर कोड खंड स्थित है, और कंप्यूटर तब शुरू होता है।
यदि BIOS BIOS बूट विशिष्टता का समर्थन करता है , तो MBR कोड एक निश्चित निर्देश के साथ BIOS पर नियंत्रण वापस कर सकता है, इसे बूट विफलता का संकेत देता है और अगले डिवाइस को आज़माने के लिए संकेत देता है। पुराने BIOS अभी एक त्रुटि संदेश मुद्रित करते हैं। यदि आप BIOS का समर्थन करते हैं तो एक अच्छा विवरण यह है कि क्या आप USB से बूट कर सकते हैं।
मेरी समझ यह है कि एमबीआर पर सामान्य रूप से जांचने वाली एकमात्र चीज़ 512-बाइट सेक्टर के अंत में उसका हस्ताक्षर है, और फिर यह बूट सेक्टर के पहले 446 बाइट्स में स्थित प्रारंभिक बूटलोडर पर नियंत्रण स्थानांतरित करता है।
यह सही है, हालांकि यह ध्यान दिया जाना चाहिए कि अधिकांश आधुनिक BIOS एक GUID विभाजन तालिका के साथ-साथ पुराने, पारंपरिक MBR- शैली तालिका भी देखेंगे।
क्या इसका मतलब यह है कि बूट सेक्टर के पहले 446 बाइट्स में कुछ सार्थक बूटलोडर कोड होना चाहिए, भले ही डिस्क बूट करने योग्य न हो?
नहीं , लेकिन ड्राइव में एक वैध MBR या GUID विभाजन तालिका होनी चाहिए - अन्यथा, यह कंप्यूटर द्वारा पता नहीं लगाया जाएगा। जबकि एमबीआर का कोड हिस्सा वास्तव में खाली हो सकता है, ड्राइव के पहले सेक्टर में एक अच्छी तरह से गठित एमबीआर / जीपीटी होना चाहिए।