मास्टर बूट रिकॉर्ड: Difference between revisions

From Vigyanwiki
No edit summary
Line 1: Line 1:
{{Short description|First sector of a partitioned computer disk}}
{{Short description|First sector of a partitioned computer disk}}
{{About|a PC-specific type of boot sector on partitioned media|the first sector on non-partitioned media|volume boot record}}
{{About|a PC-specific type of boot sector on partitioned media|the first sector on non-partitioned media|volume boot record}}
एक '''मास्टर बूट रिकॉर्ड (एमबीआर)''' एक विशेष प्रकार का [[प्रारंभिक क्षेत्र|बूट क्षेत्र]] है जो [[आईबीएम पीसी-संगत]] और उससे आगे के उपयोग के लिए [[निश्चित डिस्क]] या [[हटाने योग्य ड्राइव]] जैसे [[डिस्क विभाजन|विभाजित]] कंप्यूटर [[मॉस स्टोरेज उपकरण]] की शुरुआत में होता है। MBRs की अवधारणा को 1983 में PC DOS 2.0 के साथ सार्वजनिक रूप से पेश किया गया था।
'''मास्टर बूट रिकॉर्ड (एमबीआर)''' एक विशेष प्रकार का [[प्रारंभिक क्षेत्र|बूट क्षेत्र]] है जो [[आईबीएम पीसी-संगत]] सिस्टम और इसके बाद के सिस्टमों में उपयोग के लिए [[निश्चित डिस्क|नियत डिस्क (हार्ड डिस्क ड्राइव)]] या [[हटाने योग्य ड्राइव|निष्कासनीय ड्राइव]] जैसे [[डिस्क विभाजन|विभाजित]] कंप्यूटर [[मॉस स्टोरेज उपकरण|मॉस संग्रहण उपकरण]] के ठीक प्रारंभ में स्थित होता है। एमबीआर की अवधारणा को वर्ष 1983 में पीसी डॉस 2.0 के साथ सार्वजनिक रूप से प्रस्तुत किया गया था।


एमबीआर में यह जानकारी होती है कि कैसे डिस्क के क्षेत्रों को विभाजन में विभाजित किया जाता है, प्रत्येक विभाजन में एक फाइल सिस्टम होता है। एमबीआर में स्थापित ऑपरेटिंग सिस्टम के लिए लोडर के रूप में कार्य करने के लिए निष्पादन योग्य कोड भी होता है - आमतौर पर लोडर के दूसरे चरण पर नियंत्रण पारित करके, या प्रत्येक विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) के संयोजन के साथ। यह एमबीआर कोड आमतौर पर बूट लोडर के रूप में जाना जाता है।<ref name="FOLDOC"/>
एमबीआर में यह जानकारी निहित होती है कि डिस्क के क्षेत्रों को विभाजनों में कैसे विभाजित किया जाता है, जिनमें से प्रत्येक विभाजन में एक फाइल प्रणाली होती है। एमबीआर में स्थापित ऑपरेटिंग सिस्टम के लिए भारक (लोडर) के रूप में, सामान्यतः भारक के दूसरे चरण पर नियंत्रण पारित करके, या प्रत्येक विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) के संयोजन के साथ कार्य करने के लिए निष्पादनीय कोड भी होता है। यह एमबीआर कोड सामान्यतः बूट भारक के रूप में जाना जाता है।<ref name="FOLDOC"/>


MBR में विभाजन तालिका का संगठन एक विभाजित डिस्क के अधिकतम पता योग्य भंडारण स्थान को 2 [[टेबिबाइट]] (232 × 512 बाइट्स) तक सीमित करता है।<ref name="Microsoft_2013_2581408"/> 32-बिट अंकगणित या 4096-बाइट सेक्टर मानते हुए इस सीमा को थोड़ा बढ़ाने के दृष्टिकोण आधिकारिक रूप से समर्थित नहीं हैं, क्योंकि वे मौजूदा बूट लोडर और अधिकांश एमबीआर-अनुरूप ऑपरेटिंग सिस्टम और सिस्टम टूल्स के साथ अनुकूलता को तोड़ते हैं, और बाहर उपयोग किए जाने पर गंभीर डेटा भ्रष्टाचार का कारण बन सकते हैं। संकीर्ण रूप से नियंत्रित सिस्टम वातावरण। इसलिए, MBR-आधारित विभाजन योजना नए कंप्यूटरों में [[GUID विभाजन तालिका]] (GPT) योजना द्वारा प्रतिस्थापित किए जाने की प्रक्रिया में है। पुराने सिस्टम के लिए बैकवर्ड कम्पैटिबिलिटी का कुछ सीमित रूप प्रदान करने के लिए एक GPT एक MBR के साथ सह-अस्तित्व में हो सकता है।
एमबीआर में विभाजन तालिका का संगठन एक विभाजित डिस्क के अधिकतम पतायोग्य भंडारण स्थान को 2 [[टेबिबाइट]] (232 × 512 बाइट) तक सीमित करता है।<ref name="Microsoft_2013_2581408"/> 32-बिट अंकगणित या 4096-बाइट क्षेत्र मानते हुए इस सीमा की अल्पवृद्धि के दृष्टिकोण आधिकारिक रूप से समर्थित नहीं हैं, क्योंकि ये उपलब्ध बूट भारक और अधिकांश एमबीआर-अनुरूप ऑपरेटिंग सिस्टम और सिस्टम यंत्रों के साथ संगतता को समाप्त करते हैं, और संकीर्ण रूप से नियंत्रित सिस्टम वातावरणों के बाहर उपयोग किए जाने पर गंभीर डेटा विकार का कारण बन सकते हैं। इसलिए, एमबीआर-आधारित विभाजन योजना, नए कंप्यूटरों में [[GUID विभाजन तालिका|जीयूआईडी विभाजन तालिका]] (जीपीटी) योजना द्वारा प्रतिस्थापित किए जाने की प्रक्रिया में है। पुराने सिस्टमों के लिए पश्चगामी संगतता के कुछ सीमित रूप प्रदान करने के लिए जीपीटी, एक एमबीआर के साथ सह-अस्तित्व में हो सकता है।


एमबीआर गैर-विभाजित मीडिया जैसे [[फ्लॉपी]], [[सुपरफ्लॉपी]] या अन्य स्टोरेज डिवाइस पर मौजूद नहीं हैं जो इस तरह व्यवहार करने के लिए कॉन्फ़िगर किए गए हैं।
एमबीआर, गैर-विभाजित माध्यमों जैसे [[फ्लॉपी]], [[सुपरफ्लॉपी]] या अन्य भंडारण उपकरणों पर उपलब्ध नहीं हैं, जो इस प्रकार व्यवहार करने के लिए विन्यासित किए गए हैं।


== अवलोकन ==
== अवलोकन ==
मार्च 1983 में IBM PC DOS 2.0 के साथ विभाजित मीडिया के लिए समर्थन, और इस तरह मास्टर बूट रिकॉर्ड (MBR) पेश किया गया था, ताकि तत्कालीन नए IBM पर्सनल कंप्यूटर XT की 10 एमबी [[हार्ड डिस्क]] का समर्थन किया जा सके, जो अभी भी [[FAT12]] फ़ाइल सिस्टम का उपयोग कर रहा है। . MBR का मूल संस्करण IBM के डेविड लिटन द्वारा जून 1982 में लिखा गया था। विभाजन तालिका चार प्राथमिक विभाजनों तक का समर्थन करती है, जिनमें से DOS केवल एक का उपयोग कर सकता है। यह तब नहीं बदला जब [[FAT16]] को DOS 3.0 के साथ एक नई फाइल सिस्टम के रूप में पेश किया गया। [[विस्तारित विभाजन]] के लिए समर्थन, अन्य विभाजनों को रखने के लिए कंटेनर के रूप में उपयोग किया जाने वाला एक विशेष प्राथमिक विभाजन प्रकार, DOS 3.2 के साथ जोड़ा गया था, और एक विस्तारित विभाजन के अंदर नेस्टेड लॉजिकल ड्राइव DOS 3.30 के साथ आया था। चूंकि MS-DOS, PC DOS, OS/2 और Windows कभी भी उन्हें बूट करने के लिए सक्षम नहीं थे, MBR प्रारूप और बूट कोड कार्यक्षमता में लगभग अपरिवर्तित रहे, कुछ तृतीय-पक्ष कार्यान्वयनों को छोड़कर, DOS और OS/ के पूरे युग में 2 1996 तक।
आईबीएम पीसी डॉस 2.0 के साथ विभाजित माध्यमों के लिए समर्थन, और इस प्रकार मास्टर बूट रिकॉर्ड (एमबीआर) को मार्च 1983 में प्रस्तुत किया गया था, जिससे तत्कालीन नए आईबीएम व्यक्तिगत कंप्यूटर एक्सटी की 10 एमबी [[हार्ड डिस्क]] का समर्थन किया जा सके, जो अभी भी [[FAT12|एफएटी12]] फ़ाइल प्रणाली का उपयोग कर रहा था। एमबीआर के मूल संस्करण को आईबीएम के डेविड लिटन द्वारा जून 1982 में लिखा गया था। विभाजन तालिका चार ''प्राथमिक विभाजनों''  तक का समर्थन करती है, जिनमें से डॉस केवल एक का उपयोग कर सकता है। यह [[FAT16|एफएटी16]] को डॉस 3.0 के साथ एक नई फाइल प्रणाली के रूप में प्रस्तुत किय जाने पर नहीं बदला। अन्य विभाजनों को संग्रहित करने के लिए संग्राहक के रूप में उपयोग किये जाने वाला एक विशेष प्राथमिक विभाजन प्रकार, [[विस्तारित विभाजन|''विस्तारित विभाजन'']] के लिए समर्थन को डॉस 3.2 के साथ संयोजित किया गया था, और एक विस्तारित विभाजन के अंदर स्थिर तार्किक ड्राइव डॉस 3.30 के साथ प्रकाश में आये। चूँकि एमएस-डॉस, पीसी डॉस, ओएस/2 और विंडोज़ इन्हें बूट करने के लिए कभी भी सक्षम नहीं थे, एमबीआर प्रारूप और बूट कोड, डॉस और ओएस/2 के पूरे युग में वर्ष 1996 तक कुछ तृतीय-पक्ष कार्यान्वयनों को छोड़कर कार्यक्षमता में लगभग अपरिवर्तित रहे।


1996 में, 8 जीबी से बड़े डिस्क का समर्थन करने के लिए विंडोज 95बी और डॉस 7.10 में [[तार्किक ब्लॉक एड्रेसिंग]] (एलबीए) के लिए समर्थन पेश किया गया था। डिस्क टाइमस्टैम्प भी पेश किए गए थे।<ref name="Sedory_2004_Timestamp"/> यह इस विचार को भी दर्शाता है कि एमबीआर ऑपरेटिंग सिस्टम और फाइल सिस्टम स्वतंत्र होने के लिए है। हालाँकि, MBR के हालिया Microsoft कार्यान्वयन में इस डिज़ाइन नियम को आंशिक रूप से समझौता किया गया था, जो [[FAT16B]] और [[FAT32]] विभाजन प्रकार 0x06/0x0B के लिए [[सिलेंडर-हेड-सेक्टर]] पहुँच को लागू करता है, जबकि LBA का उपयोग 0x0E/{{mono|0x0C}} के लिए किया जाता है।
8 जीबी से बड़ी डिस्क का समर्थन करने के लिए विंडोज 95बी और डॉस 7.10 में [[तार्किक ब्लॉक एड्रेसिंग]] (एलबीए) के लिए समर्थन को वर्ष 1996 में प्रस्तुत किया गया था। डिस्क ''टाइमस्टैम्प'' भी प्रस्तुत किए गए थे।<ref name="Sedory_2004_Timestamp"/> यह इस विचार को भी प्रदर्शित करता है कि एमबीआर, ऑपरेटिंग सिस्टम और फाइल प्रणाली होने के लिए स्वतंत्र हैं। हालाँकि, एमबीआर के हालही के माइक्रोसॉफ्ट कार्यान्वयन में इस संरचना नियम के साथ आंशिक रूप से समझौता किया गया था, जो [[FAT16B|एफएटी16बी]] और [[FAT32|एफएटी32]] विभाजन प्रकार 0x06/0x0बी के लिए [[सिलेंडर-हेड-सेक्टर|बेलनाकार-हेड-क्षेत्र]] अभिगमन को प्रयुक्त करता है, जबकि एलबीए का उपयोग {{mono|0x0E}}/{{mono|0x0C}} के लिए किया जाता है।


एमबीआर प्रारूप (जो कभी-कभी संगतता समस्याओं का कारण बनता है) के कुछ आंतरिक विवरणों के कभी-कभी खराब दस्तावेज़ीकरण के बावजूद, पीसी-संगत कंप्यूटरों की व्यापक लोकप्रियता और दशकों से इसकी अर्ध-स्थैतिक प्रकृति के कारण इसे वास्तविक उद्योग मानक के रूप में व्यापक रूप से अपनाया गया है। . यह अन्य प्लेटफार्मों के लिए कंप्यूटर ऑपरेटिंग सिस्टम द्वारा समर्थित होने की सीमा तक भी था। कभी-कभी यह बूटस्ट्रैपिंग और विभाजन के लिए अन्य पहले से मौजूद या [[पार मंच|क्रॉस-प्लेटफ़ॉर्म]] मानकों के अतिरिक्त होता था।<ref name="Lucas_2003_OpenBSD"/>
कभी-कभी एमबीआर प्रारूप (जो कभी-कभी संगतता समस्याओं का कारण बनता है) के कुछ आंतरिक विवरणों के खराब दस्तावेज़ीकरण के बाद भी, पीसी-संगत कंप्यूटरों की व्यापक लोकप्रियता और दशकों से इसकी अर्ध-स्थैतिक प्रकृति के कारण इसे वास्तविक उद्योग मानक के रूप में व्यापक रूप से अपनाया गया है। यह अन्य प्लेटफार्मों के लिए कंप्यूटर ऑपरेटिंग सिस्टम द्वारा समर्थित होने की सीमा तक भी था। कभी-कभी यह बूटस्ट्रैपिंग और विभाजन के लिए अन्य पहले से उपलब्ध या [[पार मंच|क्रॉस-प्लेटफ़ॉर्म]] मानकों के अतिरिक्त होता था।<ref name="Lucas_2003_OpenBSD"/>


एमबीआर विभाजन प्रविष्टियां और वाणिज्यिक ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले एमबीआर बूट कोड, हालांकि, 32 बिट्स तक सीमित हैं।<ref name="Microsoft_2013_2581408"/> इसलिए, एमबीआर विभाजन योजना (33-बिट अंकगणित के बिना) द्वारा 512-बाइट क्षेत्रों (चाहे वास्तविक या नकली) का उपयोग करने वाले डिस्क पर समर्थित अधिकतम डिस्क आकार 2 टीआईबी तक सीमित है।<ref name="Microsoft_2013_2581408"/> नतीजतन, बड़ी डिस्क के लिए एक अलग विभाजन योजना का उपयोग किया जाना चाहिए, क्योंकि वे 2010 से व्यापक रूप से उपलब्ध हो गए हैं। एमबीआर विभाजन योजना इसलिए GUID [[विभाजन तालिका]] (GPT) द्वारा अधिक्रमित होने की प्रक्रिया में है। आधिकारिक दृष्टिकोण सुरक्षात्मक एमबीआर को नियोजित करके डेटा अखंडता सुनिश्चित करने से थोड़ा अधिक है। विशेष रूप से, यह ऑपरेटिंग सिस्टम के साथ पश्चगामी संगतता प्रदान नहीं करता है जो GPT योजना का भी समर्थन नहीं करता है। इस बीच, दोनों विभाजन योजनाओं में "समानांतर" और/या पुराने ऑपरेटिंग सिस्टम को जीपीटी से बूट करने की अनुमति देने के लिए डिस्क के पहले भौतिक 2 टीआईबी में स्थित विभाजन को बनाए रखने के लिए हाइब्रिड एमबीआर के कई रूपों को तीसरे पक्ष द्वारा डिजाइन और कार्यान्वित किया गया है। विभाजन भी। इन समाधानों की वर्तमान गैर-मानक प्रकृति कुछ परिदृश्यों में विभिन्न अनुकूलता समस्याओं का कारण बनती है।
हालांकि, एमबीआर विभाजन प्रविष्टियाँ और वाणिज्यिक ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले एमबीआर बूट कोड 32 बिट तक सीमित हैं।<ref name="Microsoft_2013_2581408"/> इसलिए, एमबीआर विभाजन योजना (33-बिट अंकगणित के बिना) द्वारा 512-बाइट क्षेत्रों (या तो वास्तविक या अनुकरित) का उपयोग करने वाली डिस्कों पर समर्थित अधिकतम डिस्क आकार 2 [[टेबिबाइट]] तक सीमित है।<ref name="Microsoft_2013_2581408"/> परिणामस्वरूप, बड़ी डिस्क के लिए एक अलग विभाजन योजना का उपयोग किया जाना चाहिए, क्योंकि ये वर्ष 2010 से व्यापक रूप से उपलब्ध हो गए हैं। इसलिए एमबीआर विभाजन योजना जीयूआईडी [[विभाजन तालिका]] (जीपीटी) द्वारा अधिक्रमित होने की प्रक्रिया में है। इसका आधिकारिक दृष्टिकोण, सुरक्षात्मक एमबीआर को नियोजित करके डेटा अखंडता सुनिश्चित करने से अल्प अधिक है। विशेष रूप से, यह ऑपरेटिंग सिस्टम के साथ पश्चगामी संगतता प्रदान नहीं करता है जो जीपीटी योजना का भी समर्थन नहीं करता है। इस बीच, दोनों विभाजन योजनाओं में "समानांतर" और/या पुराने ऑपरेटिंग सिस्टम को जीपीटी विभाजन से बूट करने की सुविधा देने के लिए डिस्क के पहले भौतिक 2 टेबिबाइट में स्थित विभाजन को व्यवस्थित रखने के लिए ''हाइब्रिड एमबीआर'' के कई रूपों को तीसरे पक्ष द्वारा संरचित और कार्यान्वित किया गया है। इन समाधानों की वर्तमान गैर-मानक प्रकृति कुछ परिदृश्यों में विभिन्न अनुकूलता समस्याओं का कारण बनती है।


MBR में ड्राइव के पहले [[डिस्क क्षेत्र]] में स्थित 512 या अधिक [[बाइट]] होते हैं।
एमबीआर में ड्राइव के पहले [[डिस्क क्षेत्र]] में 512 या अधिक [[बाइट]] स्थित होते हैं।


इसमें इनमें से एक या अधिक हो सकते हैं:
इसमें, निम्न में से एक या अधिक उपस्थित हो सकते हैं:
*स्टोरेज डिवाइस के विभाजन का वर्णन करने वाली एक विभाजन तालिका। इस संदर्भ में बूट सेक्टर को पार्टीशन सेक्टर भी कहा जा सकता है।
*भंडारण उपकरण के विभाजन का वर्णन करने वाली एक विभाजन तालिका। इस संदर्भ में बूट क्षेत्र को विभाजन क्षेत्र भी कहा जा सकता है।
*[[बूटस्ट्रैपिंग (कंप्यूटिंग)|बूटस्ट्रैप कोड]] : कॉन्फ़िगर किए गए बूट करने योग्य विभाजन की पहचान करने के निर्देश, फिर एक [[चेन लोडर]] के रूप में इसके [[वॉल्यूम बूट रिकॉर्ड]] (VBR) को लोड और निष्पादित करें।
*[[बूटस्ट्रैपिंग (कंप्यूटिंग)|बूटस्ट्रैप कोड]] : विन्यासित बूट योग्य विभाजन की पहचान करने के निर्देश, फिर इसके [[वॉल्यूम बूट रिकॉर्ड]] (VBR) को एक [[चेन लोडर|श्रृंखला भारक]] के रूप में लोड और निष्पादित करें।
*वैकल्पिक 32-बिट डिस्क टाइमस्टैम्प।<ref name="Sedory_2004_Timestamp" />
*वैकल्पिक 32-बिट ''डिस्क टाइमस्टैम्प''।<ref name="Sedory_2004_Timestamp" />
*वैकल्पिक 32-बिट डिस्क हस्ताक्षर।<ref name="Norton_2002_Inside" /><ref name="Graves_2004_Guide" /><ref name="Andrews_2003_Upgrade" /><ref name="Boswell_2003_Inside" />
*वैकल्पिक 32-बिट ''डिस्क चिह्न''।<ref name="Norton_2002_Inside" /><ref name="Graves_2004_Guide" /><ref name="Andrews_2003_Upgrade" /><ref name="Boswell_2003_Inside" />
== डिस्क विभाजन ==
== डिस्क विभाजन ==
[[आईबीएम]] [[पीसी दो|पीसी डॉस]] 2.0 ने एमबीआर विभाजन को स्थापित करने और बनाए रखने के लिए <code>[[FDISK]]</code> उपयोगिता की शुरुआत की। जब एक स्टोरेज डिवाइस को इस योजना के अनुसार विभाजित किया जाता है, तो इसके MBR में एक विभाजन तालिका होती है, जो विभाजन के रूप में संदर्भित रैखिक क्षेत्रों के स्थान, आकार और अन्य विशेषताओं का वर्णन करती है।
[[आईबीएम]] [[पीसी दो|पीसी डॉस]] 2.0 ने एमबीआर विभाजन को स्थापित करने और बनाए रखने के लिए <code>[[FDISK]]</code> उपयोगिता की शुरुआत की। जब एक स्टोरेज डिवाइस को इस योजना के अनुसार विभाजित किया जाता है, तो इसके एमबीआर में एक विभाजन तालिका होती है, जो विभाजन के रूप में संदर्भित रैखिक क्षेत्रों के स्थान, आकार और अन्य विशेषताओं का वर्णन करती है।


अधिक जटिल विभाजन योजनाओं, जैसे कि [[विस्तारित बूट रिकॉर्ड]] (EBRs), BSD डिस्कलेबल, या [[तार्किक डिस्क प्रबंधक]] मेटाडेटा विभाजन का वर्णन करने के लिए स्वयं विभाजन में भी डेटा हो सकता है।<ref name="Smith_2000_Multi-Boot"/>
अधिक जटिल विभाजन योजनाओं, जैसे कि [[विस्तारित बूट रिकॉर्ड]] (EBRs), BSD डिस्कलेबल, या [[तार्किक डिस्क प्रबंधक]] मेटाडेटा विभाजन का वर्णन करने के लिए स्वयं विभाजन में भी डेटा हो सकता है।<ref name="Smith_2000_Multi-Boot"/>


एमबीआर एक विभाजन में स्थित नहीं है; यह पहले विभाजन से पहले डिवाइस के पहले सेक्टर (भौतिक ऑफ़सेट 0) पर स्थित है। (एक गैर-विभाजित डिवाइस पर या एक अलग विभाजन के भीतर मौजूद बूट सेक्टर को [[वॉल्यूम बूट रिकॉर्ड]] कहा जाता है।) उन मामलों में जहां कंप्यूटर [[डायनेमिक ड्राइव ओवरले|डायनेमिक ड्राइव BIOS ओवरले]] या [[बूट प्रबंधक]] चला रहा है, विभाजन तालिका को किसी अन्य भौतिक में ले जाया जा सकता है। डिवाइस पर स्थान; उदाहरण के लिए, [[ऑनट्रैक डिस्क मैनेजर]] अक्सर दूसरे सेक्टर में मूल एमबीआर सामग्री की एक प्रति रखता है, फिर बाद में बूट किए गए ओएस या एप्लिकेशन से खुद को छुपाता है, इसलिए एमबीआर कॉपी को ऐसा माना जाता है जैसे कि यह अभी भी पहले सेक्टर में रह रहा हो।
एमबीआर एक विभाजन में स्थित नहीं है; यह पहले विभाजन से पहले डिवाइस के पहले क्षेत्र (भौतिक ऑफ़सेट 0) पर स्थित है। (एक गैर-विभाजित डिवाइस पर या एक अलग विभाजन के भीतर मौजूद बूट क्षेत्र को [[वॉल्यूम बूट रिकॉर्ड]] कहा जाता है।) उन मामलों में जहां कंप्यूटर [[डायनेमिक ड्राइव ओवरले|डायनेमिक ड्राइव BIOS ओवरले]] या [[बूट प्रबंधक]] चला रहा है, विभाजन तालिका को किसी अन्य भौतिक में ले जाया जा सकता है। डिवाइस पर स्थान; उदाहरण के लिए, [[ऑनट्रैक डिस्क मैनेजर]] अक्सर दूसरे क्षेत्र में मूल एमबीआर सामग्री की एक प्रति रखता है, फिर बाद में बूट किए गए ओएस या एप्लिकेशन से खुद को छुपाता है, इसलिए एमबीआर कॉपी को ऐसा माना जाता है जैसे कि यह अभी भी पहले क्षेत्र में रह रहा हो।


=== सेक्टर लेआउट ===
=== क्षेत्र लेआउट ===
परिपाटी के अनुसार, एमबीआर विभाजन तालिका योजना में बिल्कुल चार प्राथमिक विभाजन तालिका प्रविष्टियाँ हैं, हालाँकि कुछ ऑपरेटिंग सिस्टम और सिस्टम टूल्स ने इसे पाँच तक बढ़ा दिया है (उन्नत सक्रिय विभाजन (AAP) [[PTS-DOS]] 6.60<ref name="Brouwer_2003_Types-2A"/> और [[DR-DOS]] 7.07 के साथ) , आठ ([[AST Research]] और  [[NEC]] [[MS-DOS]] 3.x<ref name="Sedory_2007_DOS33MBR" /><ref name="Brouwer_2003_Types-2B"/> और साथ ही  स्पीडस्टोर [[भंडारण आयाम|स्टोरेज डायमेंशन]] [[स्पीडस्टोर]]), या सोलह प्रविष्टियाँ (ऑनट्रैक डिस्क मैनेजर के साथ)।
परिपाटी के अनुसार, एमबीआर विभाजन तालिका योजना में बिल्कुल चार प्राथमिक विभाजन तालिका प्रविष्टियाँ हैं, हालाँकि कुछ ऑपरेटिंग सिस्टम और सिस्टम टूल्स ने इसे पाँच तक बढ़ा दिया है (उन्नत सक्रिय विभाजन (AAP) [[PTS-DOS|PTS-डॉस]] 6.60<ref name="Brouwer_2003_Types-2A"/> और [[DR-DOS|DR-डॉस]] 7.07 के साथ) , आठ ([[AST Research]] और  [[NEC]] [[MS-DOS|MS-डॉस]] 3.x<ref name="Sedory_2007_DOS33MBR" /><ref name="Brouwer_2003_Types-2B"/> और साथ ही  स्पीडस्टोर [[भंडारण आयाम|स्टोरेज डायमेंशन]] [[स्पीडस्टोर]]), या सोलह प्रविष्टियाँ (ऑनट्रैक डिस्क मैनेजर के साथ)।
{| class="wikitable" style="float:left; width:45%; margin:1em;"
{| class="wikitable" style="float:left; width:45%; margin:1em;"
|+ Structure of a classical generic MBR
|+ Structure of a classical generic एमबीआर
|-
|-
! Address
! Address
Line 76: Line 76:


{| class="wikitable" style="float:right; width:45%; margin:1em;"
{| class="wikitable" style="float:right; width:45%; margin:1em;"
|+ Structure of a modern standard MBR
|+ Structure of a modern standard एमबीआर
|-
|-
! Address
! Address
Line 88: Line 88:
| style="text-align:center" | {{anchor|MBRNEW_OFS_0DAh|DISK_TS}}<code>0x00DA</code> (218)
| style="text-align:center" | {{anchor|MBRNEW_OFS_0DAh|DISK_TS}}<code>0x00DA</code> (218)
| style="text-align:center; background:#F2F2F2" | <code>0x0000</code>
| style="text-align:center; background:#F2F2F2" | <code>0x0000</code>
| rowspan="5" style="vertical-align:middle; text-align:center; background:#F2F2F2" | ''Disk timestamp''<ref name="Sedory_2004_Timestamp"/>{{efn|name="NB_Timestamp"}} (optional; Windows 95B/98/98SE/ME (MS-DOS 7.1–8.0). Alternatively, can serve as [[#NEWLDR_OFS_018h|OEM loader signature]] with NEWLDR)
| rowspan="5" style="vertical-align:middle; text-align:center; background:#F2F2F2" | ''Disk timestamp''<ref name="Sedory_2004_Timestamp"/>{{efn|name="NB_Timestamp"}} (optional; विंडोज़ 95B/98/98SE/ME (MS-डॉस 7.1–8.0). Alternatively, can serve as [[#NEWLDR_OFS_018h|OEM loader signature]] with NEWLDR)
| style="text-align:center" | 2
| style="text-align:center" | 2
|- style="height:60px"
|- style="height:60px"
Line 112: Line 112:
| style="text-align:center" | {{anchor|MBRNEW_OFS_1B8h|DISK_ID}}<code>0x01B8</code> (440)
| style="text-align:center" | {{anchor|MBRNEW_OFS_1B8h|DISK_ID}}<code>0x01B8</code> (440)
| style="text-align:center; background:#F2F2F2" | 32-bit disk signature
| style="text-align:center; background:#F2F2F2" | 32-bit disk signature
| rowspan="2" style="vertical-align:middle; text-align:center; background:#F2F2F2" | ''Disk signature'' (optional; [[Unified Extensible Firmware Interface|UEFI]]<!-- At least 2.3. -->, Linux, [[Windows NT]] family and other OSes)
| rowspan="2" style="vertical-align:middle; text-align:center; background:#F2F2F2" | ''Disk signature'' (optional; [[Unified Extensible Firmware Interface|UEFI]]<!-- At least 2.3. -->, Linux, [[Windows NT|विंडोज़ NT]] family and other OSes)
| style="text-align:center" | 4
| style="text-align:center" | 4
|- style="height:60px"
|- style="height:60px"
Line 149: Line 149:


{| class="wikitable" style="float:left; width:45%; margin:1em;"
{| class="wikitable" style="float:left; width:45%; margin:1em;"
|+ Structure of AAP MBR
|+ Structure of AAP एमबीआर
|-
|-
! Address
! Address
Line 180: Line 180:
|-
|-
| style="text-align:center" | {{anchor|MBRAAP_OFS_1B3h|MBRAAP_OFS_1B5h}}<code>0x01B3</code> (435)
| style="text-align:center" | {{anchor|MBRAAP_OFS_1B3h|MBRAAP_OFS_1B5h}}<code>0x01B3</code> (435)
| style="text-align:center; background:#F2F2F2" | Reserved for CHS end address in AAP (optional; byte at offset <code>0x01B5</code> is also used for MBR checksum (PTS DE, BootWizard); <code>0x000000</code> if not used)
| style="text-align:center; background:#F2F2F2" | Reserved for CHS end address in AAP (optional; byte at offset <code>0x01B5</code> is also used for एमबीआर checksum (PTS DE, BootWizard); <code>0x000000</code> if not used)
| style="text-align:center" | 3
| style="text-align:center" | 3
|-
|-
| style="text-align:center" | {{anchor|MBRAAP_OFS_1B6h}}<code>0x01B6</code> (438)
| style="text-align:center" | {{anchor|MBRAAP_OFS_1B6h}}<code>0x01B6</code> (438)
| style="text-align:center; background:#F2F2F2" | Start [[logical block addressing|LBA]] of AAP image file or [[volume boot record|VBR]]/[[extended boot record|EBR]] or relative sectors of AAP partition (copied to offset <code>[[Design of the FAT file system#BPB331_OFS_11h|+01C<sub>hex</sub>]]</code> in the loaded sector over the "hidden sectors" entry of a DOS 3.31 BPB (or emulation thereof) to also support EBR booting)<!-- PTS DE calls the 16-bit word at +1B6<sub>hex</sub> "structure size". Not sure if this is meant as the lower part of this 32-bit entry or something else. -->
| style="text-align:center; background:#F2F2F2" | Start [[logical block addressing|एलबीए]] of AAP image file or [[volume boot record|VBR]]/[[extended boot record|EBR]] or relative sectors of AAP partition (copied to offset <code>[[Design of the FAT file system#BPB331_OFS_11h|+01C<sub>hex</sub>]]</code> in the loaded sector over the "hidden sectors" entry of a डॉस 3.31 BPB (or emulation thereof) to also support EBR booting)<!-- PTS DE calls the 16-bit word at +1B6<sub>hex</sub> "structure size". Not sure if this is meant as the lower part of this 32-bit entry or something else. -->
| style="text-align:center" | 4
| style="text-align:center" | 4
|-
|-
Line 221: Line 221:


{| class="wikitable" style="float:right; width:45%; margin:1em;"
{| class="wikitable" style="float:right; width:45%; margin:1em;"
|+ Structure of NEWLDR MBR
|+ Structure of NEWLDR एमबीआर
|-
|-
! Address
! Address
Line 242: Line 242:
|-
|-
| style="text-align:center" | {{anchor|NEWLDR_OFS_009h}}<code>0x0009</code> (9)
| style="text-align:center" | {{anchor|NEWLDR_OFS_009h}}<code>0x0009</code> (9)
| style="text-align:center; background:#F2F2F2" | [[Cylinder-head-sector|CHS]] address of LOADER boot sector or image file (f.e. [[IBMBIO.LDR]]) (<code>0x000000</code> if not used)<!-- Up to here also supported by most issues of FIXLDR, LOADER's predecessor. -->
| style="text-align:center; background:#F2F2F2" | [[Cylinder-head-sector|CHS]] address of LOADER boot sector or image file (f.e. [[IBMBIO.LDR|आईबीएमBIO.LDR]]) (<code>0x000000</code> if not used)<!-- Up to here also supported by most issues of FIXLDR, LOADER's predecessor. -->
| style="text-align:center" | 3
| style="text-align:center" | 3
|-
|-
Line 254: Line 254:
|-
|-
| style="text-align:center" | {{anchor|NEWLDR_OFS_010h}}<code>0x0010</code> (16)
| style="text-align:center" | {{anchor|NEWLDR_OFS_010h}}<code>0x0010</code> (16)
| style="text-align:center; background:#F2F2F2" | [[logical block addressing|LBA]] of LOADER boot sector or image file (optional; <code>0x00000000</code> if not used)<!-- This does not imply that non-zero values are forced to be used. -->
| style="text-align:center; background:#F2F2F2" | [[logical block addressing|एलबीए]] of LOADER boot sector or image file (optional; <code>0x00000000</code> if not used)<!-- This does not imply that non-zero values are forced to be used. -->
| style="text-align:center" | 4
| style="text-align:center" | 4
|-
|-
Line 316: Line 316:


{| class="wikitable" style="float:left; width:45%; margin:1em;"
{| class="wikitable" style="float:left; width:45%; margin:1em;"
|+ Structure of AST/NEC MS-DOS and SpeedStor MBR
|+ Structure of AST/NEC MS-डॉस and SpeedStor एमबीआर
|-
|-
! Address
! Address
Line 381: Line 381:


{| class="wikitable" style="float:right; width:45%; margin:1em;"
{| class="wikitable" style="float:right; width:45%; margin:1em;"
|+ Structure of Ontrack Disk Manager MBR
|+ Structure of Ontrack Disk Manager एमबीआर
|-
|-
! Address
! Address
Line 484: Line 484:
! colspan="2" style="text-align: center;" | Offset<br />(bytes) !! Field<br />length !! Description
! colspan="2" style="text-align: center;" | Offset<br />(bytes) !! Field<br />length !! Description
|-
|-
| {{anchor|PTE_OFS_0h}}{{mono|0x00}} || || 1&nbsp;byte || Status {{Not a typo|or}} physical drive (bit 7 set is for active or bootable, old MBRs only accept {{mono|0x80}}, {{mono|0x00}} means inactive, and {{mono|0x01}}&ndash;{{mono|0x7F}} stand for invalid){{Efn|Originally, status values other than {{mono|0x00}} and {{mono|0x80}} were invalid, but modern MBRs treat the bit 7 as active flag and use this entry to store the physical boot unit.}}
| {{anchor|PTE_OFS_0h}}{{mono|0x00}} || || 1&nbsp;byte || Status {{Not a typo|or}} physical drive (bit 7 set is for active or bootable, old एमबीआर only accept {{mono|0x80}}, {{mono|0x00}} means inactive, and {{mono|0x01}}&ndash;{{mono|0x7F}} stand for invalid){{Efn|Originally, status values other than {{mono|0x00}} and {{mono|0x80}} were invalid, but modern MBRs treat the bit 7 as active flag and use this entry to store the physical boot unit.}}
|-
|-
| {{anchor|PTE_OFS_1h}}{{mono|0x01}} || || 3&nbsp;bytes || [[Cylinder-head-sector|CHS address]] of first absolute sector in partition.{{Efn|name="note-2"|The starting sector fields are limited to 1023+1 cylinders, 255+1 heads, and 63 sectors; ending sector fields have the same limitations.}} The format is described by three bytes, see the next three rows.
| {{anchor|PTE_OFS_1h}}{{mono|0x01}} || || 3&nbsp;bytes || [[Cylinder-head-sector|CHS address]] of first absolute sector in partition.{{Efn|name="note-2"|The starting sector fields are limited to 1023+1 cylinders, 255+1 heads, and 63 sectors; ending sector fields have the same limitations.}} The format is described by three bytes, see the next three rows.
Line 538: Line 538:
|-
|-
| {{anchor|PTE_OFS_4h}}{{mono|0x04}} || || 1 बाइट |<ref name="Brouwer_2012_Types-1"/>|-
| {{anchor|PTE_OFS_4h}}{{mono|0x04}} || || 1 बाइट |<ref name="Brouwer_2012_Types-1"/>|-
|{{anchor|PTE_OFS_5h}} {{mono|0x05}} || || 3 बाइट || विभाजन में अंतिम निरपेक्ष क्षेत्र का सिलेंडर-हेड-सेक्टर।{{Efn|name="note-2"}} प्रारूप 3 बाइट्स द्वारा वर्णित है, अगली 3 पंक्तियाँ देखें।
|{{anchor|PTE_OFS_5h}} {{mono|0x05}} || || 3 बाइट || विभाजन में अंतिम निरपेक्ष क्षेत्र का सिलेंडर-हेड-क्षेत्र।{{Efn|name="note-2"}} प्रारूप 3 बाइट्स द्वारा वर्णित है, अगली 3 पंक्तियाँ देखें।
|-
|-
| || {{anchor|PTE_CHS2_OFS_5h}}{{mono|0x05}} || 1 बाइट ||
| || {{anchor|PTE_CHS2_OFS_5h}}{{mono|0x05}} || 1 बाइट ||
Line 589: Line 589:
|}
|}
|-
|-
| {{anchor|PTE_OFS_8h}}{{mono|0x08}} || || 4 बाइट || विभाजन में पहले निरपेक्ष सेक्टर का तार्किक ब्लॉक एड्रेसिंग{{Efn|name="note-4"|The number of sectors is an index field; thus, the zero value is invalid, reserved and must not be used in normal partition entries. The entry is used by operating systems in certain circumstances; in such cases the CHS addresses are ignored.<ref name="Microsoft_2000_LBA-Blocks"/>}}
| {{anchor|PTE_OFS_8h}}{{mono|0x08}} || || 4 बाइट || विभाजन में पहले निरपेक्ष क्षेत्र का तार्किक ब्लॉक एड्रेसिंग{{Efn|name="note-4"|The number of sectors is an index field; thus, the zero value is invalid, reserved and must not be used in normal partition entries. The entry is used by operating systems in certain circumstances; in such cases the CHS addresses are ignored.<ref name="Microsoft_2000_LBA-Blocks"/>}}
|-
|-
| {{anchor|PTE_OFS_Ch}}{{mono|0x0C}} || || 4 बाइट || विभाजन में क्षेत्रों की संख्या{{Efn|name="note-4"}}
| {{anchor|PTE_OFS_Ch}}{{mono|0x0C}} || || 4 बाइट || विभाजन में क्षेत्रों की संख्या{{Efn|name="note-4"}}
|}
|}


[[पीसी एक्सटी]] के युग से हार्ड डिस्क प्रौद्योगिकी का एक आर्टिफैक्ट, विभाजन तालिका [[सिलेंडर (डिस्क ड्राइव)]], [[डिस्क रीड-एंड-राइट हेड]] और सेक्टर (सीएचएस एड्रेसिंग) की इकाइयों का उपयोग करके भंडारण माध्यम को उप-विभाजित करती है। ये मान अब आधुनिक डिस्क ड्राइव में उनके हमनाम के अनुरूप नहीं हैं, साथ ही ठोस-राज्य ड्राइव जैसे अन्य उपकरणों में अप्रासंगिक हैं, जिनमें भौतिक रूप से सिलेंडर या हेड नहीं होते हैं।
[[पीसी एक्सटी]] के युग से हार्ड डिस्क प्रौद्योगिकी का एक आर्टिफैक्ट, विभाजन तालिका [[सिलेंडर (डिस्क ड्राइव)]], [[डिस्क रीड-एंड-राइट हेड]] और क्षेत्र (सीएचएस एड्रेसिंग) की इकाइयों का उपयोग करके भंडारण माध्यम को उप-विभाजित करती है। ये मान अब आधुनिक डिस्क ड्राइव में उनके हमनाम के अनुरूप नहीं हैं, साथ ही ठोस-राज्य ड्राइव जैसे अन्य उपकरणों में अप्रासंगिक हैं, जिनमें भौतिक रूप से सिलेंडर या हेड नहीं होते हैं।


सीएचएस योजना में, सेक्टर इंडेक्स (लगभग) हमेशा सेक्टर 0 के बजाय सेक्टर 1 के साथ शुरू होता है, और MS-DOS/PC DOS के सभी संस्करणों में त्रुटि के कारण 7.10 तक, हेड्स की संख्या आम तौर पर सीमित होती है 256 के बजाय 255{{Efn|name="NB_RBIL_Head_Limit"}}। जब इन क्षेत्रों में फ़िट होने के लिए एक सीएचएस पता बहुत बड़ा होता है, तो [[टपल]] (1023, 254, 63) आज आमतौर पर उपयोग किया जाता है, हालांकि पुराने सिस्टम पर, और पुराने डिस्क टूल्स के साथ, सिलेंडर वैल्यू अक्सर मॉड्यूलो के चारों ओर 8 जीबी के करीब सीएचएस बैरियर लपेटा जाता है, जिससे अस्पष्टता और डेटा भ्रष्टाचार का जोखिम होता है। (यदि स्थिति में GPT के साथ डिस्क पर "सुरक्षात्मक" MBR शामिल है, तो Intel के [[एक्स्टेंसिबल फ़र्मवेयर इंटरफ़ेस]] विनिर्देश के लिए आवश्यक है कि टपल (1023, 255, 63) का उपयोग किया जाए।) 10-बिट सिलेंडर मान क्रम में दो बाइट्स के भीतर दर्ज किया गया है मूल/विरासत INT 13h BIOS डिस्क एक्सेस रूटीन में कॉल करने की सुविधा के लिए, जहां 16 बिट्स को सेक्टर और सिलेंडर भागों में विभाजित किया गया था, न कि बाइट सीमाओं पर।<ref name="Phoenix_1989_System-BIOS"/>
सीएचएस योजना में, क्षेत्र इंडेक्स (लगभग) हमेशा क्षेत्र 0 के बजाय क्षेत्र 1 के साथ शुरू होता है, और MS-डॉस/पीसी डॉस के सभी संस्करणों में त्रुटि के कारण 7.10 तक, हेड्स की संख्या आम तौर पर सीमित होती है 256 के बजाय 255{{Efn|name="NB_RBIL_Head_Limit"}}। जब इन क्षेत्रों में फ़िट होने के लिए एक सीएचएस पता बहुत बड़ा होता है, तो [[टपल]] (1023, 254, 63) आज सामान्यतः उपयोग किया जाता है, हालांकि पुराने सिस्टम पर, और पुराने डिस्क टूल्स के साथ, सिलेंडर वैल्यू अक्सर मॉड्यूलो के चारों ओर 8 जीबी के करीब सीएचएस बैरियर लपेटा जाता है, जिससे अस्पष्टता और डेटा भ्रष्टाचार का जोखिम होता है। (यदि स्थिति में GPT के साथ डिस्क पर "सुरक्षात्मक" एमबीआर शामिल है, तो Intel के [[एक्स्टेंसिबल फ़र्मवेयर इंटरफ़ेस]] विनिर्देश के लिए आवश्यक है कि टपल (1023, 255, 63) का उपयोग किया जाए।) 10-बिट सिलेंडर मान क्रम में दो बाइट्स के भीतर दर्ज किया गया है मूल/विरासत INT 13h BIOS डिस्क एक्सेस रूटीन में कॉल करने की सुविधा के लिए, जहां 16 बिट्स को क्षेत्र और सिलेंडर भागों में विभाजित किया गया था, न कि बाइट सीमाओं पर।<ref name="Phoenix_1989_System-BIOS"/>


सीएचएस एड्रेसिंग की सीमाओं के कारण,<ref name="Tech-Juice_2011_Geometry"/><ref name="PC-Guide_BIOS"/> एलबीए, या लॉजिकल ब्लॉक एड्रेसिंग का उपयोग करने के लिए एक संक्रमण किया गया था। विभाजन की लंबाई और विभाजन प्रारंभ पता दोनों विभाजन तालिका प्रविष्टियों में 32-बिट मात्रा के रूप में संग्रहीत क्षेत्र मान हैं। क्षेत्र का आकार 512 (2<sup>9</sup>) बाइट्स पर निश्चित माना जाता था, और [[चिपसेट]], बूट सेक्टर, [[ऑपरेटिंग सिस्टम]], [[डेटाबेस इंजन]], विभाजन उपकरण, [[बैकअप]] और [[फाइल सिस्टम]] उपयोगिताओं और अन्य सॉफ़्टवेयर सहित महत्वपूर्ण घटकों की एक विस्तृत श्रृंखला का यह मान कठिन था- कोडित। 2009 के अंत से, 4096-बाइट सेक्टरों ([[4Kn]] या [[उन्नत प्रारूप]]) को नियोजित करने वाले डिस्क ड्राइव उपलब्ध हैं, हालांकि इनमें से कुछ ड्राइव के लिए सेक्टर का आकार अभी भी 512 बाइट्स के रूप में हार्ड-में रूपांतरण के माध्यम से होस्ट सिस्टम को रिपोर्ट किया गया था। ड्राइव फर्मवेयर और 512 एमुलेशन ड्राइव (([[512e]]) के रूप में संदर्भित।
सीएचएस एड्रेसिंग की सीमाओं के कारण,<ref name="Tech-Juice_2011_Geometry"/><ref name="PC-Guide_BIOS"/> एलबीए, या लॉजिकल ब्लॉक एड्रेसिंग का उपयोग करने के लिए एक संक्रमण किया गया था। विभाजन की लंबाई और विभाजन प्रारंभ पता दोनों विभाजन तालिका प्रविष्टियों में 32-बिट मात्रा के रूप में संग्रहीत क्षेत्र मान हैं। क्षेत्र का आकार 512 (2<sup>9</sup>) बाइट्स पर निश्चित माना जाता था, और [[चिपसेट]], बूट क्षेत्र, [[ऑपरेटिंग सिस्टम]], [[डेटाबेस इंजन]], विभाजन उपकरण, [[बैकअप]] और [[फाइल सिस्टम]] उपयोगिताओं और अन्य सॉफ़्टवेयर सहित महत्वपूर्ण घटकों की एक विस्तृत श्रृंखला का यह मान कठिन था- कोडित। 2009 के अंत से, 4096-बाइट क्षेत्रों ([[4Kn]] या [[उन्नत प्रारूप]]) को नियोजित करने वाले डिस्क ड्राइव उपलब्ध हैं, हालांकि इनमें से कुछ ड्राइव के लिए क्षेत्र का आकार अभी भी 512 बाइट्स के रूप में हार्ड-में रूपांतरण के माध्यम से होस्ट सिस्टम को रिपोर्ट किया गया था। ड्राइव फर्मवेयर और 512 एमुलेशन ड्राइव (([[512e]]) के रूप में संदर्भित।


चूंकि ब्लॉक पते और आकार 32 बिट्स का उपयोग करके MBR की विभाजन तालिका में संग्रहीत किए जाते हैं, अधिकतम आकार, साथ ही उच्चतम प्रारंभ पता, 512-बाइट सेक्टर (वास्तविक या अनुकरणीय) वाले ड्राइव का उपयोग करने वाले विभाजन का 2 TiB से अधिक नहीं हो सकता है। −512 बाइट्स (2199023255040 बाइट्स या 4294967295 (232−1) सेक्टर × 512 (29) बाइट्स प्रति सेक्टर)।<ref name="Microsoft_2013_2581408"/> इस क्षमता सीमा को कम करना जीपीटी के विकास के लिए प्रमुख प्रेरणाओं में से एक था।
चूंकि ब्लॉक पते और आकार 32 बिट्स का उपयोग करके एमबीआर की विभाजन तालिका में संग्रहीत किए जाते हैं, अधिकतम आकार, साथ ही उच्चतम प्रारंभ पता, 512-बाइट क्षेत्र (वास्तविक या अनुकरणीय) वाले ड्राइव का उपयोग करने वाले विभाजन का 2 TiB से अधिक नहीं हो सकता है। −512 बाइट्स (2199023255040 बाइट्स या 4294967295 (232−1) क्षेत्र × 512 (29) बाइट्स प्रति क्षेत्र)।<ref name="Microsoft_2013_2581408"/> इस क्षमता सीमा को कम करना जीपीटी के विकास के लिए प्रमुख प्रेरणाओं में से एक था।


चूंकि विभाजन जानकारी एमबीआर विभाजन तालिका में शुरुआती ब्लॉक पते और लंबाई का उपयोग करके संग्रहीत की जाती है, इसलिए सिद्धांत रूप में विभाजन को इस तरह से परिभाषित करना संभव हो सकता है कि 512-बाइट क्षेत्रों के साथ डिस्क के लिए आवंटित स्थान कुल आकार 4 देता है। TiB, यदि एक को छोड़कर सभी विभाजन 2 TiB सीमा से नीचे स्थित हैं और अंतिम विभाजन को 2<sup>32</sup>−1 को शुरू करने या बंद करने के रूप में निर्दिष्ट किया गया है और 2<sup>32</sup>−1 तक के आकार को निर्दिष्ट करता है, जिससे एक विभाजन को परिभाषित किया जाता है जिसके लिए 33 की बजाय आवश्यकता होती है एक्सेस किए जाने वाले सेक्टर एड्रेस के लिए 32 बिट्स। हालाँकि, व्यवहार में, केवल कुछ [[LBA-48]]-सक्षम ऑपरेटिंग सिस्टम, जिसमें Linux, FreeBSD और Windows 7<ref name="Smith_2011_gdisk"/> शामिल हैं, जो 64-बिट सेक्टर पतों का आंतरिक रूप से उपयोग करते हैं, वास्तव में इसका समर्थन करते हैं। कोड स्थान की कमी और एमबीआर विभाजन तालिका की प्रकृति के कारण केवल 32 बिट्स, बूट सेक्टरों का समर्थन करने के लिए, भले ही [[एलबीए-28]] के बजाय एलबीए-48 का समर्थन करने के लिए सक्षम किया गया हो, अक्सर 32-बिट गणनाओं का उपयोग करते हैं, जब तक कि वे विशेष रूप से समर्थन करने के लिए डिज़ाइन नहीं किए जाते हैं LBA-48 की पूर्ण पता श्रेणी या केवल 64-बिट प्लेटफॉर्म पर चलने का इरादा है। आंतरिक रूप से 32-बिट सेक्टर पतों का उपयोग करने वाला कोई भी बूट कोड या ऑपरेटिंग सिस्टम पतों को इस विभाजन तक पहुँचने के लिए चारों ओर लपेट देगा और इसके परिणामस्वरूप सभी विभाजनों पर गंभीर डेटा भ्रष्टाचार होगा।
चूंकि विभाजन जानकारी एमबीआर विभाजन तालिका में शुरुआती ब्लॉक पते और लंबाई का उपयोग करके संग्रहीत की जाती है, इसलिए सिद्धांत रूप में विभाजन को इस तरह से परिभाषित करना संभव हो सकता है कि 512-बाइट क्षेत्रों के साथ डिस्क के लिए आवंटित स्थान कुल आकार 4 देता है। TiB, यदि एक को छोड़कर सभी विभाजन 2 TiB सीमा से नीचे स्थित हैं और अंतिम विभाजन को 2<sup>32</sup>−1 को शुरू करने या बंद करने के रूप में निर्दिष्ट किया गया है और 2<sup>32</sup>−1 तक के आकार को निर्दिष्ट करता है, जिससे एक विभाजन को परिभाषित किया जाता है जिसके लिए 33 की बजाय आवश्यकता होती है एक्सेस किए जाने वाले क्षेत्र एड्रेस के लिए 32 बिट्स। हालाँकि, व्यवहार में, केवल कुछ [[LBA-48|एलबीए-48]]-सक्षम ऑपरेटिंग सिस्टम, जिसमें Linux, FreeBSD और विंडोज़ 7<ref name="Smith_2011_gdisk"/> शामिल हैं, जो 64-बिट क्षेत्र पतों का आंतरिक रूप से उपयोग करते हैं, वास्तव में इसका समर्थन करते हैं। कोड स्थान की कमी और एमबीआर विभाजन तालिका की प्रकृति के कारण केवल 32 बिट्स, बूट क्षेत्रों का समर्थन करने के लिए, भले ही [[एलबीए-28]] के बजाय एलबीए-48 का समर्थन करने के लिए सक्षम किया गया हो, अक्सर 32-बिट गणनाओं का उपयोग करते हैं, जब तक कि वे विशेष रूप से समर्थन करने के लिए डिज़ाइन नहीं किए जाते हैं एलबीए-48 की पूर्ण पता श्रेणी या केवल 64-बिट प्लेटफॉर्म पर चलने का इरादा है। आंतरिक रूप से 32-बिट क्षेत्र पतों का उपयोग करने वाला कोई भी बूट कोड या ऑपरेटिंग सिस्टम पतों को इस विभाजन तक पहुँचने के लिए चारों ओर लपेट देगा और इसके परिणामस्वरूप सभी विभाजनों पर गंभीर डेटा भ्रष्टाचार होगा।


डिस्क के लिए जो 512 बाइट्स के अलावा एक सेक्टर आकार प्रस्तुत करता है, जैसे [[USB]] [[बाहरी ड्राइव]], वहाँ भी सीमाएँ हैं। 4096 के एक सेक्टर आकार के परिणामस्वरूप एक विभाजन के आकार में आठ गुना वृद्धि होती है जिसे MBR का उपयोग करके परिभाषित किया जा सकता है, जिससे आकार में 16 TiB (2<sup>32</sup> × 4096 बाइट्स) तक के विभाजन की अनुमति मिलती है।<ref name="Superuser_2013"/> Windows XP की तुलना में हाल के संस्करण बड़े सेक्टर आकारों के साथ-साथ Mac OS X का समर्थन करते हैं, और [[लिनक्स]] ने 2.6.31<ref name="Seagate_4K"/> या 2.6.32,<ref name="Western-Digital_1"/> के बाद से बड़े सेक्टर आकारों का समर्थन किया है, लेकिन बूट लोडर, विभाजन के साथ समस्याएँ उपकरण और कंप्यूटर BIOS कार्यान्वयन कुछ सीमाएँ प्रस्तुत करते हैं,<ref name="IBM_4K"/> क्योंकि वे अक्सर सेक्टर बफ़र्स के लिए केवल 512 बाइट्स आरक्षित करने के लिए हार्ड-वायर्ड होते हैं, जिससे मेमोरी बड़े सेक्टर आकारों के लिए अधिलेखित हो जाती है। इससे अप्रत्याशित व्यवहार भी हो सकता है, और इसलिए जब अनुकूलता और मानक अनुरूपता एक मुद्दा हो तो इससे बचना चाहिए।
डिस्क के लिए जो 512 बाइट्स के अलावा एक क्षेत्र आकार प्रस्तुत करता है, जैसे [[USB]] [[बाहरी ड्राइव]], वहाँ भी सीमाएँ हैं। 4096 के एक क्षेत्र आकार के परिणामस्वरूप एक विभाजन के आकार में आठ गुना वृद्धि होती है जिसे एमबीआर का उपयोग करके परिभाषित किया जा सकता है, जिससे आकार में 16 TiB (2<sup>32</sup> × 4096 बाइट्स) तक के विभाजन की अनुमति मिलती है।<ref name="Superuser_2013"/> विंडोज़ XP की तुलना में हाल के संस्करण बड़े क्षेत्र आकारों के साथ-साथ Mac OS X का समर्थन करते हैं, और [[लिनक्स]] ने 2.6.31<ref name="Seagate_4K"/> या 2.6.32,<ref name="Western-Digital_1"/> के बाद से बड़े क्षेत्र आकारों का समर्थन किया है, लेकिन बूट भारक, विभाजन के साथ समस्याएँ उपकरण और कंप्यूटर BIOS कार्यान्वयन कुछ सीमाएँ प्रस्तुत करते हैं,<ref name="IBM_4K"/> क्योंकि वे अक्सर क्षेत्र बफ़र्स के लिए केवल 512 बाइट्स आरक्षित करने के लिए हार्ड-वायर्ड होते हैं, जिससे मेमोरी बड़े क्षेत्र आकारों के लिए अधिलेखित हो जाती है। इससे अप्रत्याशित व्यवहार भी हो सकता है, और इसलिए जब अनुकूलता और मानक अनुरूपता एक मुद्दा हो तो इससे बचना चाहिए।


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


== सिस्टम बूटस्ट्रैपिंग ==
== सिस्टम बूटस्ट्रैपिंग ==
आईबीएम पीसी-संगत कंप्यूटरों पर, [[बूटस्ट्रैपिंग]] [[फर्मवेयर]] ([[रीड ऑनली मैमोरी]] [[BIOS]] के भीतर निहित) मास्टर बूट रिकॉर्ड को लोड और निष्पादित करता है।<ref name="OSDev_2011_MBR"/> PC/XT (टाइप 5160) ने [[Intel 8088]] [[कंप्यूटर प्रोसेसर]] का उपयोग किया। संगत बने रहने के लिए, सभी x86 आर्किटेक्चर सिस्टम एक ऑपरेटिंग मोड में माइक्रोप्रोसेसर से शुरू होते हैं जिसे [[वास्तविक मोड]] कहा जाता है। BIOS MBR को स्टोरेज डिवाइस से भौतिक मेमोरी में पढ़ता है, और फिर यह माइक्रोप्रोसेसर को बूट कोड की शुरुआत के लिए निर्देशित करता है। चूंकि BIOS वास्तविक मोड में चलता है, जब MBR प्रोग्राम निष्पादित होना शुरू होता है तो प्रोसेसर वास्तविक मोड में होता है, और इसलिए MBR की शुरुआत में वास्तविक-मोड [[मशीन कोड]] शामिल होने की उम्मीद है।<ref name="OSDev_2011_MBR"/>
आईबीएम पीसी-संगत कंप्यूटरों पर, [[बूटस्ट्रैपिंग]] [[फर्मवेयर]] ([[रीड ऑनली मैमोरी]] [[BIOS]] के भीतर निहित) मास्टर बूट रिकॉर्ड को लोड और निष्पादित करता है।<ref name="OSDev_2011_MBR"/> PC/XT (टाइप 5160) ने [[Intel 8088]] [[कंप्यूटर प्रोसेसर]] का उपयोग किया। संगत बने रहने के लिए, सभी x86 आर्किटेक्चर सिस्टम एक ऑपरेटिंग मोड में माइक्रोप्रोसेसर से शुरू होते हैं जिसे [[वास्तविक मोड]] कहा जाता है। BIOS एमबीआर को स्टोरेज डिवाइस से भौतिक मेमोरी में पढ़ता है, और फिर यह माइक्रोप्रोसेसर को बूट कोड की शुरुआत के लिए निर्देशित करता है। चूंकि BIOS वास्तविक मोड में चलता है, जब एमबीआर प्रोग्राम निष्पादित होना शुरू होता है तो प्रोसेसर वास्तविक मोड में होता है, और इसलिए एमबीआर की शुरुआत में वास्तविक-मोड [[मशीन कोड]] शामिल होने की उम्मीद है।<ref name="OSDev_2011_MBR"/>


चूंकि BIOS बूटस्ट्रैप रूटीन लोड करता है और भौतिक डिस्क से ठीक एक सेक्टर चलाता है, बूट कोड के साथ MBR में विभाजन तालिका होने से MBR प्रोग्राम के डिज़ाइन को सरल करता है। इसमें एक छोटा प्रोग्राम होता है जो लक्षित विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) को लोड करता है। नियंत्रण तब इस कोड को दिया जाता है, जो वास्तविक ऑपरेटिंग सिस्टम को लोड करने के लिए जिम्मेदार होता है। इस प्रक्रिया को [[चेन लोड हो रहा है|चेन लोडिंग]] के रूप में जाना जाता है।
चूंकि BIOS बूटस्ट्रैप रूटीन लोड करता है और भौतिक डिस्क से ठीक एक क्षेत्र चलाता है, बूट कोड के साथ एमबीआर में विभाजन तालिका होने से एमबीआर प्रोग्राम के डिज़ाइन को सरल करता है। इसमें एक छोटा प्रोग्राम होता है जो लक्षित विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) को लोड करता है। नियंत्रण तब इस कोड को दिया जाता है, जो वास्तविक ऑपरेटिंग सिस्टम को लोड करने के लिए जिम्मेदार होता है। इस प्रक्रिया को [[चेन लोड हो रहा है|चेन लोडिंग]] के रूप में जाना जाता है।


लोकप्रिय एमबीआर कोड प्रोग्राम पीसी डॉस और एमएस-डॉस को बूट करने के लिए बनाए गए थे, और समान बूट कोड व्यापक उपयोग में रहता है। ये बूट सेक्टर <code>FDISK</code> पार्टीशन टेबल स्कीम के उपयोग में होने की उम्मीद करते हैं और MBR के एम्बेडेड पार्टीशन टेबल में विभाजन की सूची को स्कैन करते हैं ताकि केवल एक को खोजा जा सके जो सक्रिय ध्वज के साथ चिह्नित है।<ref name="Sedory_2003_MBR200"/> यह तब सक्रिय विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) को लोड करता है और चलाता है।
लोकप्रिय एमबीआर कोड प्रोग्राम पीसी डॉस और एमएस-डॉस को बूट करने के लिए बनाए गए थे, और समान बूट कोड व्यापक उपयोग में रहता है। ये बूट क्षेत्र <code>FDISK</code> पार्टीशन टेबल स्कीम के उपयोग में होने की उम्मीद करते हैं और एमबीआर के एम्बेडेड पार्टीशन टेबल में विभाजन की सूची को स्कैन करते हैं ताकि केवल एक को खोजा जा सके जो सक्रिय ध्वज के साथ चिह्नित है।<ref name="Sedory_2003_MBR200"/> यह तब सक्रिय विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) को लोड करता है और चलाता है।


वैकल्पिक बूट कोड कार्यान्वयन हैं, जिनमें से कुछ बूट प्रबंधकों द्वारा संस्थापित किए गए हैं, जो विभिन्न तरीकों से कार्य करते हैं। कुछ एमबीआर कोड डिस्क के पहले ट्रैक से बूट मैनेजर के लिए अतिरिक्त कोड लोड करता है, जिसे वह "मुक्त" स्थान मानता है जो किसी डिस्क विभाजन को आवंटित नहीं किया जाता है, और इसे निष्पादित करता है। एक एमबीआर प्रोग्राम उपयोगकर्ता के साथ बातचीत कर सकता है यह निर्धारित करने के लिए कि कौन सा विभाजन किस ड्राइव पर बूट होना चाहिए, और एक अलग ड्राइव के एमबीआर पर नियंत्रण स्थानांतरित कर सकता है। अन्य एमबीआर कोड में लोड करने और निष्पादित करने के लिए बूट प्रबंधक कोड के शेष के डिस्क स्थानों (अक्सर [[फाइल सिस्टम]] में [[कम्प्यूटर फाइल|फाइल]] की सामग्री के अनुरूप) की एक सूची होती है। (पहला व्यवहार उस व्यवहार पर निर्भर करता है जो सभी डिस्क विभाजन उपयोगिताओं में सार्वभौमिक नहीं है, विशेष रूप से वे जो GPTs को पढ़ते और लिखते हैं। अंतिम के लिए आवश्यक है कि डिस्क स्थानों की एम्बेडेड सूची को अद्यतन किया जाए जब परिवर्तन किए जाते हैं जो कोड के शेष भाग को स्थानांतरित कर देंगे। )
वैकल्पिक बूट कोड कार्यान्वयन हैं, जिनमें से कुछ बूट प्रबंधकों द्वारा संस्थापित किए गए हैं, जो विभिन्न तरीकों से कार्य करते हैं। कुछ एमबीआर कोड डिस्क के पहले ट्रैक से बूट मैनेजर के लिए अतिरिक्त कोड लोड करता है, जिसे वह "मुक्त" स्थान मानता है जो किसी डिस्क विभाजन को आवंटित नहीं किया जाता है, और इसे निष्पादित करता है। एक एमबीआर प्रोग्राम उपयोगकर्ता के साथ बातचीत कर सकता है यह निर्धारित करने के लिए कि कौन सा विभाजन किस ड्राइव पर बूट होना चाहिए, और एक अलग ड्राइव के एमबीआर पर नियंत्रण स्थानांतरित कर सकता है। अन्य एमबीआर कोड में लोड करने और निष्पादित करने के लिए बूट प्रबंधक कोड के शेष के डिस्क स्थानों (अक्सर [[फाइल सिस्टम]] में [[कम्प्यूटर फाइल|फाइल]] की सामग्री के अनुरूप) की एक सूची होती है। (पहला व्यवहार उस व्यवहार पर निर्भर करता है जो सभी डिस्क विभाजन उपयोगिताओं में सार्वभौमिक नहीं है, विशेष रूप से वे जो GPTs को पढ़ते और लिखते हैं। अंतिम के लिए आवश्यक है कि डिस्क स्थानों की एम्बेडेड सूची को अद्यतन किया जाए जब परिवर्तन किए जाते हैं जो कोड के शेष भाग को स्थानांतरित कर देंगे। )


उन मशीनों पर जो x[[86]] प्रोसेसर का उपयोग नहीं करते हैं, या x86 मशीनों पर गैर-BIOS फ़र्मवेयर जैसे कि [[फर्मवेयर खोलें|ओपन फ़र्मवेयर]] या एक्स्टेंसिबल फ़र्मवेयर इंटरफ़ेस (EFI) फ़र्मवेयर, यह डिज़ाइन अनुपयुक्त है, और MBR सिस्टम बूटस्ट्रैप के हिस्से के रूप में उपयोग नहीं किया जाता है।<ref name="Singh_2009_OSX"/> इसके बजाय EFI फर्मवेयर सीधे GPT विभाजन योजना और FAT फाइल सिस्टम प्रारूप को समझने में सक्षम है, और [[EFI सिस्टम विभाजन]] में फाइलों के रूप में रखे प्रोग्राम को लोड और चलाता है।<ref name="Boyne_2011_EFI-Boot"/> यदि GPT विभाजन तालिका योजना का उपयोग किया गया है, तो MBR केवल उसी हद तक शामिल होगा, जिसमें संगतता उद्देश्यों के लिए एक विभाजन तालिका शामिल हो सकती है।
उन मशीनों पर जो x[[86]] प्रोसेसर का उपयोग नहीं करते हैं, या x86 मशीनों पर गैर-BIOS फ़र्मवेयर जैसे कि [[फर्मवेयर खोलें|ओपन फ़र्मवेयर]] या एक्स्टेंसिबल फ़र्मवेयर इंटरफ़ेस (EFI) फ़र्मवेयर, यह डिज़ाइन अनुपयुक्त है, और एमबीआर सिस्टम बूटस्ट्रैप के हिस्से के रूप में उपयोग नहीं किया जाता है।<ref name="Singh_2009_OSX"/> इसके बजाय EFI फर्मवेयर सीधे GPT विभाजन योजना और FAT फाइल सिस्टम प्रारूप को समझने में सक्षम है, और [[EFI सिस्टम विभाजन]] में फाइलों के रूप में रखे प्रोग्राम को लोड और चलाता है।<ref name="Boyne_2011_EFI-Boot"/> यदि GPT विभाजन तालिका योजना का उपयोग किया गया है, तो एमबीआर केवल उसी हद तक शामिल होगा, जिसमें संगतता उद्देश्यों के लिए एक विभाजन तालिका शामिल हो सकती है।


कुछ एमबीआर प्रतिस्थापन कोड है जो ईएफआई फर्मवेयर के बूटस्ट्रैप का अनुकरण करता है, जो गैर-ईएफआई मशीनों को जीपीटी विभाजन योजना का उपयोग करके डिस्क से बूट करने में सक्षम बनाता है। यह एक GPT का पता लगाता है, प्रोसेसर को सही ऑपरेटिंग मोड में रखता है, और इस कार्य को पूरा करने के लिए EFI संगत कोड को डिस्क से लोड करता है।
कुछ एमबीआर प्रतिस्थापन कोड है जो ईएफआई फर्मवेयर के बूटस्ट्रैप का अनुकरण करता है, जो गैर-ईएफआई मशीनों को जीपीटी विभाजन योजना का उपयोग करके डिस्क से बूट करने में सक्षम बनाता है। यह एक GPT का पता लगाता है, प्रोसेसर को सही ऑपरेटिंग मोड में रखता है, और इस कार्य को पूरा करने के लिए EFI संगत कोड को डिस्क से लोड करता है।
Line 624: Line 624:
[[File:Qtparted-usb-hdd-snapshot.png|thumb|300px|बाहरी हार्ड ड्राइव के विभाजन तालिका में निहित जानकारी, जैसा कि लिनक्स के तहत चल रहे उपयोगिता कार्यक्रम [[QtParted]] में दिखाई देता है]]बूटस्ट्रैप कोड और विभाजन तालिका के अतिरिक्त, मास्टर बूट रिकॉर्ड में डिस्क हस्ताक्षर हो सकते हैं। यह एक 32-बिट मान है जिसका उद्देश्य विशिष्ट रूप से डिस्क माध्यम की पहचान करना है (जैसा कि डिस्क इकाई के विपरीत है - दो आवश्यक रूप से हटाने योग्य हार्ड डिस्क के लिए समान नहीं हैं)।
[[File:Qtparted-usb-hdd-snapshot.png|thumb|300px|बाहरी हार्ड ड्राइव के विभाजन तालिका में निहित जानकारी, जैसा कि लिनक्स के तहत चल रहे उपयोगिता कार्यक्रम [[QtParted]] में दिखाई देता है]]बूटस्ट्रैप कोड और विभाजन तालिका के अतिरिक्त, मास्टर बूट रिकॉर्ड में डिस्क हस्ताक्षर हो सकते हैं। यह एक 32-बिट मान है जिसका उद्देश्य विशिष्ट रूप से डिस्क माध्यम की पहचान करना है (जैसा कि डिस्क इकाई के विपरीत है - दो आवश्यक रूप से हटाने योग्य हार्ड डिस्क के लिए समान नहीं हैं)।


डिस्क हस्ताक्षर विंडोज एनटी संस्करण 3.5 द्वारा पेश किया गया था, लेकिन अब इसका उपयोग कई ऑपरेटिंग सिस्टमों द्वारा किया जाता है, जिसमें [[लिनक्स कर्नेल]] संस्करण 2.6 और बाद में शामिल है। Linux उपकरण NT डिस्क हस्ताक्षर का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि मशीन किस डिस्क से बूट हुई है।<ref name="Domsch_2003_EDD"/>
डिस्क हस्ताक्षर विंडोज एनटी संस्करण 3.5 द्वारा प्रस्तुत किया गया था, लेकिन अब इसका उपयोग कई ऑपरेटिंग सिस्टमों द्वारा किया जाता है, जिसमें [[लिनक्स कर्नेल]] संस्करण 2.6 और बाद में शामिल है। Linux उपकरण NT डिस्क हस्ताक्षर का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि मशीन किस डिस्क से बूट हुई है।<ref name="Domsch_2003_EDD"/>
विंडोज एनटी (और बाद में माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम) उस ओएस के तहत कंप्यूटर से जुड़े किसी भी डिस्क पर सभी विभाजनों के लिए एक इंडेक्स के रूप में डिस्क हस्ताक्षर का उपयोग करता है; ये हस्ताक्षर [[विंडोज रजिस्ट्री]] कुंजियों में रखे जाते हैं, मुख्य रूप से डिस्क विभाजन और ड्राइव अक्षरों के बीच लगातार मैपिंग को संग्रहित करने के लिए। बूट करने योग्य Windows NT (या बाद के) विभाजन के स्थान का वर्णन करने के लिए इसका उपयोग Windows NT BOOT.INI फ़ाइलों में भी किया जा सकता है (हालांकि अधिकांश ऐसा नहीं करते हैं)।<ref name="Microsoft_KB227704"/>एक कुंजी (कई के बीच), जहां Windows 2000/XP रजिस्ट्री में NT डिस्क हस्ताक्षर दिखाई देते हैं, वह है:
विंडोज एनटी (और बाद में माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम) उस ओएस के तहत कंप्यूटर से जुड़े किसी भी डिस्क पर सभी विभाजनों के लिए एक इंडेक्स के रूप में डिस्क हस्ताक्षर का उपयोग करता है; ये हस्ताक्षर [[विंडोज रजिस्ट्री]] कुंजियों में रखे जाते हैं, मुख्य रूप से डिस्क विभाजन और ड्राइव अक्षरों के बीच लगातार मैपिंग को संग्रहित करने के लिए। बूट करने योग्य विंडोज़ NT (या बाद के) विभाजन के स्थान का वर्णन करने के लिए इसका उपयोग विंडोज़ NT BOOT.INI फ़ाइलों में भी किया जा सकता है (हालांकि अधिकांश ऐसा नहीं करते हैं)।<ref name="Microsoft_KB227704"/>एक कुंजी (कई के बीच), जहां विंडोज़ 2000/XP रजिस्ट्री में NT डिस्क हस्ताक्षर दिखाई देते हैं, वह है:


विंडोज एनटी (और बाद में माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम) उस ओएस के तहत कंप्यूटर से जुड़े किसी भी डिस्क पर सभी विभाजनों के लिए एक इंडेक्स के रूप में डिस्क हस्ताक्षर का उपयोग करता है; ये हस्ताक्षर [[विंडोज रजिस्ट्री]] कुंजियों में रखे जाते हैं, मुख्य रूप से डिस्क विभाजन और ड्राइव अक्षरों के बीच लगातार मैपिंग को संग्रहित करने के लिए। बूट करने योग्य Windows NT (या बाद के) विभाजनों के स्थान का वर्णन करने के लिए इसका उपयोग Windows NT BOOT.INI फ़ाइलों में भी किया जा सकता है (हालांकि अधिकांश ऐसा नहीं करते हैं)।<ref name="Microsoft_KB227704" /> एक कुंजी (कई के बीच), जहां Windows 2000/XP रजिस्ट्री में NT डिस्क हस्ताक्षर दिखाई देते हैं, वह है:
विंडोज एनटी (और बाद में माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम) उस ओएस के तहत कंप्यूटर से जुड़े किसी भी डिस्क पर सभी विभाजनों के लिए एक इंडेक्स के रूप में डिस्क हस्ताक्षर का उपयोग करता है; ये हस्ताक्षर [[विंडोज रजिस्ट्री]] कुंजियों में रखे जाते हैं, मुख्य रूप से डिस्क विभाजन और ड्राइव अक्षरों के बीच लगातार मैपिंग को संग्रहित करने के लिए। बूट करने योग्य विंडोज़ NT (या बाद के) विभाजनों के स्थान का वर्णन करने के लिए इसका उपयोग विंडोज़ NT BOOT.INI फ़ाइलों में भी किया जा सकता है (हालांकि अधिकांश ऐसा नहीं करते हैं)।<ref name="Microsoft_KB227704" /> एक कुंजी (कई के बीच), जहां विंडोज़ 2000/XP रजिस्ट्री में NT डिस्क हस्ताक्षर दिखाई देते हैं, वह है:


  HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\
  HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\


यदि MBR ​​में संग्रहीत डिस्क का हस्ताक्षर {{mono|A8 E1 B9 D2}} (उस क्रम में) था और इसका पहला विभाजन लॉजिकल ड्राइव C: Windows के अंतर्गत था, तो कुंजी मान <code>\DosDevices\C:</code> के अंतर्गत <code>REG_BINARY</code> डेटा होगा:
यदि एमबीआर ​​में संग्रहीत डिस्क का हस्ताक्षर {{mono|A8 E1 B9 D2}} (उस क्रम में) था और इसका पहला विभाजन लॉजिकल ड्राइव C: विंडोज़ के अंतर्गत था, तो कुंजी मान <code>\डॉसDevices\C:</code> के अंतर्गत <code>REG_BINARY</code> डेटा होगा:


  ए8 ई1 बी9 डी2 00 7ई 00 00 00 00 00 00
  ए8 ई1 बी9 डी2 00 7ई 00 00 00 00 00 00


पहले चार बाइट्स को डिस्क सिग्नेचर कहा जाता है। (अन्य कुंजियों में, ये बाइट्स MBR सेक्टर में पाए जाने वाले क्रम से विपरीत क्रम में प्रकट हो सकते हैं।) इसके बाद आठ और बाइट्स होते हैं, जो 64-बिट पूर्णांक बनाते हैं, छोटे-अंत संकेतन में, जिनका उपयोग बाइट ऑफ़सेट का पता लगाने के लिए किया जाता है। इस विभाजन का। इस मामले में, 00 7E हेक्साडेसिमल मान 0x7E00 (32,256) के अनुरूप है। इस धारणा के तहत कि विचाराधीन ड्राइव 512 बाइट्स के एक सेक्टर आकार की रिपोर्ट करता है, फिर इस बाइट को 512 से विभाजित करके 63 परिणाम देता है, जो कि भौतिक सेक्टर नंबर (या LBA) है जिसमें विभाजन का पहला सेक्टर होता है (उपयोग किए गए सेक्टर काउंट के विपरीत) सीएचएस टुपल्स के सेक्टर वैल्यू में, जो एक से गिना जाता है, पूर्ण या एलबीए सेक्टर वैल्यू शून्य से शुरू होता है)।
पहले चार बाइट्स को डिस्क सिग्नेचर कहा जाता है। (अन्य कुंजियों में, ये बाइट्स एमबीआर क्षेत्र में पाए जाने वाले क्रम से विपरीत क्रम में प्रकट हो सकते हैं।) इसके बाद आठ और बाइट्स होते हैं, जो 64-बिट पूर्णांक बनाते हैं, छोटे-अंत संकेतन में, जिनका उपयोग बाइट ऑफ़सेट का पता लगाने के लिए किया जाता है। इस विभाजन का। इस मामले में, 00 7E हेक्साडेसिमल मान 0x7E00 (32,256) के अनुरूप है। इस धारणा के तहत कि विचाराधीन ड्राइव 512 बाइट्स के एक क्षेत्र आकार की रिपोर्ट करता है, फिर इस बाइट को 512 से विभाजित करके 63 परिणाम देता है, जो कि भौतिक क्षेत्र नंबर (या एलबीए) है जिसमें विभाजन का पहला क्षेत्र होता है (उपयोग किए गए क्षेत्र काउंट के विपरीत) सीएचएस टुपल्स के क्षेत्र वैल्यू में, जो एक से गिना जाता है, पूर्ण या एलबीए क्षेत्र वैल्यू शून्य से शुरू होता है)।


यदि इस डिस्क में डिस्क सिग्नेचर के बाद मान {{mono|00 F8 93 71 02}} के साथ एक और विभाजन था (उदाहरण के तहत, कुंजी मान <code>\DosDevices\D:</code>, यह बाइट ऑफ़सेट {{mono|0x00027193F800}} ({{val|10495457280|fmt=commas}}) पर शुरू होगा, जो कि पहला बाइट भी है भौतिक क्षेत्र की{{val|20498940|fmt=commas}}।
यदि इस डिस्क में डिस्क सिग्नेचर के बाद मान {{mono|00 F8 93 71 02}} के साथ एक और विभाजन था (उदाहरण के तहत, कुंजी मान <code>\डॉसDevices\D:</code>, यह बाइट ऑफ़सेट {{mono|0x00027193F800}} ({{val|10495457280|fmt=commas}}) पर शुरू होगा, जो कि पहला बाइट भी है भौतिक क्षेत्र की{{val|20498940|fmt=commas}}।


[[Windows Vista|विंडोज विस्टा]] से शुरू करते हुए, डिस्क सिग्नेचर को [[बूट कॉन्फ़िगरेशन डेटा]] (BCD) स्टोर में भी स्टोर किया जाता है, और बूट प्रक्रिया इस पर निर्भर करती है।<ref name="Multibooters_Vista-MBR"/> यदि डिस्क हस्ताक्षर बदलता है, पाया नहीं जा सकता है या कोई विरोध है, तो विंडोज़ बूट करने में असमर्थ है।<ref name="Russinovich_2011_Disk-Signature"/> जब तक विंडोज को छद्म डिस्क हस्ताक्षर के रूप में उन्नत सक्रिय विभाजन प्रविष्टि के एलबीए पते के अतिव्यापी हिस्से का उपयोग करने के लिए मजबूर नहीं किया जाता है, तब तक विंडोज़ का उपयोग पीटीएस-डॉस 7 और डीआर-डॉस 7.07 की उन्नत सक्रिय विभाजन सुविधा के साथ विरोधाभासी है, विशेष रूप से यदि उनका बूट कोड डिस्क के पहले 8 GB के बाहर स्थित है, इसलिए LBA एड्रेसिंग का उपयोग किया जाना चाहिए।
[[Windows Vista|विंडोज विस्टा]] से शुरू करते हुए, डिस्क सिग्नेचर को [[बूट कॉन्फ़िगरेशन डेटा]] (BCD) स्टोर में भी स्टोर किया जाता है, और बूट प्रक्रिया इस पर निर्भर करती है।<ref name="Multibooters_Vista-MBR"/> यदि डिस्क हस्ताक्षर बदलता है, पाया नहीं जा सकता है या कोई विरोध है, तो विंडोज़ बूट करने में असमर्थ है।<ref name="Russinovich_2011_Disk-Signature"/> जब तक विंडोज को छद्म डिस्क हस्ताक्षर के रूप में उन्नत सक्रिय विभाजन प्रविष्टि के एलबीए पते के अतिव्यापी हिस्से का उपयोग करने के लिए मजबूर नहीं किया जाता है, तब तक विंडोज़ का उपयोग पीटीएस-डॉस 7 और डीआर-डॉस 7.07 की उन्नत सक्रिय विभाजन सुविधा के साथ विरोधाभासी है, विशेष रूप से यदि उनका बूट कोड डिस्क के पहले 8 GB के बाहर स्थित है, इसलिए एलबीए एड्रेसिंग का उपयोग किया जाना चाहिए।


== प्रोग्रामिंग विचार ==
== प्रोग्रामिंग विचार ==
एमबीआर की उत्पत्ति पीसी एक्सटी में हुई थी।<ref name="Sakamoto_2010_MBR"/> आईबीएम पीसी-संगत कंप्यूटर [[endianness|छोटे-एंडियन]] हैं, जिसका अर्थ है कि प्रोसेसर [[कम से कम महत्वपूर्ण बाइट]] पहले मेमोरी में दो या दो से अधिक बाइट्स वाले संख्यात्मक मानों को संग्रहीत करता है। मीडिया पर एमबीआर का प्रारूप इस परिपाटी को दर्शाता है। इस प्रकार, एमबीआर हस्ताक्षर [[डिस्क संपादक]] में अनुक्रम <code>55 AA</code> के रूप में दिखाई देगा।{{efn|name="NB_Magic_AA55"}}
एमबीआर की उत्पत्ति पीसी एक्सटी में हुई थी।<ref name="Sakamoto_2010_MBR"/> आईबीएम पीसी-संगत कंप्यूटर [[endianness|छोटे-एंडियन]] हैं, जिसका अर्थ है कि प्रोसेसर [[कम से कम महत्वपूर्ण बाइट]] पहले मेमोरी में दो या दो से अधिक बाइट्स वाले संख्यात्मक मानों को संग्रहीत करता है। मीडिया पर एमबीआर का प्रारूप इस परिपाटी को दर्शाता है। इस प्रकार, एमबीआर हस्ताक्षर [[डिस्क संपादक]] में अनुक्रम <code>55 AA</code> के रूप में दिखाई देगा।{{efn|name="NB_Magic_AA55"}}


BIOS में बूटस्ट्रैप अनुक्रम पहले मान्य MBR को लोड करेगा जो इसे कंप्यूटर की भौतिक मेमोरी में [[स्मृति पता]] {{mono|0x0000}}:{{mono|0x7C00}} पर मिलता है।<ref name="Sakamoto_2010_MBR" /> एमबीआर कॉपी की शुरुआत में निष्पादन को निर्देशित करने के लिए BIOS कोड में निष्पादित अंतिम निर्देश उस पते पर "कूद" होगा। अधिकांश BIOS के लिए प्राथमिक सत्यापन ऑफ़सेट {{mono|0x01FE}} पर हस्ताक्षर है, हालांकि एक BIOS कार्यान्वयनकर्ता अन्य जांचों को शामिल करना चुन सकता है, जैसे कि यह सत्यापित करना कि MBR ​​में डिस्क की रिपोर्ट की गई क्षमता से परे क्षेत्रों को संदर्भित किए बिना एक मान्य विभाजन तालिका शामिल है।
BIOS में बूटस्ट्रैप अनुक्रम पहले मान्य एमबीआर को लोड करेगा जो इसे कंप्यूटर की भौतिक मेमोरी में [[स्मृति पता]] {{mono|0x0000}}:{{mono|0x7C00}} पर मिलता है।<ref name="Sakamoto_2010_MBR" /> एमबीआर कॉपी की शुरुआत में निष्पादन को निर्देशित करने के लिए BIOS कोड में निष्पादित अंतिम निर्देश उस पते पर "कूद" होगा। अधिकांश BIOS के लिए प्राथमिक सत्यापन ऑफ़सेट {{mono|0x01FE}} पर हस्ताक्षर है, हालांकि एक BIOS कार्यान्वयनकर्ता अन्य जांचों को शामिल करना चुन सकता है, जैसे कि यह सत्यापित करना कि एमबीआर ​​में डिस्क की रिपोर्ट की गई क्षमता से परे क्षेत्रों को संदर्भित किए बिना एक मान्य विभाजन तालिका शामिल है।


BIOS के लिए, रिमूवेबल (जैसे फ्लॉपी) और फिक्स्ड डिस्क अनिवार्य रूप से समान हैं। या तो, BIOS मीडिया के पहले भौतिक क्षेत्र को 0x7C00 के पूर्ण पते पर रैम में पढ़ता है, लोड किए गए क्षेत्र के अंतिम दो बाइट्स में हस्ताक्षर की जांच करता है, और फिर, यदि सही हस्ताक्षर पाया जाता है, तो नियंत्रण को पहले बाइट में स्थानांतरित कर देता है जंप (JMP) निर्देश वाला सेक्टर। एकमात्र वास्तविक अंतर जो BIOS बनाता है वह यह है कि (डिफ़ॉल्ट रूप से, या यदि बूट क्रम कॉन्फ़िगर करने योग्य नहीं है) यह पहली निश्चित डिस्क से बूट करने का प्रयास करने से पहले पहली हटाने योग्य डिस्क से बूट करने का प्रयास करता है। BIOS के दृष्टिकोण से, RAM में वॉल्यूम बूट रिकॉर्ड को MBR लोड करने की क्रिया ठीक वैसी ही है, जैसे ऑपरेटिंग सिस्टम लोडर के ऑब्जेक्ट कोड को RAM में लोड करने वाली फ़्लॉपी डिस्क वॉल्यूम बूट रिकॉर्ड की क्रिया। किसी भी मामले में, BIOS लोड किया गया प्रोग्राम ऑपरेटिंग सिस्टम को लोड करने की श्रृंखला के काम के बारे में जा रहा है।
BIOS के लिए, रिमूवेबल (जैसे फ्लॉपी) और फिक्स्ड डिस्क अनिवार्य रूप से समान हैं। या तो, BIOS मीडिया के पहले भौतिक क्षेत्र को 0x7C00 के पूर्ण पते पर रैम में पढ़ता है, लोड किए गए क्षेत्र के अंतिम दो बाइट्स में हस्ताक्षर की जांच करता है, और फिर, यदि सही हस्ताक्षर पाया जाता है, तो नियंत्रण को पहले बाइट में स्थानांतरित कर देता है जंप (JMP) निर्देश वाला क्षेत्र। एकमात्र वास्तविक अंतर जो BIOS बनाता है वह यह है कि (डिफ़ॉल्ट रूप से, या यदि बूट क्रम कॉन्फ़िगर करने योग्य नहीं है) यह पहली निश्चित डिस्क से बूट करने का प्रयास करने से पहले पहली हटाने योग्य डिस्क से बूट करने का प्रयास करता है। BIOS के दृष्टिकोण से, RAM में वॉल्यूम बूट रिकॉर्ड को एमबीआर लोड करने की क्रिया ठीक वैसी ही है, जैसे ऑपरेटिंग सिस्टम भारक के ऑब्जेक्ट कोड को RAM में लोड करने वाली फ़्लॉपी डिस्क वॉल्यूम बूट रिकॉर्ड की क्रिया। किसी भी मामले में, BIOS लोड किया गया प्रोग्राम ऑपरेटिंग सिस्टम को लोड करने की श्रृंखला के काम के बारे में जा रहा है।


जबकि एमबीआर बूट सेक्टर कोड भौतिक पते {{mono|0x0000}}:{{mono|0x7C00}} पर लोड होने की उम्मीद करता है,{{efn|name="NB_Load-address"}} भौतिक पते से सभी मेमोरी {{mono|0x0000}}:{{mono|0x0501}} (पता {{mono|0x0000}}:{{mono|0x0500}} फीनिक्स BIOS द्वारा उपयोग किया जाने वाला अंतिम है<ref name="Phoenix_1989_System-BIOS" />) से {{mono|0x0000}}:{{mono|0x7FFF}},<ref name="Compaq-Phoenix-Intel_1996_BBS101" /> बाद में 0x0000: 0xFFFF<ref name="Sakamoto_2010_MBR" /> (और कभी-कभी{{efn|name="NB_EBDA"}} 0x9000: 0xFFFF तक) के लिए आराम दिया गया - पहले 640 KB का अंत वास्तविक मोड में उपलब्ध है।{{efn|name="NB_free-memory"}} <code>INT 12h</code> [[BIOS इंटरप्ट कॉल]] यह निर्धारित करने में मदद कर सकता है कि कितनी मेमोरी को सुरक्षित रूप से आवंटित किया जा सकता है (डिफ़ॉल्ट रूप से, यह केबी में आधार [[स्मृति विभाजन]] आकार को खंड से पढ़ता है: ऑफ़सेट स्थान  {{mono|0x0040}}:{{mono|0x0013}}, लेकिन यह अन्य निवासी प्री-बूट सॉफ़्टवेयर जैसे BIOS ओवरले द्वारा हुक किया जा सकता है, [[रिमोट प्रोग्राम लोडर]] कोड या वायरस उपलब्ध मेमोरी की रिपोर्ट की गई मात्रा को कम करने के लिए बूट सेक्टर जैसे अन्य बूट स्टेज सॉफ़्टवेयर को ओवरराइट करने से रोकने के लिए)।
जबकि एमबीआर बूट क्षेत्र कोड भौतिक पते {{mono|0x0000}}:{{mono|0x7C00}} पर लोड होने की उम्मीद करता है,{{efn|name="NB_Load-address"}} भौतिक पते से सभी मेमोरी {{mono|0x0000}}:{{mono|0x0501}} (पता {{mono|0x0000}}:{{mono|0x0500}} फीनिक्स BIOS द्वारा उपयोग किया जाने वाला अंतिम है<ref name="Phoenix_1989_System-BIOS" />) से {{mono|0x0000}}:{{mono|0x7FFF}},<ref name="Compaq-Phoenix-Intel_1996_BBS101" /> बाद में 0x0000: 0xFFFF<ref name="Sakamoto_2010_MBR" /> (और कभी-कभी{{efn|name="NB_EBDA"}} 0x9000: 0xFFFF तक) के लिए आराम दिया गया - पहले 640 KB का अंत वास्तविक मोड में उपलब्ध है।{{efn|name="NB_free-memory"}} <code>INT 12h</code> [[BIOS इंटरप्ट कॉल]] यह निर्धारित करने में मदद कर सकता है कि कितनी मेमोरी को सुरक्षित रूप से आवंटित किया जा सकता है (डिफ़ॉल्ट रूप से, यह केबी में आधार [[स्मृति विभाजन]] आकार को खंड से पढ़ता है: ऑफ़सेट स्थान  {{mono|0x0040}}:{{mono|0x0013}}, लेकिन यह अन्य निवासी प्री-बूट सॉफ़्टवेयर जैसे BIOS ओवरले द्वारा हुक किया जा सकता है, [[रिमोट प्रोग्राम लोडर|रिमोट प्रोग्राम भारक]] कोड या वायरस उपलब्ध मेमोरी की रिपोर्ट की गई मात्रा को कम करने के लिए बूट क्षेत्र जैसे अन्य बूट स्टेज सॉफ़्टवेयर को ओवरराइट करने से रोकने के लिए)।


512-बाइट एमबीआर के अंतिम 66 बाइट्स विभाजन तालिका और अन्य जानकारी के लिए आरक्षित हैं, इसलिए एमबीआर बूट सेक्टर प्रोग्राम 446 बाइट्स मेमोरी या उससे कम में फिट होने के लिए पर्याप्त छोटा होना चाहिए।
512-बाइट एमबीआर के अंतिम 66 बाइट्स विभाजन तालिका और अन्य जानकारी के लिए आरक्षित हैं, इसलिए एमबीआर बूट क्षेत्र प्रोग्राम 446 बाइट्स मेमोरी या उससे कम में फिट होने के लिए पर्याप्त छोटा होना चाहिए।


एमबीआर कोड विभाजन तालिका की जांच करता है, एक उपयुक्त विभाजन का चयन करता है और उस प्रोग्राम को लोड करता है जो बूट प्रक्रिया के अगले चरण को आमतौर पर INT 13h BIOS कॉल का उपयोग करके करेगा। एमबीआर बूटस्ट्रैप कोड लोड करता है और चलाता है (एक बूट लोडर- या ऑपरेटिंग सिस्टम पर निर्भर) वॉल्यूम बूट रिकॉर्ड कोड जो "सक्रिय" विभाजन की शुरुआत में स्थित है। वॉल्यूम बूट रिकॉर्ड 512-बाइट सेक्टर के भीतर फिट होगा, लेकिन एमबीआर कोड के लिए अतिरिक्त सेक्टरों को एक सेक्टर से अधिक लंबे बूट लोडर को समायोजित करने के लिए लोड करना सुरक्षित है, बशर्ते कि वे सेक्टर आकार के बारे में कोई अनुमान न लगाएं। वास्तव में, प्रत्येक IBM XT- और AT-क्लास मशीन में {{mono|0x7C00}} पते पर कम से कम 1 KB RAM उपलब्ध है, इसलिए 1 KB सेक्टर का उपयोग बिना किसी समस्या के किया जा सकता है। एमबीआर की तरह, एक वॉल्यूम बूट रिकॉर्ड सामान्य रूप से {{mono|0x0000}}:{{mono|0x7C00}} पते पर लोड होने की अपेक्षा करता है। यह इस तथ्य से निकला है कि वॉल्यूम बूट रिकॉर्ड डिजाइन अविभाजित मीडिया पर उत्पन्न हुआ, जहां वॉल्यूम बूट रिकॉर्ड सीधे BIOS बूट प्रक्रिया द्वारा लोड किया जाएगा; जैसा कि ऊपर उल्लेख किया गया है, BIOS एमबीआर और वॉल्यूम बूट रिकॉर्ड (वीबीआर) {{efn|name="NB_VBRs"}} को बिल्कुल समान मानता है। चूंकि यह वही स्थान है जहां एमबीआर लोड किया गया है, एमबीआर के पहले कार्यों में से एक स्मृति में कहीं और खुद को स्थानांतरित करना है। स्थानांतरण पता MBR द्वारा निर्धारित किया जाता है, लेकिन यह अक्सर {{mono|0x0000}}:{{mono|0x0600}} (MS-DOS/PC DOS, OS/2 और Windows MBR कोड के लिए) या {{mono|0x0060}}:{{mono|0x0000}} (अधिकांश DR-DOS MBRs) होता है। (भले ही ये दोनों खंडित पते वास्तविक मोड में एक ही भौतिक मेमोरी पते को हल करते हैं, Apple डार्विन को बूट करने के लिए, MBR को {{mono|0x0060}}:{{mono|0x0000}} के बजाय {{mono|0x0000}}:{{mono|0x0600}}  पर स्थानांतरित किया जाना चाहिए, क्योंकि कोड DS पर निर्भर करता है: SI सूचक एमबीआर द्वारा प्रदान की गई विभाजन प्रविष्टि के लिए, लेकिन यह ग़लती से इसे केवल {{mono|0x0000}}:एसआई के माध्यम से संदर्भित करता है।<ref name="Elliott_2009_Darwin"/>) यह महत्वपूर्ण है कि स्मृति में अन्य पतों को स्थानांतरित न किया जाए क्योंकि कई वीबीआर अपने बूट को लोड करते समय एक निश्चित मानक मेमोरी लेआउट ग्रहण करेंगे। फ़ाइल।
एमबीआर कोड विभाजन तालिका की जांच करता है, एक उपयुक्त विभाजन का चयन करता है और उस प्रोग्राम को लोड करता है जो बूट प्रक्रिया के अगले चरण को सामान्यतः INT 13h BIOS कॉल का उपयोग करके करेगा। एमबीआर बूटस्ट्रैप कोड लोड करता है और चलाता है (एक बूट भारक- या ऑपरेटिंग सिस्टम पर निर्भर) वॉल्यूम बूट रिकॉर्ड कोड जो "सक्रिय" विभाजन की शुरुआत में स्थित है। वॉल्यूम बूट रिकॉर्ड 512-बाइट क्षेत्र के भीतर फिट होगा, लेकिन एमबीआर कोड के लिए अतिरिक्त क्षेत्रों को एक क्षेत्र से अधिक लंबे बूट भारक को समायोजित करने के लिए लोड करना सुरक्षित है, बशर्ते कि वे क्षेत्र आकार के बारे में कोई अनुमान न लगाएं। वास्तव में, प्रत्येक आईबीएम XT- और AT-क्लास मशीन में {{mono|0x7C00}} पते पर कम से कम 1 KB RAM उपलब्ध है, इसलिए 1 KB क्षेत्र का उपयोग बिना किसी समस्या के किया जा सकता है। एमबीआर की तरह, एक वॉल्यूम बूट रिकॉर्ड सामान्य रूप से {{mono|0x0000}}:{{mono|0x7C00}} पते पर लोड होने की अपेक्षा करता है। यह इस तथ्य से निकला है कि वॉल्यूम बूट रिकॉर्ड डिजाइन अविभाजित मीडिया पर उत्पन्न हुआ, जहां वॉल्यूम बूट रिकॉर्ड सीधे BIOS बूट प्रक्रिया द्वारा लोड किया जाएगा; जैसा कि ऊपर उल्लेख किया गया है, BIOS एमबीआर और वॉल्यूम बूट रिकॉर्ड (वीबीआर) {{efn|name="NB_VBRs"}} को बिल्कुल समान मानता है। चूंकि यह वही स्थान है जहां एमबीआर लोड किया गया है, एमबीआर के पहले कार्यों में से एक स्मृति में कहीं और खुद को स्थानांतरित करना है। स्थानांतरण पता एमबीआर द्वारा निर्धारित किया जाता है, लेकिन यह अक्सर {{mono|0x0000}}:{{mono|0x0600}} (MS-डॉस/पीसी डॉस, OS/2 और विंडोज़ एमबीआर कोड के लिए) या {{mono|0x0060}}:{{mono|0x0000}} (अधिकांश DR-डॉस एमबीआर) होता है। (भले ही ये दोनों खंडित पते वास्तविक मोड में एक ही भौतिक मेमोरी पते को हल करते हैं, Apple डार्विन को बूट करने के लिए, एमबीआर को {{mono|0x0060}}:{{mono|0x0000}} के बजाय {{mono|0x0000}}:{{mono|0x0600}}  पर स्थानांतरित किया जाना चाहिए, क्योंकि कोड DS पर निर्भर करता है: SI सूचक एमबीआर द्वारा प्रदान की गई विभाजन प्रविष्टि के लिए, लेकिन यह ग़लती से इसे केवल {{mono|0x0000}}:एसआई के माध्यम से संदर्भित करता है।<ref name="Elliott_2009_Darwin"/>) यह महत्वपूर्ण है कि स्मृति में अन्य पतों को स्थानांतरित न किया जाए क्योंकि कई वीबीआर अपने बूट को लोड करते समय एक निश्चित मानक मेमोरी लेआउट ग्रहण करेंगे। फ़ाइल।


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


परंपरागत रूप से, {{mono|0x00}} (सक्रिय नहीं) और {{mono|0x80}} (सक्रिय) के अलावा अन्य मान अमान्य थे और बूटस्ट्रैप प्रोग्राम उनका सामना करने पर एक त्रुटि संदेश प्रदर्शित करेगा। हालांकि, [[प्लग एंड प्ले BIOS विशिष्टता]] और [[BIOS बूट विशिष्टता]] (BBS) ने 1994 से अन्य उपकरणों को भी बूट करने योग्य बनने की अनुमति दी थी।<ref name="Compaq-Phoenix-Intel_1996_BBS101" /><ref name="Compaq-Phoenix-Intel_1994_PnP10A" /> नतीजतन, MS-DOS 7.10 (Windows 95B) और उच्चतर की शुरुआत के साथ, MBR ने सेट बिट 7 को सक्रिय ध्वज के रूप में मानना ​​​​शुरू कर दिया और केवल {{mono|0x01}}..{{mono|0x7F}} मानों के लिए एक त्रुटि संदेश दिखाया। यह बाद में संबंधित विभाजन के VBR को लोड करते समय उपयोग की जाने वाली भौतिक ड्राइव इकाई के रूप में प्रविष्टि का उपयोग करना जारी रखता है, जिससे अब {{mono|0x80}} के अलावा अन्य बूट ड्राइव को भी मान्य माना जाता है, हालाँकि, MS-DOS ने इस एक्सटेंशन का उपयोग स्वयं नहीं किया। विभाजन तालिका में वास्तविक भौतिक ड्राइव संख्या को संग्रहीत करना सामान्य रूप से पश्चगामी संगतता समस्याओं का कारण नहीं बनता है, क्योंकि मान 0x80 से केवल पहले वाले के अलावा अन्य ड्राइव पर भिन्न होगा (जो पहले बूट करने योग्य नहीं है, वैसे भी)। हालाँकि, अन्य ड्राइव को बूट करने के लिए सक्षम सिस्टम के साथ भी, एक्सटेंशन अभी भी सार्वभौमिक रूप से काम नहीं कर सकता है, उदाहरण के लिए, भौतिक ड्राइव के BIOS असाइनमेंट के बाद जब ड्राइव को हटा दिया जाता है, जोड़ा या स्वैप किया जाता है। इसलिए, BIOS बूट स्पेसिफिकेशन (बीबीएस) के अनुसार,<ref name="Compaq-Phoenix-Intel_1996_BBS101" /> यह एक आधुनिक एमबीआर के लिए सबसे अच्छा अभ्यास है जो विभाजन तालिका में प्रविष्टि का उपयोग करने के बजाय मूल रूप से BIOS द्वारा प्रदान किए गए डीएल मान को पारित करने के लिए सक्रिय ध्वज के रूप में बिट 7 को स्वीकार करता है।
परंपरागत रूप से, {{mono|0x00}} (सक्रिय नहीं) और {{mono|0x80}} (सक्रिय) के अलावा अन्य मान अमान्य थे और बूटस्ट्रैप प्रोग्राम उनका सामना करने पर एक त्रुटि संदेश प्रदर्शित करेगा। हालांकि, [[प्लग एंड प्ले BIOS विशिष्टता]] और [[BIOS बूट विशिष्टता]] (BBS) ने 1994 से अन्य उपकरणों को भी बूट करने योग्य बनने की अनुमति दी थी।<ref name="Compaq-Phoenix-Intel_1996_BBS101" /><ref name="Compaq-Phoenix-Intel_1994_PnP10A" /> नतीजतन, MS-डॉस 7.10 (विंडोज़ 95B) और उच्चतर की शुरुआत के साथ, एमबीआर ने सेट बिट 7 को सक्रिय ध्वज के रूप में मानना ​​​​शुरू कर दिया और केवल {{mono|0x01}}..{{mono|0x7F}} मानों के लिए एक त्रुटि संदेश दिखाया। यह बाद में संबंधित विभाजन के VBR को लोड करते समय उपयोग की जाने वाली भौतिक ड्राइव इकाई के रूप में प्रविष्टि का उपयोग करना जारी रखता है, जिससे अब {{mono|0x80}} के अलावा अन्य बूट ड्राइव को भी मान्य माना जाता है, हालाँकि, MS-डॉस ने इस एक्सटेंशन का उपयोग स्वयं नहीं किया। विभाजन तालिका में वास्तविक भौतिक ड्राइव संख्या को संग्रहीत करना सामान्य रूप से पश्चगामी संगतता समस्याओं का कारण नहीं बनता है, क्योंकि मान 0x80 से केवल पहले वाले के अलावा अन्य ड्राइव पर भिन्न होगा (जो पहले बूट करने योग्य नहीं है, वैसे भी)। हालाँकि, अन्य ड्राइव को बूट करने के लिए सक्षम सिस्टम के साथ भी, एक्सटेंशन अभी भी सार्वभौमिक रूप से काम नहीं कर सकता है, उदाहरण के लिए, भौतिक ड्राइव के BIOS असाइनमेंट के बाद जब ड्राइव को हटा दिया जाता है, जोड़ा या स्वैप किया जाता है। इसलिए, BIOS बूट स्पेसिफिकेशन (बीबीएस) के अनुसार,<ref name="Compaq-Phoenix-Intel_1996_BBS101" /> यह एक आधुनिक एमबीआर के लिए सबसे अच्छा अभ्यास है जो विभाजन तालिका में प्रविष्टि का उपयोग करने के बजाय मूल रूप से BIOS द्वारा प्रदान किए गए डीएल मान को पारित करने के लिए सक्रिय ध्वज के रूप में बिट 7 को स्वीकार करता है।


=== BIOS से MBR इंटरफ़ेस ===
=== BIOS से एमबीआर इंटरफ़ेस ===
MBR को स्मृति स्थान {{mono|0x0000}}:{{mono|0x7C00}} पर लोड किया जाता है और निम्न CPU रजिस्टरों के साथ सेट किया जाता है जब पूर्व बूटस्ट्रैप लोडर (सामान्य रूप से BIOS में [[प्रारंभिक कार्यक्रम लोडर]]) [[सी पी यू]] के वास्तविक मोड में {{mono|0x0000}}:{{mono|0x7C00}} पर कूद कर निष्पादन पास करता है।
एमबीआर को स्मृति स्थान {{mono|0x0000}}:{{mono|0x7C00}} पर लोड किया जाता है और निम्न CPU रजिस्टरों के साथ सेट किया जाता है जब पूर्व बूटस्ट्रैप भारक (सामान्य रूप से BIOS में [[प्रारंभिक कार्यक्रम लोडर|प्रारंभिक कार्यक्रम भारक]]) [[सी पी यू]] के वास्तविक मोड में {{mono|0x0000}}:{{mono|0x7C00}} पर कूद कर निष्पादन पास करता है।
* [[सीएस रजिस्टर]]:[[आईपी ​​रजिस्टर]] = {{mono|0x0000}}:{{mono|0x7C00}} (हल किया गया)
* [[सीएस रजिस्टर]]:[[आईपी ​​रजिस्टर]] = {{mono|0x0000}}:{{mono|0x7C00}} (हल किया गया)
:कुछ कॉम्पैक BIOS इसके बजाय गलती से {{mono|0x07C0}}:{{mono|0x0000}} का उपयोग करते हैं। हालांकि यह वास्तविक मोड मेमोरी में एक ही स्थान पर हल होता है, यह गैर-मानक है और इससे बचा जाना चाहिए, क्योंकि एमबीआर कोड कुछ रजिस्टर मूल्यों को मानता है या स्थानांतरित करने योग्य नहीं लिखा जाता है, अन्यथा काम नहीं कर सकता है।
:कुछ कॉम्पैक BIOS इसके बजाय गलती से {{mono|0x07C0}}:{{mono|0x0000}} का उपयोग करते हैं। हालांकि यह वास्तविक मोड मेमोरी में एक ही स्थान पर हल होता है, यह गैर-मानक है और इससे बचा जाना चाहिए, क्योंकि एमबीआर कोड कुछ रजिस्टर मूल्यों को मानता है या स्थानांतरित करने योग्य नहीं लिखा जाता है, अन्यथा काम नहीं कर सकता है।
* {{cn span|date=April 2021|text=[[DL register|DL]] = boot drive unit ([[fixed disk]]s / [[removable drive]]s: {{mono|0x80}} = first, {{mono|0x81}} = second, ..., {{mono|0xFE}}; [[floppy|floppies]] / [[superfloppy|superfloppies]]: {{mono|0x00}} = first, {{mono|0x01}} = second, ..., {{mono|0x7E}}; values {{mono|0x7F}} and {{mono|0xFF}} are reserved for ROM / remote drives and must not be used on disk<!-- by Microsoft/IBM and Digital Research/Novell/Caldera. -->).}}
* {{cn span|date=April 2021|text=[[DL register|DL]] = boot drive unit ([[fixed disk]]s / [[removable drive]]s: {{mono|0x80}} = first, {{mono|0x81}} = second, ..., {{mono|0xFE}}; [[floppy|floppies]] / [[superfloppy|superfloppies]]: {{mono|0x00}} = first, {{mono|0x01}} = second, ..., {{mono|0x7E}}; values {{mono|0x7F}} and {{mono|0xFF}} are reserved for ROM / remote drives and must not be used on disk<!-- by Microsoft/IBM and Digital Research/Novell/Caldera. -->).}}
:DL IBM BIOS के साथ-साथ अधिकांश अन्य BIOS द्वारा समर्थित है। Toshiba T1000 BIOS इसे ठीक से समर्थन नहीं करने के लिए जाना जाता है, और कुछ पुराने Wyse 286 BIOS निश्चित डिस्क के लिए DL मानों को 2 से अधिक या बराबर का उपयोग करते हैं (जिससे BIOS के भौतिक ड्राइव नंबरों के बजाय DOS के तहत लॉजिकल ड्राइव नंबरों को दर्शाता है)। हटाने योग्य ड्राइव के रूप में कॉन्फ़िगर की गई USB स्टिक्स को आमतौर पर DL = 0x80, 0x81, आदि का असाइनमेंट मिलता है। हालाँकि, कुछ दुर्लभ BIOS ने गलती से उन्हें DL = 0x01 के तहत प्रस्तुत कर दिया, जैसे कि उन्हें सुपरफ्लॉपी के रूप में कॉन्फ़िगर किया गया हो।
:DL आईबीएम BIOS के साथ-साथ अधिकांश अन्य BIOS द्वारा समर्थित है। Toshiba T1000 BIOS इसे ठीक से समर्थन नहीं करने के लिए जाना जाता है, और कुछ पुराने Wyse 286 BIOS निश्चित डिस्क के लिए DL मानों को 2 से अधिक या बराबर का उपयोग करते हैं (जिससे BIOS के भौतिक ड्राइव नंबरों के बजाय डॉस के तहत लॉजिकल ड्राइव नंबरों को दर्शाता है)। हटाने योग्य ड्राइव के रूप में कॉन्फ़िगर की गई USB स्टिक्स को सामान्यतः DL = 0x80, 0x81, आदि का असाइनमेंट मिलता है। हालाँकि, कुछ दुर्लभ BIOS ने गलती से उन्हें DL = 0x01 के तहत प्रस्तुत कर दिया, जैसे कि उन्हें सुपरफ्लॉपी के रूप में कॉन्फ़िगर किया गया हो।
:एक मानक अनुरूप BIOS विशेष रूप से निश्चित डिस्क/हटाने योग्य ड्राइव के लिए {{mono|0x80}} से अधिक या बराबर संख्या निर्दिष्ट करता है, और पारंपरिक रूप से केवल {{mono|0x80}} तथा {{mono|0x00}} मान बूट के दौरान भौतिक ड्राइव इकाइयों के रूप में पारित किए गए थे। परिपाटी के अनुसार, केवल फिक्स्ड डिस्क/रिमूवेबल ड्राइव का विभाजन किया जाता है, इसलिए, पारंपरिक रूप से MBR केवल DL मान देख सकता था जो {{mono|0x80}} था। कई एमबीआर को डीएल मान को अनदेखा करने और हार्ड-वायर्ड मान (सामान्य रूप से {{mono|0x80}}) के साथ काम करने के लिए कोडित किया गया था।
:एक मानक अनुरूप BIOS विशेष रूप से निश्चित डिस्क/हटाने योग्य ड्राइव के लिए {{mono|0x80}} से अधिक या बराबर संख्या निर्दिष्ट करता है, और पारंपरिक रूप से केवल {{mono|0x80}} तथा {{mono|0x00}} मान बूट के दौरान भौतिक ड्राइव इकाइयों के रूप में पारित किए गए थे। परिपाटी के अनुसार, केवल फिक्स्ड डिस्क/रिमूवेबल ड्राइव का विभाजन किया जाता है, इसलिए, पारंपरिक रूप से एमबीआर केवल DL मान देख सकता था जो {{mono|0x80}} था। कई एमबीआर को डीएल मान को अनदेखा करने और हार्ड-वायर्ड मान (सामान्य रूप से {{mono|0x80}}) के साथ काम करने के लिए कोडित किया गया था।
:प्लग एंड प्ले BIOS विशिष्टता और BIOS बूट विशिष्टता (BBS) 1994 से अन्य उपकरणों को भी बूट करने योग्य बनाने की अनुमति देते हैं।<ref name="Compaq-Phoenix-Intel_1996_BBS101" /><ref name="Compaq-Phoenix-Intel_1994_PnP10A" /> बाद में अनुशंसा की गई कि MBR ​​और VBR कोड को आंतरिक रूप से हार्डवेयर्ड डिफ़ॉल्ट के बजाय DL का उपयोग करना चाहिए।<ref name="Compaq-Phoenix-Intel_1996_BBS101" /> जहां तक ​​एमबीआर कोड का संबंध है, यह विभिन्न गैर-मानक असाइनमेंट (उपरोक्त उदाहरण देखें) के साथ संगतता भी सुनिश्चित करेगा।
:प्लग एंड प्ले BIOS विशिष्टता और BIOS बूट विशिष्टता (BBS) 1994 से अन्य उपकरणों को भी बूट करने योग्य बनाने की अनुमति देते हैं।<ref name="Compaq-Phoenix-Intel_1996_BBS101" /><ref name="Compaq-Phoenix-Intel_1994_PnP10A" /> बाद में अनुशंसा की गई कि एमबीआर ​​और VBR कोड को आंतरिक रूप से हार्डवेयर्ड डिफ़ॉल्ट के बजाय DL का उपयोग करना चाहिए।<ref name="Compaq-Phoenix-Intel_1996_BBS101" /> जहां तक ​​एमबीआर कोड का संबंध है, यह विभिन्न गैर-मानक असाइनमेंट (उपरोक्त उदाहरण देखें) के साथ संगतता भी सुनिश्चित करेगा।
:एल टोरिटो विनिर्देश के बाद बूट करने योग्य सीडी-रोम में इस इंटरफ़ेस पर फ्लॉपी या सुपरफ्लॉपी के रूप में होने के लिए BIOS द्वारा माउंट की गई डिस्क छवियां हो सकती हैं। {{mono|0x00}} और {{mono|0x01}} के DL मानों का उपयोग [[संरक्षित क्षेत्र रन टाइम इंटरफेस एक्सटेंशन सेवाएं]] (पार्टीज़) और [[विश्वसनीय कंप्यूटिंग समूह]] (TCG) BIOS एक्सटेंशन द्वारा विश्वसनीय मोड में किया जा सकता है, अन्यथा अदृश्य पार्टियों के विभाजन, [[बूट इंजीनियरिंग एक्सटेंशन रिकॉर्ड]] के माध्यम से स्थित डिस्क छवि फ़ाइलों तक पहुँचने के लिए (BEER) हार्ड डिस्क के होस्ट प्रोटेक्टेड एरिया (HPA) के अंतिम भौतिक क्षेत्र में। जबकि फ्लॉपी या सुपरफ्लॉपी का अनुकरण करने के लिए डिज़ाइन किया गया है, एमबीआर कोड इन गैर-मानक डीएल मूल्यों को स्वीकार करते हुए कम से कम ऑपरेटिंग सिस्टम के बूट चरण में विभाजित मीडिया की छवियों का उपयोग करने की अनुमति देता है
:एल टोरिटो विनिर्देश के बाद बूट करने योग्य सीडी-रोम में इस इंटरफ़ेस पर फ्लॉपी या सुपरफ्लॉपी के रूप में होने के लिए BIOS द्वारा माउंट की गई डिस्क छवियां हो सकती हैं। {{mono|0x00}} और {{mono|0x01}} के DL मानों का उपयोग [[संरक्षित क्षेत्र रन टाइम इंटरफेस एक्सटेंशन सेवाएं]] (पार्टीज़) और [[विश्वसनीय कंप्यूटिंग समूह]] (TCG) BIOS एक्सटेंशन द्वारा विश्वसनीय मोड में किया जा सकता है, अन्यथा अदृश्य पार्टियों के विभाजन, [[बूट इंजीनियरिंग एक्सटेंशन रिकॉर्ड]] के माध्यम से स्थित डिस्क छवि फ़ाइलों तक पहुँचने के लिए (BEER) हार्ड डिस्क के होस्ट प्रोटेक्टेड एरिया (HPA) के अंतिम भौतिक क्षेत्र में। जबकि फ्लॉपी या सुपरफ्लॉपी का अनुकरण करने के लिए डिज़ाइन किया गया है, एमबीआर कोड इन गैर-मानक डीएल मूल्यों को स्वीकार करते हुए कम से कम ऑपरेटिंग सिस्टम के बूट चरण में विभाजित मीडिया की छवियों का उपयोग करने की अनुमति देता है
* [[डीएच रजिस्टर]] बिट 5 = 0: INT 13h के माध्यम से समर्थित डिवाइस; अन्य: परवाह नहीं है (शून्य होना चाहिए)। DH कुछ IBM BIOS द्वारा समर्थित है।
* [[डीएच रजिस्टर]] बिट 5 = 0: INT 13h के माध्यम से समर्थित डिवाइस; अन्य: परवाह नहीं है (शून्य होना चाहिए)। DH कुछ आईबीएम BIOS द्वारा समर्थित है।
*कुछ अन्य रजिस्टरों में मूल IBM ROM BIOS के साथ विशेष रूप से कुछ रजिस्टर मान (डीएस, ईएस, एसएस = {{mono|0x0000}}; एसपी = {{mono|0x0400}}) हो सकते हैं, लेकिन इस पर भरोसा करने के लिए कुछ भी नहीं है, क्योंकि अन्य BIOS अन्य मानों का उपयोग कर सकते हैं। इसी वजह से आईबीएम, माइक्रोसॉफ्ट, डिजिटल रिसर्च आदि के एमबीआर कोड ने कभी इसका फायदा नहीं उठाया। बूट सेक्टरों में इन रजिस्टर मूल्यों पर भरोसा करने से चेन-बूट परिदृश्यों में भी समस्या हो सकती है।
*कुछ अन्य रजिस्टरों में मूल आईबीएम ROM BIOS के साथ विशेष रूप से कुछ रजिस्टर मान (डीएस, ईएस, एसएस = {{mono|0x0000}}; एसपी = {{mono|0x0400}}) हो सकते हैं, लेकिन इस पर भरोसा करने के लिए कुछ भी नहीं है, क्योंकि अन्य BIOS अन्य मानों का उपयोग कर सकते हैं। इसी वजह से आईबीएम, माइक्रोसॉफ्ट, डिजिटल रिसर्च आदि के एमबीआर कोड ने कभी इसका फायदा नहीं उठाया। बूट क्षेत्रों में इन रजिस्टर मूल्यों पर भरोसा करने से चेन-बूट परिदृश्यों में भी समस्या हो सकती है।


[[प्लग करें और खेलें|प्लग-एंड-प्ले]] BIOS या BBS समर्थन वाले सिस्टम, DL के अतिरिक्त PnP डेटा के लिए एक सूचक प्रदान करेंगे:<ref name="Compaq-Phoenix-Intel_1996_BBS101"/><ref name="Compaq-Phoenix-Intel_1994_PnP10A"/>
[[प्लग करें और खेलें|प्लग-एंड-प्ले]] BIOS या BBS समर्थन वाले सिस्टम, DL के अतिरिक्त PnP डेटा के लिए एक सूचक प्रदान करेंगे:<ref name="Compaq-Phoenix-Intel_1996_BBS101"/><ref name="Compaq-Phoenix-Intel_1994_PnP10A"/>
* [[डीआई रजिस्टर]]:DI रजिस्टर = पॉइंट टू<code>$PnP</code>स्थापना जांच संरचना
* [[डीआई रजिस्टर]]:DI रजिस्टर = पॉइंट टू<code>$PnP</code>स्थापना जांच संरचना


:यह जानकारी एमबीआर में बूट लोडर (या वीबीआर, यदि पास हो) को सक्रिय रूप से BIOS या एक निवासी PnP / BBS BIOS ओवरले के साथ बूट ऑर्डर को कॉन्फ़िगर करने के लिए मेमोरी में ओवरले करने की अनुमति देती है, आदि, हालांकि, इस जानकारी को नजरअंदाज कर दिया जाता है अधिकांश मानक एमबीआर और वीबीआर द्वारा। आदर्श रूप से, लोडेड ऑपरेटिंग सिस्टम द्वारा बाद में उपयोग के लिए ES:DI को VBR पर भेज दिया जाता है, लेकिन PnP-सक्षम ऑपरेटिंग सिस्टम में आमतौर पर PnP BIOS प्रविष्टि बिंदु को बाद में पुनर्प्राप्त करने के लिए फ़ॉलबैक विधियाँ भी होती हैं ताकि अधिकांश ऑपरेटिंग सिस्टम इस पर भरोसा न करें।
:यह जानकारी एमबीआर में बूट भारक (या वीबीआर, यदि पास हो) को सक्रिय रूप से BIOS या एक निवासी PnP / BBS BIOS ओवरले के साथ बूट ऑर्डर को कॉन्फ़िगर करने के लिए मेमोरी में ओवरले करने की अनुमति देती है, आदि, हालांकि, इस जानकारी को नजरअंदाज कर दिया जाता है अधिकांश मानक एमबीआर और वीबीआर द्वारा। आदर्श रूप से, लोडेड ऑपरेटिंग सिस्टम द्वारा बाद में उपयोग के लिए ES:DI को VBR पर भेज दिया जाता है, लेकिन PnP-सक्षम ऑपरेटिंग सिस्टम में सामान्यतः PnP BIOS प्रविष्टि बिंदु को बाद में पुनर्प्राप्त करने के लिए फ़ॉलबैक विधियाँ भी होती हैं ताकि अधिकांश ऑपरेटिंग सिस्टम इस पर भरोसा न करें।


=== एमबीआर से वीबीआर इंटरफ़ेस ===
=== एमबीआर से वीबीआर इंटरफ़ेस ===
प्रथा के अनुसार, एक मानक अनुरूप MBR, CPU के वास्तविक मोड में {{mono|0x0000}}:{{mono|0x7C00}} पर कूद कर निम्नलिखित रजिस्टरों को बनाए रखने या विशेष रूप से सेट करने के साथ सफलतापूर्वक लोड किए गए VBR को निष्पादन पास करता है, स्मृति स्थान {{mono|0x0000}}:{{mono|0x7C00}} पर लोड किया जाता है:
प्रथा के अनुसार, एक मानक अनुरूप एमबीआर, CPU के वास्तविक मोड में {{mono|0x0000}}:{{mono|0x7C00}} पर कूद कर निम्नलिखित रजिस्टरों को बनाए रखने या विशेष रूप से सेट करने के साथ सफलतापूर्वक लोड किए गए VBR को निष्पादन पास करता है, स्मृति स्थान {{mono|0x0000}}:{{mono|0x7C00}} पर लोड किया जाता है:
* सीएस: आईपी = {{mono|0x0000}}:{{mono|0x7C00}}{{efn|name="NB_CS-IP"}} (निरंतर)
* सीएस: आईपी = {{mono|0x0000}}:{{mono|0x7C00}}{{efn|name="NB_CS-IP"}} (निरंतर)
* डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
* डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
: एमएस-डॉस 2.0-7.0 / पीसी डॉस 2.0-6.3 MBRs प्रवेश पर प्राप्त DL मान को पारित नहीं करते हैं, बल्कि वे भौतिक बूट ड्राइव इकाई के रूप में चयनित प्राथमिक विभाजन की विभाजन तालिका प्रविष्टि में बूट स्थिति प्रविष्टि का उपयोग करते हैं। चूंकि यह अधिकांश एमबीआर विभाजन तालिकाओं में सम्मेलन द्वारा, 0x80 है, यह चीजों को तब तक नहीं बदलेगा जब तक कि BIOS पंक्ति में पहली निश्चित डिस्क/हटाने योग्य ड्राइव के अलावा किसी भौतिक डिवाइस को बूट करने का प्रयास न करे। यही कारण है कि ये ऑपरेटिंग सिस्टम दूसरी हार्ड डिस्क आदि को बूट नहीं कर सकते हैं। कुछ FDISK उपकरण द्वितीयक डिस्क पर विभाजन को "सक्रिय" के रूप में भी चिह्नित करने की अनुमति देते हैं। इस स्थिति में, यह जानते हुए कि ये ऑपरेटिंग सिस्टम वैसे भी अन्य ड्राइव को बूट नहीं कर सकते हैं, उनमें से कुछ 0x80 के पारंपरिक रूप से निश्चित मान को सक्रिय मार्कर के रूप में उपयोग करना जारी रखते हैं, जबकि अन्य वर्तमान में निर्दिष्ट भौतिक ड्राइव यूनिट (0x81, 0x82) के अनुरूप मानों का उपयोग करते हैं। जिससे अन्य ड्राइव से बूटिंग की अनुमति मिलती है, कम से कम सैद्धांतिक रूप से। वास्तव में, यह कई एमबीआर कोड के साथ काम करेगा, जो 0x80 पर जोर देने के बजाय बूट स्थिति प्रविष्टि के सेट बिट 7 को सक्रिय ध्वज के रूप में लेते हैं, हालांकि, एमएस-डॉस/पीसी डॉस एमबीआर के निश्चित मूल्य को स्वीकार करने के लिए हार्ड-वायर्ड हैं केवल 0x80। विभाजन तालिका में वास्तविक भौतिक ड्राइव संख्या को संग्रहीत करने से भी समस्याएँ पैदा होंगी, जब भौतिक ड्राइव का BIOS असाइनमेंट बदलता है, उदाहरण के लिए जब ड्राइव को हटाया जाता है, जोड़ा जाता है या स्वैप किया जाता है।
: एमएस-डॉस 2.0-7.0 / पीसी डॉस 2.0-6.3 एमबीआर प्रवेश पर प्राप्त DL मान को पारित नहीं करते हैं, बल्कि वे भौतिक बूट ड्राइव इकाई के रूप में चयनित प्राथमिक विभाजन की विभाजन तालिका प्रविष्टि में बूट स्थिति प्रविष्टि का उपयोग करते हैं। चूंकि यह अधिकांश एमबीआर विभाजन तालिकाओं में सम्मेलन द्वारा, 0x80 है, यह चीजों को तब तक नहीं बदलेगा जब तक कि BIOS पंक्ति में पहली निश्चित डिस्क/हटाने योग्य ड्राइव के अलावा किसी भौतिक डिवाइस को बूट करने का प्रयास न करे। यही कारण है कि ये ऑपरेटिंग सिस्टम दूसरी हार्ड डिस्क आदि को बूट नहीं कर सकते हैं। कुछ FDISK उपकरण द्वितीयक डिस्क पर विभाजन को "सक्रिय" के रूप में भी चिह्नित करने की अनुमति देते हैं। इस स्थिति में, यह जानते हुए कि ये ऑपरेटिंग सिस्टम वैसे भी अन्य ड्राइव को बूट नहीं कर सकते हैं, उनमें से कुछ 0x80 के पारंपरिक रूप से निश्चित मान को सक्रिय मार्कर के रूप में उपयोग करना जारी रखते हैं, जबकि अन्य वर्तमान में निर्दिष्ट भौतिक ड्राइव यूनिट (0x81, 0x82) के अनुरूप मानों का उपयोग करते हैं। जिससे अन्य ड्राइव से बूटिंग की अनुमति मिलती है, कम से कम सैद्धांतिक रूप से। वास्तव में, यह कई एमबीआर कोड के साथ काम करेगा, जो 0x80 पर जोर देने के बजाय बूट स्थिति प्रविष्टि के सेट बिट 7 को सक्रिय ध्वज के रूप में लेते हैं, हालांकि, एमएस-डॉस/पीसी डॉस एमबीआर के निश्चित मूल्य को स्वीकार करने के लिए हार्ड-वायर्ड हैं केवल 0x80। विभाजन तालिका में वास्तविक भौतिक ड्राइव संख्या को संग्रहीत करने से भी समस्याएँ पैदा होंगी, जब भौतिक ड्राइव का BIOS असाइनमेंट बदलता है, उदाहरण के लिए जब ड्राइव को हटाया जाता है, जोड़ा जाता है या स्वैप किया जाता है।
:इसलिए, एक सामान्य एमबीआर के लिए बिट 7 को सक्रिय ध्वज के रूप में स्वीकार करना और अन्यथा केवल वीबीआर का उपयोग करना और पास करना, मूल रूप से BIOS द्वारा प्रदान किया गया डीएल मान अधिकतम लचीलेपन की अनुमति देता है। MS-DOS 7.1 - 8.0 MBR बिट 7 को सक्रिय ध्वज के रूप में और किसी भी मान {{mono|0x01}}..{{mono|0x7F}} को अमान्य मानने के लिए बदल गए हैं, लेकिन वे अभी भी BIOS द्वारा प्रदान किए गए DL मान का उपयोग करने के बजाय विभाजन तालिका से भौतिक ड्राइव इकाई लेते हैं। DR-DOS 7.07 विस्तारित एमबीआर बिट 7 को सक्रिय ध्वज के रूप में मानते हैं और डिफ़ॉल्ट रूप से BIOS DL मान का उपयोग और पास करते हैं (गैर-मानक मान {{mono|0x00}}..{{mono|0x01}} सहित कुछ BIOS द्वारा विभाजित मीडिया के लिए भी उपयोग किए जाते हैं), लेकिन वे एक विशेष NEWLDR भी प्रदान करते हैं LOADER और REAL/32 के संयोजन के साथ-साथ MBR के विवरण व्यवहार को बदलने के लिए वैकल्पिक बूट विधियों का समर्थन करने के लिए कॉन्फ़िगरेशन ब्लॉक, ताकि यह विभाजन तालिका से प्राप्त ड्राइव मानों के साथ भी काम कर सके (LOADER और संयोजन के साथ महत्वपूर्ण) AAPs, देखें NEWLDR ऑफ़सेट <code>[[#NEWLDR_OFS_00Ch|0x000C]]</code>), Wyse गैर-मानक ड्राइव यूनिट {{mono|0x02}}..{{mono|0x7F}} को {{mono|0x80}}..{{mono|0xFD}} में ट्रांसलेट करें, और वैकल्पिक रूप से ड्राइव वैल्यू को ठीक करें ([[विस्तारित BIOS पैरामीटर ब्लॉक]] (EBPB) में <code>[[Design of the FAT file system#EBPB_OFS_19h|0x019]]</code> या सेक्टर ऑफ़सेट में <code>[[Design of the FAT file system#BSIBM_OFS_1FDh|0x01FD]]</code> ऑफ़सेट पर संग्रहीत) 0x01FD ) लोड किए गए VBRs में उन्हें निष्पादित करने से पहले (NEWLDR ऑफ़सेट <code>[[#NEWLDR_OFS_014h|0x0014]]</code> देखें) - यह अन्य बूट लोडरों को NEWLDR को चेन-लोडर के रूप में उपयोग करने की अनुमति देता है, फ्लाई पर इसकी इन-मेमोरी इमेज को कॉन्फ़िगर करता है और VBRs की लोडिंग को "टनल" करता है, EBRs, या AAPs NEWLDR के माध्यम से।
:इसलिए, एक सामान्य एमबीआर के लिए बिट 7 को सक्रिय ध्वज के रूप में स्वीकार करना और अन्यथा केवल वीबीआर का उपयोग करना और पास करना, मूल रूप से BIOS द्वारा प्रदान किया गया डीएल मान अधिकतम लचीलेपन की अनुमति देता है। MS-डॉस 7.1 - 8.0 एमबीआर बिट 7 को सक्रिय ध्वज के रूप में और किसी भी मान {{mono|0x01}}..{{mono|0x7F}} को अमान्य मानने के लिए बदल गए हैं, लेकिन वे अभी भी BIOS द्वारा प्रदान किए गए DL मान का उपयोग करने के बजाय विभाजन तालिका से भौतिक ड्राइव इकाई लेते हैं। DR-डॉस 7.07 विस्तारित एमबीआर बिट 7 को सक्रिय ध्वज के रूप में मानते हैं और डिफ़ॉल्ट रूप से BIOS DL मान का उपयोग और पास करते हैं (गैर-मानक मान {{mono|0x00}}..{{mono|0x01}} सहित कुछ BIOS द्वारा विभाजित मीडिया के लिए भी उपयोग किए जाते हैं), लेकिन वे एक विशेष NEWLDR भी प्रदान करते हैं LOADER और REAL/32 के संयोजन के साथ-साथ एमबीआर के विवरण व्यवहार को बदलने के लिए वैकल्पिक बूट विधियों का समर्थन करने के लिए कॉन्फ़िगरेशन ब्लॉक, ताकि यह विभाजन तालिका से प्राप्त ड्राइव मानों के साथ भी काम कर सके (LOADER और संयोजन के साथ महत्वपूर्ण) AAPs, देखें NEWLDR ऑफ़सेट <code>[[#NEWLDR_OFS_00Ch|0x000C]]</code>), Wyse गैर-मानक ड्राइव यूनिट {{mono|0x02}}..{{mono|0x7F}} को {{mono|0x80}}..{{mono|0xFD}} में ट्रांसलेट करें, और वैकल्पिक रूप से ड्राइव वैल्यू को ठीक करें ([[विस्तारित BIOS पैरामीटर ब्लॉक]] (EBPB) में <code>[[Design of the FAT file system#EBPB_OFS_19h|0x019]]</code> या क्षेत्र ऑफ़सेट में <code>[[Design of the FAT file system#BSIBM_OFS_1FDh|0x01FD]]</code> ऑफ़सेट पर संग्रहीत) 0x01FD ) लोड किए गए VBRs में उन्हें निष्पादित करने से पहले (NEWLDR ऑफ़सेट <code>[[#NEWLDR_OFS_014h|0x0014]]</code> देखें) - यह अन्य बूट भारकों को NEWLDR को चेन-भारक के रूप में उपयोग करने की अनुमति देता है, फ्लाई पर इसकी इन-मेमोरी इमेज को कॉन्फ़िगर करता है और VBRs की लोडिंग को "टनल" करता है, EBRs, या AAPs NEWLDR के माध्यम से।
*DH और ES की सामग्री: DI को MBR द्वारा पूर्ण प्लग-एंड-प्ले समर्थन (ऊपर देखें) के लिए संरक्षित किया जाना चाहिए, हालाँकि, MS-DOS 2.0 - 8.0 / PC DOS 2.0 - 6.3 और Windows NT सहित कई MBRs /2000/XP, नहीं। (यह आश्चर्यजनक नहीं है, क्योंकि DOS के वे संस्करण प्लग-एंड-प्ले BIOS मानक से पहले के हैं, और पिछले मानकों और सम्मेलनों ने DL के अलावा किसी अन्य रजिस्टर को संरक्षित करने की कोई आवश्यकता नहीं बताई है।) कुछ MBRs DH को 0 पर सेट करते हैं।
*DH और ES की सामग्री: DI को एमबीआर द्वारा पूर्ण प्लग-एंड-प्ले समर्थन (ऊपर देखें) के लिए संरक्षित किया जाना चाहिए, हालाँकि, MS-डॉस 2.0 - 8.0 / पीसी डॉस 2.0 - 6.3 और विंडोज़ NT सहित कई एमबीआर /2000/XP, नहीं। (यह आश्चर्यजनक नहीं है, क्योंकि डॉस के वे संस्करण प्लग-एंड-प्ले BIOS मानक से पहले के हैं, और पिछले मानकों और सम्मेलनों ने DL के अलावा किसी अन्य रजिस्टर को संरक्षित करने की कोई आवश्यकता नहीं बताई है।) कुछ एमबीआर DH को 0 पर सेट करते हैं।


एमबीआर कोड कई कार्यान्वयनों में वीबीआर को अतिरिक्त जानकारी देता है:
एमबीआर कोड कई कार्यान्वयनों में वीबीआर को अतिरिक्त जानकारी देता है:
*डीएस: एसआई = सक्रिय वीबीआर के अनुरूप 16-बाइट एमबीआर पार्टीशन टेबल प्रविष्टि (स्थानांतरित एमबीआर में) को इंगित करता है। [[पीसी-एमओएस]] 5.1 बूट करने के लिए इस पर निर्भर करता है यदि विभाजन तालिका में कोई विभाजन बूट करने योग्य के रूप में फ़्लैग नहीं किया गया है। लोडर के संयोजन के साथ, [[बहुउपयोगकर्ता डॉस]] और रीयल/32 बूट सेक्टर सक्रिय विभाजन के बूट सेक्टर का पता लगाने के लिए इसका उपयोग करते हैं (या अन्य बूटस्ट्रैप लोडर जैसे IBMBIO.LDR डिस्क पर एक निश्चित स्थिति पर) यदि बूट फ़ाइल (LOADER.SYS) कर सकता है नहीं मिला। PTS-DOS 6.6 और S/DOS 1.0 इसे अपने [[उन्नत सक्रिय विभाजन]] (AAP) सुविधा के साथ संयोजन में उपयोग करते हैं। LOADER और AAPs के लिए समर्थन के अलावा, DR-DOS 7.07 अपने दोहरे CHS/LBA VBR कोड का उपयोग करते समय आवश्यक INT 13h एक्सेस विधि का निर्धारण करने के लिए इसका उपयोग कर सकता है और यह विभाजन प्रविष्टि में बूट ड्राइव/स्टेटस फ़्लैग फ़ील्ड को इसके अनुसार अपडेट करेगा प्रभावी रूप से उपयोग किए जाने वाले डीएल मूल्य। डार्विन बूटलोडर्स (Apple के <code>boot1h</code>, <code>boot1u</code>, और डेविड इलियट के <code>boot1fat32</code>) इस सूचक पर भी निर्भर करते हैं, लेकिन इसके अतिरिक्त वे DS का उपयोग नहीं करते हैं, लेकिन इसके बजाय {{mono|0x0000}} पर सेट होने की कल्पना करते हैं।<ref name="Elliott_2009_Darwin" /> यदि यह धारणा गलत है तो यह समस्याएँ पैदा करेगा। OS/2, MS-DOS 2.0 से 8.0, PC DOS 2.0 से 7.10 और Windows NT/2000/XP का MBR कोड भी यही इंटरफ़ेस प्रदान करता है, हालाँकि ये सिस्टम इसका उपयोग नहीं करते हैं। Windows Vista/7 MBRs अब यह DS:SI सूचक प्रदान नहीं करते हैं। जबकि कुछ एक्सटेंशन केवल 16-बाइट पार्टीशन टेबल एंट्री पर ही निर्भर करते हैं, अन्य एक्सटेंशन के लिए पूरे 4 (या 5 एंट्री) पार्टीशन टेबल की भी आवश्यकता हो सकती है।
*डीएस: एसआई = सक्रिय वीबीआर के अनुरूप 16-बाइट एमबीआर पार्टीशन टेबल प्रविष्टि (स्थानांतरित एमबीआर में) को इंगित करता है। [[पीसी-एमओएस]] 5.1 बूट करने के लिए इस पर निर्भर करता है यदि विभाजन तालिका में कोई विभाजन बूट करने योग्य के रूप में फ़्लैग नहीं किया गया है। भारक के संयोजन के साथ, [[बहुउपयोगकर्ता डॉस]] और रीयल/32 बूट क्षेत्र सक्रिय विभाजन के बूट क्षेत्र का पता लगाने के लिए इसका उपयोग करते हैं (या अन्य बूटस्ट्रैप भारक जैसे आईबीएमBIO.LDR डिस्क पर एक निश्चित स्थिति पर) यदि बूट फ़ाइल (LOADER.SYS) कर सकता है नहीं मिला। PTS-डॉस 6.6 और S/डॉस 1.0 इसे अपने [[उन्नत सक्रिय विभाजन]] (AAP) सुविधा के साथ संयोजन में उपयोग करते हैं। LOADER और AAPs के लिए समर्थन के अलावा, DR-डॉस 7.07 अपने दोहरे CHS/एलबीए VBR कोड का उपयोग करते समय आवश्यक INT 13h एक्सेस विधि का निर्धारण करने के लिए इसका उपयोग कर सकता है और यह विभाजन प्रविष्टि में बूट ड्राइव/स्टेटस फ़्लैग फ़ील्ड को इसके अनुसार अपडेट करेगा प्रभावी रूप से उपयोग किए जाने वाले डीएल मूल्य। डार्विन बूटभारक्स (Apple के <code>boot1h</code>, <code>boot1u</code>, और डेविड इलियट के <code>boot1fat32</code>) इस सूचक पर भी निर्भर करते हैं, लेकिन इसके अतिरिक्त वे DS का उपयोग नहीं करते हैं, लेकिन इसके बजाय {{mono|0x0000}} पर सेट होने की कल्पना करते हैं।<ref name="Elliott_2009_Darwin" /> यदि यह धारणा गलत है तो यह समस्याएँ पैदा करेगा। OS/2, MS-डॉस 2.0 से 8.0, पीसी डॉस 2.0 से 7.10 और विंडोज़ NT/2000/XP का एमबीआर कोड भी यही इंटरफ़ेस प्रदान करता है, हालाँकि ये सिस्टम इसका उपयोग नहीं करते हैं। विंडोज़ Vista/7 एमबीआर अब यह DS:SI सूचक प्रदान नहीं करते हैं। जबकि कुछ एक्सटेंशन केवल 16-बाइट पार्टीशन टेबल एंट्री पर ही निर्भर करते हैं, अन्य एक्सटेंशन के लिए पूरे 4 (या 5 एंट्री) पार्टीशन टेबल की भी आवश्यकता हो सकती है।
*DS:[[बीपी रजिस्टर]] = वैकल्पिक रूप से सक्रिय VBR के अनुरूप 16-बाइट MBR विभाजन तालिका प्रविष्टि (स्थानांतरित MBR में) को इंगित करता है। यह DS:SI (ऊपर देखें) द्वारा प्रदान किए गए पॉइंटर के समान है और MS-DOS 2.0-8.0, PC DOS 2.0-7.10, Windows NT/2000/XP/Vista/7 MBRs द्वारा प्रदान किया गया है। हालाँकि, यह अधिकांश तृतीय-पक्ष MBRs द्वारा समर्थित नहीं है।
*DS:[[बीपी रजिस्टर]] = वैकल्पिक रूप से सक्रिय VBR के अनुरूप 16-बाइट एमबीआर विभाजन तालिका प्रविष्टि (स्थानांतरित एमबीआर में) को इंगित करता है। यह DS:SI (ऊपर देखें) द्वारा प्रदान किए गए पॉइंटर के समान है और MS-डॉस 2.0-8.0, पीसी डॉस 2.0-7.10, विंडोज़ NT/2000/XP/Vista/7 एमबीआर द्वारा प्रदान किया गया है। हालाँकि, यह अधिकांश तृतीय-पक्ष एमबीआर द्वारा समर्थित नहीं है।


DR-DOS 7.07 के तहत विस्तारित MBR द्वारा और LOADER के संयोजन में एक विस्तारित इंटरफ़ेस वैकल्पिक रूप से प्रदान किया जा सकता है:
DR-डॉस 7.07 के तहत विस्तारित एमबीआर द्वारा और LOADER के संयोजन में एक विस्तारित इंटरफ़ेस वैकल्पिक रूप से प्रदान किया जा सकता है:
*AX = मैजिक सिग्नेचर इस NEWLDR एक्सटेंशन ({{mono|0x0EDC}}) की उपस्थिति का संकेत देता है
*AX = मैजिक सिग्नेचर इस NEWLDR एक्सटेंशन ({{mono|0x0EDC}}) की उपस्थिति का संकेत देता है
* डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
* डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
*DS:SI = प्रयुक्त 16-बाइट MBR पार्टीशन टेबल प्रविष्टि की ओर इशारा करता है (ऊपर देखें)
*DS:SI = प्रयुक्त 16-बाइट एमबीआर पार्टीशन टेबल प्रविष्टि की ओर इशारा करता है (ऊपर देखें)
*ES:BX = बूट सेक्टर की शुरुआत या NEWLDR सेक्टर इमेज (आमतौर पर {{mono|0x7C00}})
*ES:BX = बूट क्षेत्र की शुरुआत या NEWLDR क्षेत्र इमेज (सामान्यतः {{mono|0x7C00}})
* [[सीएक्स रजिस्टर]] = आरक्षित
* [[सीएक्स रजिस्टर]] = आरक्षित


Line 698: Line 698:
*डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
*डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
*डीएस:एसआई = एक हाइब्रिड एमबीआर हैंडओवर संरचना को इंगित करता है, जिसमें 16-बाइट डमी एमबीआर विभाजन तालिका प्रविष्टि शामिल है (ऑफ़सेट {{mono|0x00}} पर बूट फ्लैग को छोड़कर सभी बिट्स सेट के साथ और ऑफसेट {{mono|0x04}} पर विभाजन प्रकार) अतिरिक्त डेटा के बाद। यह पुराने DS के साथ आंशिक रूप से संगत है: ऊपर चर्चा की गई SI एक्सटेंशन, यदि केवल 16-बाइट विभाजन प्रविष्टि है, तो इन पुराने एक्सटेंशन के लिए संपूर्ण विभाजन तालिका की आवश्यकता नहीं है।
*डीएस:एसआई = एक हाइब्रिड एमबीआर हैंडओवर संरचना को इंगित करता है, जिसमें 16-बाइट डमी एमबीआर विभाजन तालिका प्रविष्टि शामिल है (ऑफ़सेट {{mono|0x00}} पर बूट फ्लैग को छोड़कर सभी बिट्स सेट के साथ और ऑफसेट {{mono|0x04}} पर विभाजन प्रकार) अतिरिक्त डेटा के बाद। यह पुराने DS के साथ आंशिक रूप से संगत है: ऊपर चर्चा की गई SI एक्सटेंशन, यदि केवल 16-बाइट विभाजन प्रविष्टि है, तो इन पुराने एक्सटेंशन के लिए संपूर्ण विभाजन तालिका की आवश्यकता नहीं है।
:चूंकि पुराने ऑपरेटिंग सिस्टम (उनके VBRs सहित) इस विस्तार का समर्थन नहीं करते हैं और न ही वे 2 TiB बाधा से परे के क्षेत्रों को संबोधित करने में सक्षम हैं, एक GPT-सक्षम हाइब्रिड बूट लोडर को अभी भी 16-बाइट डमी MBR विभाजन तालिका प्रविष्टि का अनुकरण करना चाहिए यदि बूट विभाजन पहले 2 टीआईबी के भीतर स्थित है।{{efn|name="NB_Hybrid_MBR"}}
:चूंकि पुराने ऑपरेटिंग सिस्टम (उनके VBRs सहित) इस विस्तार का समर्थन नहीं करते हैं और न ही वे 2 TiB बाधा से परे के क्षेत्रों को संबोधित करने में सक्षम हैं, एक GPT-सक्षम हाइब्रिड बूट भारक को अभी भी 16-बाइट डमी एमबीआर विभाजन तालिका प्रविष्टि का अनुकरण करना चाहिए यदि बूट विभाजन पहले 2 टीआईबी के भीतर स्थित है।{{efn|name="NB_Hybrid_MBR"}}
*ES:DI = "<code>$PnP</code>" संस्थापन जाँच संरचना को इंगित करता है (ऊपर देखें)
*ES:DI = "<code>$PnP</code>" संस्थापन जाँच संरचना को इंगित करता है (ऊपर देखें)


== सामग्री का संपादन और प्रतिस्थापन ==
== सामग्री का संपादन और प्रतिस्थापन ==
यद्यपि विभिन्न डिस्क संपादकों का उपयोग करके सीधे एमबीआर सेक्टर में बाइट्स में हेरफेर करना संभव है, एमबीआर को कार्य कोड के निश्चित सेट लिखने के लिए उपकरण हैं। MS-DOS 5.0 के बाद से, प्रोग्राम <code>[[FDISK]]</code> में स्विच <code>/MBR</code> शामिल है, जो MBR कोड को फिर से लिखेगा।<ref name="Microsoft_KB69013"/> [[विंडोज 2000]] और [[विन्डोज़ एक्सपी]] के तहत, [[रिकवरी कंसोल]] का उपयोग इसके <code>fixmbr</code> कमांड का उपयोग करके स्टोरेज डिवाइस में नया एमबीआर कोड लिखने के लिए किया जा सकता है।  और  [[विंडोज 7]] के अंतर्गत, [[पुनर्प्राप्ति पर्यावरण]] का उपयोग <code>BOOTREC /FIXMBR</code> कमांड का उपयोग करके नया MBR कोड लिखने के लिए किया जा सकता है। कुछ तृतीय-पक्ष उपयोगिताओं का उपयोग विभाजन तालिकाओं की सामग्री को सीधे संपादित करने के लिए भी किया जा सकता है (हेक्साडेसिमल या डिस्क/सेक्टर संपादकों के किसी भी ज्ञान की आवश्यकता के बिना), जैसे [[एमबीआर विज़ार्ड]]।{{efn|name="NB_PTEDIT32"}}
यद्यपि विभिन्न डिस्क संपादकों का उपयोग करके सीधे एमबीआर क्षेत्र में बाइट्स में हेरफेर करना संभव है, एमबीआर को कार्य कोड के निश्चित सेट लिखने के लिए उपकरण हैं। MS-डॉस 5.0 के बाद से, प्रोग्राम <code>[[FDISK]]</code> में स्विच <code>/एमबीआर</code> शामिल है, जो एमबीआर कोड को फिर से लिखेगा।<ref name="Microsoft_KB69013"/> [[विंडोज 2000]] और [[विन्डोज़ एक्सपी]] के तहत, [[रिकवरी कंसोल]] का उपयोग इसके <code>fixएमबीआर</code> कमांड का उपयोग करके स्टोरेज डिवाइस में नया एमबीआर कोड लिखने के लिए किया जा सकता है।  और  [[विंडोज 7]] के अंतर्गत, [[पुनर्प्राप्ति पर्यावरण]] का उपयोग <code>BOOTREC /FIXएमबीआर</code> कमांड का उपयोग करके नया एमबीआर कोड लिखने के लिए किया जा सकता है। कुछ तृतीय-पक्ष उपयोगिताओं का उपयोग विभाजन तालिकाओं की सामग्री को सीधे संपादित करने के लिए भी किया जा सकता है (हेक्साडेसिमल या डिस्क/क्षेत्र संपादकों के किसी भी ज्ञान की आवश्यकता के बिना), जैसे [[एमबीआर विज़ार्ड]]।{{efn|name="NB_PTEDIT32"}}


<code>dd</code> एक POSIX कमांड है जिसका उपयोग आमतौर पर स्टोरेज डिवाइस पर किसी भी स्थान को पढ़ने या लिखने के लिए किया जाता है, जिसमें MBR शामिल है। Linux में, ms-sys का उपयोग Windows MBR को स्थापित करने के लिए किया जा सकता है। [[GRUB]] और LILO परियोजनाओं में MBR क्षेत्र के लिए कोड लिखने के लिए उपकरण हैं, अर्थात् <code>grub-install</code> और <code>lilo -mbr</code>। GRUB लीगेसी इंटरएक्टिव कंसोल MBR को <code>setup</code> और <code>embed</code> कमांड का उपयोग करके लिख सकता है, लेकिन GRUB2 को वर्तमान में एक ऑपरेटिंग सिस्टम के भीतर से चलाने के लिए <code>grub-install</code> की आवश्यकता होती है।
<code>dd</code> एक POSIX कमांड है जिसका उपयोग सामान्यतः स्टोरेज डिवाइस पर किसी भी स्थान को पढ़ने या लिखने के लिए किया जाता है, जिसमें एमबीआर शामिल है। Linux में, ms-sys का उपयोग विंडोज़ एमबीआर को स्थापित करने के लिए किया जा सकता है। [[GRUB]] और LILO परियोजनाओं में एमबीआर क्षेत्र के लिए कोड लिखने के लिए उपकरण हैं, अर्थात् <code>grub-install</code> और <code>lilo -एमबीआर</code>। GRUB लीगेसी इंटरएक्टिव कंसोल एमबीआर को <code>setup</code> और <code>embed</code> कमांड का उपयोग करके लिख सकता है, लेकिन GRUB2 को वर्तमान में एक ऑपरेटिंग सिस्टम के भीतर से चलाने के लिए <code>grub-install</code> की आवश्यकता होती है।


विभिन्न प्रोग्राम प्राथमिक विभाजन तालिका और विस्तारित विभाजन में तार्किक विभाजन दोनों का "बैकअप" बनाने में सक्षम हैं।
विभिन्न प्रोग्राम प्राथमिक विभाजन तालिका और विस्तारित विभाजन में तार्किक विभाजन दोनों का "बैकअप" बनाने में सक्षम हैं।
Line 818: Line 818:
*बीएक्स रजिस्टर
*बीएक्स रजिस्टर
*बढ़ी हुई डिस्क ड्राइव विशिष्टता
*बढ़ी हुई डिस्क ड्राइव विशिष्टता
*लिलो (बूट लोडर)
*लिलो (बूट भारक)
*Apple विभाजन का नक्शा
*Apple विभाजन का नक्शा
== बाहरी संबंध ==
== बाहरी संबंध ==
* [http://wiki.osdev.org/MBR_(x86) Article on master boot record]
* [http://wiki.osdev.org/MBR_(x86) Article on master boot record]
* [https://neosmart.net/wiki/mbr-boot-process/ The MBR and how it fits into the BIOS boot process]
* [https://neosmart.net/wiki/mbr-boot-process/ The एमबीआर and how it fits into the BIOS boot process]


{{Firmware and booting}}
{{Firmware and booting}}

Revision as of 12:52, 15 December 2022

मास्टर बूट रिकॉर्ड (एमबीआर) एक विशेष प्रकार का बूट क्षेत्र है जो आईबीएम पीसी-संगत सिस्टम और इसके बाद के सिस्टमों में उपयोग के लिए नियत डिस्क (हार्ड डिस्क ड्राइव) या निष्कासनीय ड्राइव जैसे विभाजित कंप्यूटर मॉस संग्रहण उपकरण के ठीक प्रारंभ में स्थित होता है। एमबीआर की अवधारणा को वर्ष 1983 में पीसी डॉस 2.0 के साथ सार्वजनिक रूप से प्रस्तुत किया गया था।

एमबीआर में यह जानकारी निहित होती है कि डिस्क के क्षेत्रों को विभाजनों में कैसे विभाजित किया जाता है, जिनमें से प्रत्येक विभाजन में एक फाइल प्रणाली होती है। एमबीआर में स्थापित ऑपरेटिंग सिस्टम के लिए भारक (लोडर) के रूप में, सामान्यतः भारक के दूसरे चरण पर नियंत्रण पारित करके, या प्रत्येक विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) के संयोजन के साथ कार्य करने के लिए निष्पादनीय कोड भी होता है। यह एमबीआर कोड सामान्यतः बूट भारक के रूप में जाना जाता है।[1]

एमबीआर में विभाजन तालिका का संगठन एक विभाजित डिस्क के अधिकतम पतायोग्य भंडारण स्थान को 2 टेबिबाइट (232 × 512 बाइट) तक सीमित करता है।[2] 32-बिट अंकगणित या 4096-बाइट क्षेत्र मानते हुए इस सीमा की अल्पवृद्धि के दृष्टिकोण आधिकारिक रूप से समर्थित नहीं हैं, क्योंकि ये उपलब्ध बूट भारक और अधिकांश एमबीआर-अनुरूप ऑपरेटिंग सिस्टम और सिस्टम यंत्रों के साथ संगतता को समाप्त करते हैं, और संकीर्ण रूप से नियंत्रित सिस्टम वातावरणों के बाहर उपयोग किए जाने पर गंभीर डेटा विकार का कारण बन सकते हैं। इसलिए, एमबीआर-आधारित विभाजन योजना, नए कंप्यूटरों में जीयूआईडी विभाजन तालिका (जीपीटी) योजना द्वारा प्रतिस्थापित किए जाने की प्रक्रिया में है। पुराने सिस्टमों के लिए पश्चगामी संगतता के कुछ सीमित रूप प्रदान करने के लिए जीपीटी, एक एमबीआर के साथ सह-अस्तित्व में हो सकता है।

एमबीआर, गैर-विभाजित माध्यमों जैसे फ्लॉपी, सुपरफ्लॉपी या अन्य भंडारण उपकरणों पर उपलब्ध नहीं हैं, जो इस प्रकार व्यवहार करने के लिए विन्यासित किए गए हैं।

अवलोकन

आईबीएम पीसी डॉस 2.0 के साथ विभाजित माध्यमों के लिए समर्थन, और इस प्रकार मास्टर बूट रिकॉर्ड (एमबीआर) को मार्च 1983 में प्रस्तुत किया गया था, जिससे तत्कालीन नए आईबीएम व्यक्तिगत कंप्यूटर एक्सटी की 10 एमबी हार्ड डिस्क का समर्थन किया जा सके, जो अभी भी एफएटी12 फ़ाइल प्रणाली का उपयोग कर रहा था। एमबीआर के मूल संस्करण को आईबीएम के डेविड लिटन द्वारा जून 1982 में लिखा गया था। विभाजन तालिका चार प्राथमिक विभाजनों तक का समर्थन करती है, जिनमें से डॉस केवल एक का उपयोग कर सकता है। यह एफएटी16 को डॉस 3.0 के साथ एक नई फाइल प्रणाली के रूप में प्रस्तुत किय जाने पर नहीं बदला। अन्य विभाजनों को संग्रहित करने के लिए संग्राहक के रूप में उपयोग किये जाने वाला एक विशेष प्राथमिक विभाजन प्रकार, विस्तारित विभाजन के लिए समर्थन को डॉस 3.2 के साथ संयोजित किया गया था, और एक विस्तारित विभाजन के अंदर स्थिर तार्किक ड्राइव डॉस 3.30 के साथ प्रकाश में आये। चूँकि एमएस-डॉस, पीसी डॉस, ओएस/2 और विंडोज़ इन्हें बूट करने के लिए कभी भी सक्षम नहीं थे, एमबीआर प्रारूप और बूट कोड, डॉस और ओएस/2 के पूरे युग में वर्ष 1996 तक कुछ तृतीय-पक्ष कार्यान्वयनों को छोड़कर कार्यक्षमता में लगभग अपरिवर्तित रहे।

8 जीबी से बड़ी डिस्क का समर्थन करने के लिए विंडोज 95बी और डॉस 7.10 में तार्किक ब्लॉक एड्रेसिंग (एलबीए) के लिए समर्थन को वर्ष 1996 में प्रस्तुत किया गया था। डिस्क टाइमस्टैम्प भी प्रस्तुत किए गए थे।[3] यह इस विचार को भी प्रदर्शित करता है कि एमबीआर, ऑपरेटिंग सिस्टम और फाइल प्रणाली होने के लिए स्वतंत्र हैं। हालाँकि, एमबीआर के हालही के माइक्रोसॉफ्ट कार्यान्वयन में इस संरचना नियम के साथ आंशिक रूप से समझौता किया गया था, जो एफएटी16बी और एफएटी32 विभाजन प्रकार 0x06/0x0बी के लिए बेलनाकार-हेड-क्षेत्र अभिगमन को प्रयुक्त करता है, जबकि एलबीए का उपयोग 0x0E/0x0C के लिए किया जाता है।

कभी-कभी एमबीआर प्रारूप (जो कभी-कभी संगतता समस्याओं का कारण बनता है) के कुछ आंतरिक विवरणों के खराब दस्तावेज़ीकरण के बाद भी, पीसी-संगत कंप्यूटरों की व्यापक लोकप्रियता और दशकों से इसकी अर्ध-स्थैतिक प्रकृति के कारण इसे वास्तविक उद्योग मानक के रूप में व्यापक रूप से अपनाया गया है। यह अन्य प्लेटफार्मों के लिए कंप्यूटर ऑपरेटिंग सिस्टम द्वारा समर्थित होने की सीमा तक भी था। कभी-कभी यह बूटस्ट्रैपिंग और विभाजन के लिए अन्य पहले से उपलब्ध या क्रॉस-प्लेटफ़ॉर्म मानकों के अतिरिक्त होता था।[4]

हालांकि, एमबीआर विभाजन प्रविष्टियाँ और वाणिज्यिक ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले एमबीआर बूट कोड 32 बिट तक सीमित हैं।[2] इसलिए, एमबीआर विभाजन योजना (33-बिट अंकगणित के बिना) द्वारा 512-बाइट क्षेत्रों (या तो वास्तविक या अनुकरित) का उपयोग करने वाली डिस्कों पर समर्थित अधिकतम डिस्क आकार 2 टेबिबाइट तक सीमित है।[2] परिणामस्वरूप, बड़ी डिस्क के लिए एक अलग विभाजन योजना का उपयोग किया जाना चाहिए, क्योंकि ये वर्ष 2010 से व्यापक रूप से उपलब्ध हो गए हैं। इसलिए एमबीआर विभाजन योजना जीयूआईडी विभाजन तालिका (जीपीटी) द्वारा अधिक्रमित होने की प्रक्रिया में है। इसका आधिकारिक दृष्टिकोण, सुरक्षात्मक एमबीआर को नियोजित करके डेटा अखंडता सुनिश्चित करने से अल्प अधिक है। विशेष रूप से, यह ऑपरेटिंग सिस्टम के साथ पश्चगामी संगतता प्रदान नहीं करता है जो जीपीटी योजना का भी समर्थन नहीं करता है। इस बीच, दोनों विभाजन योजनाओं में "समानांतर" और/या पुराने ऑपरेटिंग सिस्टम को जीपीटी विभाजन से बूट करने की सुविधा देने के लिए डिस्क के पहले भौतिक 2 टेबिबाइट में स्थित विभाजन को व्यवस्थित रखने के लिए हाइब्रिड एमबीआर के कई रूपों को तीसरे पक्ष द्वारा संरचित और कार्यान्वित किया गया है। इन समाधानों की वर्तमान गैर-मानक प्रकृति कुछ परिदृश्यों में विभिन्न अनुकूलता समस्याओं का कारण बनती है।

एमबीआर में ड्राइव के पहले डिस्क क्षेत्र में 512 या अधिक बाइट स्थित होते हैं।

इसमें, निम्न में से एक या अधिक उपस्थित हो सकते हैं:

  • भंडारण उपकरण के विभाजन का वर्णन करने वाली एक विभाजन तालिका। इस संदर्भ में बूट क्षेत्र को विभाजन क्षेत्र भी कहा जा सकता है।
  • बूटस्ट्रैप कोड : विन्यासित बूट योग्य विभाजन की पहचान करने के निर्देश, फिर इसके वॉल्यूम बूट रिकॉर्ड (VBR) को एक श्रृंखला भारक के रूप में लोड और निष्पादित करें।
  • वैकल्पिक 32-बिट डिस्क टाइमस्टैम्प[3]
  • वैकल्पिक 32-बिट डिस्क चिह्न[5][6][7][8]

डिस्क विभाजन

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

अधिक जटिल विभाजन योजनाओं, जैसे कि विस्तारित बूट रिकॉर्ड (EBRs), BSD डिस्कलेबल, या तार्किक डिस्क प्रबंधक मेटाडेटा विभाजन का वर्णन करने के लिए स्वयं विभाजन में भी डेटा हो सकता है।[9]

एमबीआर एक विभाजन में स्थित नहीं है; यह पहले विभाजन से पहले डिवाइस के पहले क्षेत्र (भौतिक ऑफ़सेट 0) पर स्थित है। (एक गैर-विभाजित डिवाइस पर या एक अलग विभाजन के भीतर मौजूद बूट क्षेत्र को वॉल्यूम बूट रिकॉर्ड कहा जाता है।) उन मामलों में जहां कंप्यूटर डायनेमिक ड्राइव BIOS ओवरले या बूट प्रबंधक चला रहा है, विभाजन तालिका को किसी अन्य भौतिक में ले जाया जा सकता है। डिवाइस पर स्थान; उदाहरण के लिए, ऑनट्रैक डिस्क मैनेजर अक्सर दूसरे क्षेत्र में मूल एमबीआर सामग्री की एक प्रति रखता है, फिर बाद में बूट किए गए ओएस या एप्लिकेशन से खुद को छुपाता है, इसलिए एमबीआर कॉपी को ऐसा माना जाता है जैसे कि यह अभी भी पहले क्षेत्र में रह रहा हो।

क्षेत्र लेआउट

परिपाटी के अनुसार, एमबीआर विभाजन तालिका योजना में बिल्कुल चार प्राथमिक विभाजन तालिका प्रविष्टियाँ हैं, हालाँकि कुछ ऑपरेटिंग सिस्टम और सिस्टम टूल्स ने इसे पाँच तक बढ़ा दिया है (उन्नत सक्रिय विभाजन (AAP) PTS-डॉस 6.60[10] और DR-डॉस 7.07 के साथ) , आठ (AST Research और NEC MS-डॉस 3.x[11][12] और साथ ही स्पीडस्टोर स्टोरेज डायमेंशन स्पीडस्टोर), या सोलह प्रविष्टियाँ (ऑनट्रैक डिस्क मैनेजर के साथ)।

Structure of a classical generic एमबीआर
Address Description Size
(bytes)
0x0000 (0) Bootstrap code area 446
0x01BE (446) Partition entry №1 Partition table
(for primary partitions)
16
0x01CE (462) Partition entry №2 16
0x01DE (478) Partition entry №3 16
0x01EE (494) Partition entry №4 16
0x01FE (510) 0x55 Boot signature[lower-alpha 1] 2
0x01FF (511) 0xAA
Total size: 446 + 4×16 + 2 512
Structure of a modern standard एमबीआर
Address Description Size
(bytes)
0x0000 (0) Bootstrap code area (part 1) 218
0x00DA (218) 0x0000 Disk timestamp[3][lower-alpha 2] (optional; विंडोज़ 95B/98/98SE/ME (MS-डॉस 7.1–8.0). Alternatively, can serve as OEM loader signature with NEWLDR) 2
0x00DC (220) Original physical drive (0x800xFF) 1
0x00DD (221) Seconds (0–59) 1
0x00DE (222) Minutes (0–59) 1
0x00DF (223) Hours (0–23) 1
0x00E0 (224) Bootstrap code area (part 2, code entry at 0x0000) 216 (or 222)
0x01B8 (440) 32-bit disk signature Disk signature (optional; UEFI, Linux, विंडोज़ NT family and other OSes) 4
0x01BC (444) 0x0000 (0x5A5A if copy-protected) 2
0x01BE (446) Partition entry №1 Partition table
(for primary partitions)
16
0x01CE (462) Partition entry №2 16
0x01DE (478) Partition entry №3 16
0x01EE (494) Partition entry №4 16
0x01FE (510) 0x55 Boot signature[lower-alpha 1] 2
0x01FF (511) 0xAA
Total size: 218 + 6 + 216 + 6 + 4×16 + 2 512
Structure of AAP एमबीआर
Address Description Size
(bytes)
0x0000 (0) Bootstrap code area 428
0x01AC (428) 0x78 AAP signature (optional) 2
0x01AD (429) 0x56
0x01AE (430) AAP physical drive (0x80-0xFE; 0x00: not used; 0x01-0x7F, 0xFF: reserved) AAP record (optional) (AAP partition entry #0 with special semantics) 1
0x01AF (431) CHS (start) address of AAP partition/image file or VBR/EBR 3
0x01B2 (434) Reserved for AAP partition type (0x00 if not used) (optional) 1
0x01B3 (435) Reserved for CHS end address in AAP (optional; byte at offset 0x01B5 is also used for एमबीआर checksum (PTS DE, BootWizard); 0x000000 if not used) 3
0x01B6 (438) Start एलबीए of AAP image file or VBR/EBR or relative sectors of AAP partition (copied to offset +01Chex in the loaded sector over the "hidden sectors" entry of a डॉस 3.31 BPB (or emulation thereof) to also support EBR booting) 4
0x01BA (442) Reserved for sectors in AAP (optional; 0x00000000 if not used) 4
0x01BE (446) Partition entry №1 Partition table
(for primary partitions)
16
0x01CE (462) Partition entry №2 16
0x01DE (478) Partition entry №3 16
0x01EE (494) Partition entry №4 16
0x01FE (510) 0x55 Boot signature[lower-alpha 1] 2
0x01FF (511) 0xAA
Total size: 428 + 2 + 16 + 4×16 + 2 512
Structure of NEWLDR एमबीआर
Address Description Size
(bytes)
0x0000 (0) JMPS (EBhex) / NEWLDR record size (often 0x0A/0x16/0x1C for code start at 0x000C/0x0018/0x001E) NEWLDR record (optional) 2
0x0002 (2) "NEWLDR" signature 6
0x0008 (8) LOADER physical drive and boot flag (0x80-0xFE, 0x00-0x7E, 0xFF, 0x7F) (if not used, this and following 3 bytes must be all 0) 1
0x0009 (9) CHS address of LOADER boot sector or image file (f.e. आईबीएमBIO.LDR) (0x000000 if not used) 3
0x000C (12) Allowed DL minimum, else take from partition table (0x80: default; 0x00: always use DL; 0xFF: always use table entry) 1
0x000D (13) Reserved (default: 0x000000) 3
0x0010 (16) एलबीए of LOADER boot sector or image file (optional; 0x00000000 if not used) 4
0x0014 (20) Patch offset of VBR boot unit (default 0x0000 if not used, else 0024hex or 01FDhex) 2
0x0016 (22) Checksum (0x0000 if not used) 2
0x0018 (24) OEM loader signature ("MSWIN4" for REAL/32, see also offset +0DAhex, corresponds with OEM label at offset +003hex in VBRs (optional) 6
Varies Bootstrap code area (code entry at 0x0000) Varies
0x01AC (428) 0x78 AAP signature (optional) 2
0x01AD (429) 0x56
0x01AE (430) AAP partition entry №0 with special semantics AAP record (optional) 16
0x01BE (446) Partition entry №1 Partition table
(for primary partitions)
16
0x01CE (462) Partition entry №2 16
0x01DE (478) Partition entry №3 16
0x01EE (494) Partition entry №4 16
0x01FE (510) 0x55 Boot signature[lower-alpha 1] 2
0x01FF (511) 0xAA
Total size: 30 + 398 + 2 + 16 + 4×16 + 2 512
Structure of AST/NEC MS-डॉस and SpeedStor एमबीआर
Address Description Size
(bytes)
0x0000 (0) Bootstrap code area 380
0x017C (380) 0x5A AST/NEC signature (optional; not for SpeedStor) 2
0x017D (381) 0xA5
0x017E (382) Partition entry №8 AST/NEC expanded partition table
(optional; also for SpeedStor)
16
0x018E (398) Partition entry №7 16
0x019E (414) Partition entry №6 16
0x01AE (430) Partition entry №5 16
0x01BE (446) Partition entry №4 Partition table
(for primary partitions)
16
0x01CE (462) Partition entry №3 16
0x01DE (478) Partition entry №2 16
0x01EE (494) Partition entry №1 16
0x01FE (510) 0x55 Boot signature[lower-alpha 1] 2
0x01FF (511) 0xAA
Total size: 380 + 2 + 4×16 + 4×16 + 2 512
Structure of Ontrack Disk Manager एमबीआर
Address Description Size
(bytes)
0x0000 (0) Bootstrap code area 252
0x00FC (252) 0xAA DM signature (optional) 2
0x00FD (253) 0x55
0x00FE (254) Partition entry DM expanded partition table
(optional)
16
0x010E (270) Partition entry 16
0x011E (286) Partition entry 16
0x012E (302) Partition entry 16
0x013E (318) Partition entry 16
0x014E (334) Partition entry 16
0x015E (350) Partition entry 16
0x016E (366) Partition entry 16
0x017E (382) Partition entry 16
0x018E (398) Partition entry 16
0x019E (414) Partition entry 16
0x01AE (430) Partition entry 16
0x01BE (446) Partition entry №1 Partition table
(for primary partitions)
16
0x01CE (462) Partition entry №2 16
0x01DE (478) Partition entry №3 16
0x01EE (494) Partition entry №4 16
0x01FE (510) 0x55 Boot signature[lower-alpha 1] 2
0x01FF (511) 0xAA
Total size: 252 + 2 + 12×16 + 4×16 + 2 512

विभाजन तालिका प्रविष्टियाँ

Layout of one 16-byte partition entry[13] (all multi-byte fields are little-endian)
Offset
(bytes)
Field
length
Description
0x00 1 byte Status or physical drive (bit 7 set is for active or bootable, old एमबीआर only accept 0x80, 0x00 means inactive, and 0x010x7F stand for invalid)[lower-alpha 3]
0x01 3 bytes CHS address of first absolute sector in partition.[lower-alpha 4] The format is described by three bytes, see the next three rows.
0x01 1 byte
h7–0 head[lower-alpha 5]
x x x x x x x x
0x02 1 बाइट
c9–8 s5–0 sector in bits 5–0; bits 7–6 are high bits of cylinder[lower-alpha 5]
x x x x x x x x
0x03 1 बाइट
c7–0 bits 7–0 of cylinder[lower-alpha 5]
x x x x x x x x
0x04 [15]|- 0x05 3 बाइट विभाजन में अंतिम निरपेक्ष क्षेत्र का सिलेंडर-हेड-क्षेत्र।[lower-alpha 4] प्रारूप 3 बाइट्स द्वारा वर्णित है, अगली 3 पंक्तियाँ देखें।
0x05 1 बाइट
h7–0 head[lower-alpha 5]
x x x x x x x x
0x06 1 बाइट
c9–8 s5–0 sector in bits 5–0; bits 7–6 are high bits of cylinder[lower-alpha 5]
x x x x x x x x
0x07 1 बाइट
c7–0 bits 7–0 of cylinder
x x x x x x x x
0x08 4 बाइट विभाजन में पहले निरपेक्ष क्षेत्र का तार्किक ब्लॉक एड्रेसिंग[lower-alpha 6]
0x0C 4 बाइट विभाजन में क्षेत्रों की संख्या[lower-alpha 6]

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

सीएचएस योजना में, क्षेत्र इंडेक्स (लगभग) हमेशा क्षेत्र 0 के बजाय क्षेत्र 1 के साथ शुरू होता है, और MS-डॉस/पीसी डॉस के सभी संस्करणों में त्रुटि के कारण 7.10 तक, हेड्स की संख्या आम तौर पर सीमित होती है 256 के बजाय 255[lower-alpha 7]। जब इन क्षेत्रों में फ़िट होने के लिए एक सीएचएस पता बहुत बड़ा होता है, तो टपल (1023, 254, 63) आज सामान्यतः उपयोग किया जाता है, हालांकि पुराने सिस्टम पर, और पुराने डिस्क टूल्स के साथ, सिलेंडर वैल्यू अक्सर मॉड्यूलो के चारों ओर 8 जीबी के करीब सीएचएस बैरियर लपेटा जाता है, जिससे अस्पष्टता और डेटा भ्रष्टाचार का जोखिम होता है। (यदि स्थिति में GPT के साथ डिस्क पर "सुरक्षात्मक" एमबीआर शामिल है, तो Intel के एक्स्टेंसिबल फ़र्मवेयर इंटरफ़ेस विनिर्देश के लिए आवश्यक है कि टपल (1023, 255, 63) का उपयोग किया जाए।) 10-बिट सिलेंडर मान क्रम में दो बाइट्स के भीतर दर्ज किया गया है मूल/विरासत INT 13h BIOS डिस्क एक्सेस रूटीन में कॉल करने की सुविधा के लिए, जहां 16 बिट्स को क्षेत्र और सिलेंडर भागों में विभाजित किया गया था, न कि बाइट सीमाओं पर।[14]

सीएचएस एड्रेसिंग की सीमाओं के कारण,[17][18] एलबीए, या लॉजिकल ब्लॉक एड्रेसिंग का उपयोग करने के लिए एक संक्रमण किया गया था। विभाजन की लंबाई और विभाजन प्रारंभ पता दोनों विभाजन तालिका प्रविष्टियों में 32-बिट मात्रा के रूप में संग्रहीत क्षेत्र मान हैं। क्षेत्र का आकार 512 (29) बाइट्स पर निश्चित माना जाता था, और चिपसेट, बूट क्षेत्र, ऑपरेटिंग सिस्टम, डेटाबेस इंजन, विभाजन उपकरण, बैकअप और फाइल सिस्टम उपयोगिताओं और अन्य सॉफ़्टवेयर सहित महत्वपूर्ण घटकों की एक विस्तृत श्रृंखला का यह मान कठिन था- कोडित। 2009 के अंत से, 4096-बाइट क्षेत्रों (4Kn या उन्नत प्रारूप) को नियोजित करने वाले डिस्क ड्राइव उपलब्ध हैं, हालांकि इनमें से कुछ ड्राइव के लिए क्षेत्र का आकार अभी भी 512 बाइट्स के रूप में हार्ड-में रूपांतरण के माध्यम से होस्ट सिस्टम को रिपोर्ट किया गया था। ड्राइव फर्मवेयर और 512 एमुलेशन ड्राइव ((512e) के रूप में संदर्भित।

चूंकि ब्लॉक पते और आकार 32 बिट्स का उपयोग करके एमबीआर की विभाजन तालिका में संग्रहीत किए जाते हैं, अधिकतम आकार, साथ ही उच्चतम प्रारंभ पता, 512-बाइट क्षेत्र (वास्तविक या अनुकरणीय) वाले ड्राइव का उपयोग करने वाले विभाजन का 2 TiB से अधिक नहीं हो सकता है। −512 बाइट्स (2199023255040 बाइट्स या 4294967295 (232−1) क्षेत्र × 512 (29) बाइट्स प्रति क्षेत्र)।[2] इस क्षमता सीमा को कम करना जीपीटी के विकास के लिए प्रमुख प्रेरणाओं में से एक था।

चूंकि विभाजन जानकारी एमबीआर विभाजन तालिका में शुरुआती ब्लॉक पते और लंबाई का उपयोग करके संग्रहीत की जाती है, इसलिए सिद्धांत रूप में विभाजन को इस तरह से परिभाषित करना संभव हो सकता है कि 512-बाइट क्षेत्रों के साथ डिस्क के लिए आवंटित स्थान कुल आकार 4 देता है। TiB, यदि एक को छोड़कर सभी विभाजन 2 TiB सीमा से नीचे स्थित हैं और अंतिम विभाजन को 232−1 को शुरू करने या बंद करने के रूप में निर्दिष्ट किया गया है और 232−1 तक के आकार को निर्दिष्ट करता है, जिससे एक विभाजन को परिभाषित किया जाता है जिसके लिए 33 की बजाय आवश्यकता होती है एक्सेस किए जाने वाले क्षेत्र एड्रेस के लिए 32 बिट्स। हालाँकि, व्यवहार में, केवल कुछ एलबीए-48-सक्षम ऑपरेटिंग सिस्टम, जिसमें Linux, FreeBSD और विंडोज़ 7[19] शामिल हैं, जो 64-बिट क्षेत्र पतों का आंतरिक रूप से उपयोग करते हैं, वास्तव में इसका समर्थन करते हैं। कोड स्थान की कमी और एमबीआर विभाजन तालिका की प्रकृति के कारण केवल 32 बिट्स, बूट क्षेत्रों का समर्थन करने के लिए, भले ही एलबीए-28 के बजाय एलबीए-48 का समर्थन करने के लिए सक्षम किया गया हो, अक्सर 32-बिट गणनाओं का उपयोग करते हैं, जब तक कि वे विशेष रूप से समर्थन करने के लिए डिज़ाइन नहीं किए जाते हैं एलबीए-48 की पूर्ण पता श्रेणी या केवल 64-बिट प्लेटफॉर्म पर चलने का इरादा है। आंतरिक रूप से 32-बिट क्षेत्र पतों का उपयोग करने वाला कोई भी बूट कोड या ऑपरेटिंग सिस्टम पतों को इस विभाजन तक पहुँचने के लिए चारों ओर लपेट देगा और इसके परिणामस्वरूप सभी विभाजनों पर गंभीर डेटा भ्रष्टाचार होगा।

डिस्क के लिए जो 512 बाइट्स के अलावा एक क्षेत्र आकार प्रस्तुत करता है, जैसे USB बाहरी ड्राइव, वहाँ भी सीमाएँ हैं। 4096 के एक क्षेत्र आकार के परिणामस्वरूप एक विभाजन के आकार में आठ गुना वृद्धि होती है जिसे एमबीआर का उपयोग करके परिभाषित किया जा सकता है, जिससे आकार में 16 TiB (232 × 4096 बाइट्स) तक के विभाजन की अनुमति मिलती है।[20] विंडोज़ XP की तुलना में हाल के संस्करण बड़े क्षेत्र आकारों के साथ-साथ Mac OS X का समर्थन करते हैं, और लिनक्स ने 2.6.31[21] या 2.6.32,[22] के बाद से बड़े क्षेत्र आकारों का समर्थन किया है, लेकिन बूट भारक, विभाजन के साथ समस्याएँ उपकरण और कंप्यूटर BIOS कार्यान्वयन कुछ सीमाएँ प्रस्तुत करते हैं,[23] क्योंकि वे अक्सर क्षेत्र बफ़र्स के लिए केवल 512 बाइट्स आरक्षित करने के लिए हार्ड-वायर्ड होते हैं, जिससे मेमोरी बड़े क्षेत्र आकारों के लिए अधिलेखित हो जाती है। इससे अप्रत्याशित व्यवहार भी हो सकता है, और इसलिए जब अनुकूलता और मानक अनुरूपता एक मुद्दा हो तो इससे बचना चाहिए।

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

सिस्टम बूटस्ट्रैपिंग

आईबीएम पीसी-संगत कंप्यूटरों पर, बूटस्ट्रैपिंग फर्मवेयर (रीड ऑनली मैमोरी BIOS के भीतर निहित) मास्टर बूट रिकॉर्ड को लोड और निष्पादित करता है।[24] PC/XT (टाइप 5160) ने Intel 8088 कंप्यूटर प्रोसेसर का उपयोग किया। संगत बने रहने के लिए, सभी x86 आर्किटेक्चर सिस्टम एक ऑपरेटिंग मोड में माइक्रोप्रोसेसर से शुरू होते हैं जिसे वास्तविक मोड कहा जाता है। BIOS एमबीआर को स्टोरेज डिवाइस से भौतिक मेमोरी में पढ़ता है, और फिर यह माइक्रोप्रोसेसर को बूट कोड की शुरुआत के लिए निर्देशित करता है। चूंकि BIOS वास्तविक मोड में चलता है, जब एमबीआर प्रोग्राम निष्पादित होना शुरू होता है तो प्रोसेसर वास्तविक मोड में होता है, और इसलिए एमबीआर की शुरुआत में वास्तविक-मोड मशीन कोड शामिल होने की उम्मीद है।[24]

चूंकि BIOS बूटस्ट्रैप रूटीन लोड करता है और भौतिक डिस्क से ठीक एक क्षेत्र चलाता है, बूट कोड के साथ एमबीआर में विभाजन तालिका होने से एमबीआर प्रोग्राम के डिज़ाइन को सरल करता है। इसमें एक छोटा प्रोग्राम होता है जो लक्षित विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) को लोड करता है। नियंत्रण तब इस कोड को दिया जाता है, जो वास्तविक ऑपरेटिंग सिस्टम को लोड करने के लिए जिम्मेदार होता है। इस प्रक्रिया को चेन लोडिंग के रूप में जाना जाता है।

लोकप्रिय एमबीआर कोड प्रोग्राम पीसी डॉस और एमएस-डॉस को बूट करने के लिए बनाए गए थे, और समान बूट कोड व्यापक उपयोग में रहता है। ये बूट क्षेत्र FDISK पार्टीशन टेबल स्कीम के उपयोग में होने की उम्मीद करते हैं और एमबीआर के एम्बेडेड पार्टीशन टेबल में विभाजन की सूची को स्कैन करते हैं ताकि केवल एक को खोजा जा सके जो सक्रिय ध्वज के साथ चिह्नित है।[25] यह तब सक्रिय विभाजन के वॉल्यूम बूट रिकॉर्ड (वीबीआर) को लोड करता है और चलाता है।

वैकल्पिक बूट कोड कार्यान्वयन हैं, जिनमें से कुछ बूट प्रबंधकों द्वारा संस्थापित किए गए हैं, जो विभिन्न तरीकों से कार्य करते हैं। कुछ एमबीआर कोड डिस्क के पहले ट्रैक से बूट मैनेजर के लिए अतिरिक्त कोड लोड करता है, जिसे वह "मुक्त" स्थान मानता है जो किसी डिस्क विभाजन को आवंटित नहीं किया जाता है, और इसे निष्पादित करता है। एक एमबीआर प्रोग्राम उपयोगकर्ता के साथ बातचीत कर सकता है यह निर्धारित करने के लिए कि कौन सा विभाजन किस ड्राइव पर बूट होना चाहिए, और एक अलग ड्राइव के एमबीआर पर नियंत्रण स्थानांतरित कर सकता है। अन्य एमबीआर कोड में लोड करने और निष्पादित करने के लिए बूट प्रबंधक कोड के शेष के डिस्क स्थानों (अक्सर फाइल सिस्टम में फाइल की सामग्री के अनुरूप) की एक सूची होती है। (पहला व्यवहार उस व्यवहार पर निर्भर करता है जो सभी डिस्क विभाजन उपयोगिताओं में सार्वभौमिक नहीं है, विशेष रूप से वे जो GPTs को पढ़ते और लिखते हैं। अंतिम के लिए आवश्यक है कि डिस्क स्थानों की एम्बेडेड सूची को अद्यतन किया जाए जब परिवर्तन किए जाते हैं जो कोड के शेष भाग को स्थानांतरित कर देंगे। )

उन मशीनों पर जो x86 प्रोसेसर का उपयोग नहीं करते हैं, या x86 मशीनों पर गैर-BIOS फ़र्मवेयर जैसे कि ओपन फ़र्मवेयर या एक्स्टेंसिबल फ़र्मवेयर इंटरफ़ेस (EFI) फ़र्मवेयर, यह डिज़ाइन अनुपयुक्त है, और एमबीआर सिस्टम बूटस्ट्रैप के हिस्से के रूप में उपयोग नहीं किया जाता है।[26] इसके बजाय EFI फर्मवेयर सीधे GPT विभाजन योजना और FAT फाइल सिस्टम प्रारूप को समझने में सक्षम है, और EFI सिस्टम विभाजन में फाइलों के रूप में रखे प्रोग्राम को लोड और चलाता है।[27] यदि GPT विभाजन तालिका योजना का उपयोग किया गया है, तो एमबीआर केवल उसी हद तक शामिल होगा, जिसमें संगतता उद्देश्यों के लिए एक विभाजन तालिका शामिल हो सकती है।

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

डिस्क पहचान

बाहरी हार्ड ड्राइव के विभाजन तालिका में निहित जानकारी, जैसा कि लिनक्स के तहत चल रहे उपयोगिता कार्यक्रम QtParted में दिखाई देता है

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

डिस्क हस्ताक्षर विंडोज एनटी संस्करण 3.5 द्वारा प्रस्तुत किया गया था, लेकिन अब इसका उपयोग कई ऑपरेटिंग सिस्टमों द्वारा किया जाता है, जिसमें लिनक्स कर्नेल संस्करण 2.6 और बाद में शामिल है। Linux उपकरण NT डिस्क हस्ताक्षर का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि मशीन किस डिस्क से बूट हुई है।[28] विंडोज एनटी (और बाद में माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम) उस ओएस के तहत कंप्यूटर से जुड़े किसी भी डिस्क पर सभी विभाजनों के लिए एक इंडेक्स के रूप में डिस्क हस्ताक्षर का उपयोग करता है; ये हस्ताक्षर विंडोज रजिस्ट्री कुंजियों में रखे जाते हैं, मुख्य रूप से डिस्क विभाजन और ड्राइव अक्षरों के बीच लगातार मैपिंग को संग्रहित करने के लिए। बूट करने योग्य विंडोज़ NT (या बाद के) विभाजन के स्थान का वर्णन करने के लिए इसका उपयोग विंडोज़ NT BOOT.INI फ़ाइलों में भी किया जा सकता है (हालांकि अधिकांश ऐसा नहीं करते हैं)।[29]एक कुंजी (कई के बीच), जहां विंडोज़ 2000/XP रजिस्ट्री में NT डिस्क हस्ताक्षर दिखाई देते हैं, वह है:

विंडोज एनटी (और बाद में माइक्रोसॉफ्ट ऑपरेटिंग सिस्टम) उस ओएस के तहत कंप्यूटर से जुड़े किसी भी डिस्क पर सभी विभाजनों के लिए एक इंडेक्स के रूप में डिस्क हस्ताक्षर का उपयोग करता है; ये हस्ताक्षर विंडोज रजिस्ट्री कुंजियों में रखे जाते हैं, मुख्य रूप से डिस्क विभाजन और ड्राइव अक्षरों के बीच लगातार मैपिंग को संग्रहित करने के लिए। बूट करने योग्य विंडोज़ NT (या बाद के) विभाजनों के स्थान का वर्णन करने के लिए इसका उपयोग विंडोज़ NT BOOT.INI फ़ाइलों में भी किया जा सकता है (हालांकि अधिकांश ऐसा नहीं करते हैं)।[29] एक कुंजी (कई के बीच), जहां विंडोज़ 2000/XP रजिस्ट्री में NT डिस्क हस्ताक्षर दिखाई देते हैं, वह है:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\

यदि एमबीआर ​​में संग्रहीत डिस्क का हस्ताक्षर A8 E1 B9 D2 (उस क्रम में) था और इसका पहला विभाजन लॉजिकल ड्राइव C: विंडोज़ के अंतर्गत था, तो कुंजी मान \डॉसDevices\C: के अंतर्गत REG_BINARY डेटा होगा:

ए8 ई1 बी9 डी2 00 7ई 00 00 00 00 00 00

पहले चार बाइट्स को डिस्क सिग्नेचर कहा जाता है। (अन्य कुंजियों में, ये बाइट्स एमबीआर क्षेत्र में पाए जाने वाले क्रम से विपरीत क्रम में प्रकट हो सकते हैं।) इसके बाद आठ और बाइट्स होते हैं, जो 64-बिट पूर्णांक बनाते हैं, छोटे-अंत संकेतन में, जिनका उपयोग बाइट ऑफ़सेट का पता लगाने के लिए किया जाता है। इस विभाजन का। इस मामले में, 00 7E हेक्साडेसिमल मान 0x7E00 (32,256) के अनुरूप है। इस धारणा के तहत कि विचाराधीन ड्राइव 512 बाइट्स के एक क्षेत्र आकार की रिपोर्ट करता है, फिर इस बाइट को 512 से विभाजित करके 63 परिणाम देता है, जो कि भौतिक क्षेत्र नंबर (या एलबीए) है जिसमें विभाजन का पहला क्षेत्र होता है (उपयोग किए गए क्षेत्र काउंट के विपरीत) सीएचएस टुपल्स के क्षेत्र वैल्यू में, जो एक से गिना जाता है, पूर्ण या एलबीए क्षेत्र वैल्यू शून्य से शुरू होता है)।

यदि इस डिस्क में डिस्क सिग्नेचर के बाद मान 00 F8 93 71 02 के साथ एक और विभाजन था (उदाहरण के तहत, कुंजी मान \डॉसDevices\D:, यह बाइट ऑफ़सेट 0x00027193F800 (10,495,457,280) पर शुरू होगा, जो कि पहला बाइट भी है भौतिक क्षेत्र की20,498,940

विंडोज विस्टा से शुरू करते हुए, डिस्क सिग्नेचर को बूट कॉन्फ़िगरेशन डेटा (BCD) स्टोर में भी स्टोर किया जाता है, और बूट प्रक्रिया इस पर निर्भर करती है।[30] यदि डिस्क हस्ताक्षर बदलता है, पाया नहीं जा सकता है या कोई विरोध है, तो विंडोज़ बूट करने में असमर्थ है।[31] जब तक विंडोज को छद्म डिस्क हस्ताक्षर के रूप में उन्नत सक्रिय विभाजन प्रविष्टि के एलबीए पते के अतिव्यापी हिस्से का उपयोग करने के लिए मजबूर नहीं किया जाता है, तब तक विंडोज़ का उपयोग पीटीएस-डॉस 7 और डीआर-डॉस 7.07 की उन्नत सक्रिय विभाजन सुविधा के साथ विरोधाभासी है, विशेष रूप से यदि उनका बूट कोड डिस्क के पहले 8 GB के बाहर स्थित है, इसलिए एलबीए एड्रेसिंग का उपयोग किया जाना चाहिए।

प्रोग्रामिंग विचार

एमबीआर की उत्पत्ति पीसी एक्सटी में हुई थी।[32] आईबीएम पीसी-संगत कंप्यूटर छोटे-एंडियन हैं, जिसका अर्थ है कि प्रोसेसर कम से कम महत्वपूर्ण बाइट पहले मेमोरी में दो या दो से अधिक बाइट्स वाले संख्यात्मक मानों को संग्रहीत करता है। मीडिया पर एमबीआर का प्रारूप इस परिपाटी को दर्शाता है। इस प्रकार, एमबीआर हस्ताक्षर डिस्क संपादक में अनुक्रम 55 AA के रूप में दिखाई देगा।[lower-alpha 1]

BIOS में बूटस्ट्रैप अनुक्रम पहले मान्य एमबीआर को लोड करेगा जो इसे कंप्यूटर की भौतिक मेमोरी में स्मृति पता 0x0000:0x7C00 पर मिलता है।[32] एमबीआर कॉपी की शुरुआत में निष्पादन को निर्देशित करने के लिए BIOS कोड में निष्पादित अंतिम निर्देश उस पते पर "कूद" होगा। अधिकांश BIOS के लिए प्राथमिक सत्यापन ऑफ़सेट 0x01FE पर हस्ताक्षर है, हालांकि एक BIOS कार्यान्वयनकर्ता अन्य जांचों को शामिल करना चुन सकता है, जैसे कि यह सत्यापित करना कि एमबीआर ​​में डिस्क की रिपोर्ट की गई क्षमता से परे क्षेत्रों को संदर्भित किए बिना एक मान्य विभाजन तालिका शामिल है।

BIOS के लिए, रिमूवेबल (जैसे फ्लॉपी) और फिक्स्ड डिस्क अनिवार्य रूप से समान हैं। या तो, BIOS मीडिया के पहले भौतिक क्षेत्र को 0x7C00 के पूर्ण पते पर रैम में पढ़ता है, लोड किए गए क्षेत्र के अंतिम दो बाइट्स में हस्ताक्षर की जांच करता है, और फिर, यदि सही हस्ताक्षर पाया जाता है, तो नियंत्रण को पहले बाइट में स्थानांतरित कर देता है जंप (JMP) निर्देश वाला क्षेत्र। एकमात्र वास्तविक अंतर जो BIOS बनाता है वह यह है कि (डिफ़ॉल्ट रूप से, या यदि बूट क्रम कॉन्फ़िगर करने योग्य नहीं है) यह पहली निश्चित डिस्क से बूट करने का प्रयास करने से पहले पहली हटाने योग्य डिस्क से बूट करने का प्रयास करता है। BIOS के दृष्टिकोण से, RAM में वॉल्यूम बूट रिकॉर्ड को एमबीआर लोड करने की क्रिया ठीक वैसी ही है, जैसे ऑपरेटिंग सिस्टम भारक के ऑब्जेक्ट कोड को RAM में लोड करने वाली फ़्लॉपी डिस्क वॉल्यूम बूट रिकॉर्ड की क्रिया। किसी भी मामले में, BIOS लोड किया गया प्रोग्राम ऑपरेटिंग सिस्टम को लोड करने की श्रृंखला के काम के बारे में जा रहा है।

जबकि एमबीआर बूट क्षेत्र कोड भौतिक पते 0x0000:0x7C00 पर लोड होने की उम्मीद करता है,[lower-alpha 8] भौतिक पते से सभी मेमोरी 0x0000:0x0501 (पता 0x0000:0x0500 फीनिक्स BIOS द्वारा उपयोग किया जाने वाला अंतिम है[14]) से 0x0000:0x7FFF,[33] बाद में 0x0000: 0xFFFF[32] (और कभी-कभी[lower-alpha 9] 0x9000: 0xFFFF तक) के लिए आराम दिया गया - पहले 640 KB का अंत वास्तविक मोड में उपलब्ध है।[lower-alpha 10] INT 12h BIOS इंटरप्ट कॉल यह निर्धारित करने में मदद कर सकता है कि कितनी मेमोरी को सुरक्षित रूप से आवंटित किया जा सकता है (डिफ़ॉल्ट रूप से, यह केबी में आधार स्मृति विभाजन आकार को खंड से पढ़ता है: ऑफ़सेट स्थान 0x0040:0x0013, लेकिन यह अन्य निवासी प्री-बूट सॉफ़्टवेयर जैसे BIOS ओवरले द्वारा हुक किया जा सकता है, रिमोट प्रोग्राम भारक कोड या वायरस उपलब्ध मेमोरी की रिपोर्ट की गई मात्रा को कम करने के लिए बूट क्षेत्र जैसे अन्य बूट स्टेज सॉफ़्टवेयर को ओवरराइट करने से रोकने के लिए)।

512-बाइट एमबीआर के अंतिम 66 बाइट्स विभाजन तालिका और अन्य जानकारी के लिए आरक्षित हैं, इसलिए एमबीआर बूट क्षेत्र प्रोग्राम 446 बाइट्स मेमोरी या उससे कम में फिट होने के लिए पर्याप्त छोटा होना चाहिए।

एमबीआर कोड विभाजन तालिका की जांच करता है, एक उपयुक्त विभाजन का चयन करता है और उस प्रोग्राम को लोड करता है जो बूट प्रक्रिया के अगले चरण को सामान्यतः INT 13h BIOS कॉल का उपयोग करके करेगा। एमबीआर बूटस्ट्रैप कोड लोड करता है और चलाता है (एक बूट भारक- या ऑपरेटिंग सिस्टम पर निर्भर) वॉल्यूम बूट रिकॉर्ड कोड जो "सक्रिय" विभाजन की शुरुआत में स्थित है। वॉल्यूम बूट रिकॉर्ड 512-बाइट क्षेत्र के भीतर फिट होगा, लेकिन एमबीआर कोड के लिए अतिरिक्त क्षेत्रों को एक क्षेत्र से अधिक लंबे बूट भारक को समायोजित करने के लिए लोड करना सुरक्षित है, बशर्ते कि वे क्षेत्र आकार के बारे में कोई अनुमान न लगाएं। वास्तव में, प्रत्येक आईबीएम XT- और AT-क्लास मशीन में 0x7C00 पते पर कम से कम 1 KB RAM उपलब्ध है, इसलिए 1 KB क्षेत्र का उपयोग बिना किसी समस्या के किया जा सकता है। एमबीआर की तरह, एक वॉल्यूम बूट रिकॉर्ड सामान्य रूप से 0x0000:0x7C00 पते पर लोड होने की अपेक्षा करता है। यह इस तथ्य से निकला है कि वॉल्यूम बूट रिकॉर्ड डिजाइन अविभाजित मीडिया पर उत्पन्न हुआ, जहां वॉल्यूम बूट रिकॉर्ड सीधे BIOS बूट प्रक्रिया द्वारा लोड किया जाएगा; जैसा कि ऊपर उल्लेख किया गया है, BIOS एमबीआर और वॉल्यूम बूट रिकॉर्ड (वीबीआर) [lower-alpha 11] को बिल्कुल समान मानता है। चूंकि यह वही स्थान है जहां एमबीआर लोड किया गया है, एमबीआर के पहले कार्यों में से एक स्मृति में कहीं और खुद को स्थानांतरित करना है। स्थानांतरण पता एमबीआर द्वारा निर्धारित किया जाता है, लेकिन यह अक्सर 0x0000:0x0600 (MS-डॉस/पीसी डॉस, OS/2 और विंडोज़ एमबीआर कोड के लिए) या 0x0060:0x0000 (अधिकांश DR-डॉस एमबीआर) होता है। (भले ही ये दोनों खंडित पते वास्तविक मोड में एक ही भौतिक मेमोरी पते को हल करते हैं, Apple डार्विन को बूट करने के लिए, एमबीआर को 0x0060:0x0000 के बजाय 0x0000:0x0600 पर स्थानांतरित किया जाना चाहिए, क्योंकि कोड DS पर निर्भर करता है: SI सूचक एमबीआर द्वारा प्रदान की गई विभाजन प्रविष्टि के लिए, लेकिन यह ग़लती से इसे केवल 0x0000:एसआई के माध्यम से संदर्भित करता है।[34]) यह महत्वपूर्ण है कि स्मृति में अन्य पतों को स्थानांतरित न किया जाए क्योंकि कई वीबीआर अपने बूट को लोड करते समय एक निश्चित मानक मेमोरी लेआउट ग्रहण करेंगे। फ़ाइल।

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

परंपरागत रूप से, 0x00 (सक्रिय नहीं) और 0x80 (सक्रिय) के अलावा अन्य मान अमान्य थे और बूटस्ट्रैप प्रोग्राम उनका सामना करने पर एक त्रुटि संदेश प्रदर्शित करेगा। हालांकि, प्लग एंड प्ले BIOS विशिष्टता और BIOS बूट विशिष्टता (BBS) ने 1994 से अन्य उपकरणों को भी बूट करने योग्य बनने की अनुमति दी थी।[33][35] नतीजतन, MS-डॉस 7.10 (विंडोज़ 95B) और उच्चतर की शुरुआत के साथ, एमबीआर ने सेट बिट 7 को सक्रिय ध्वज के रूप में मानना ​​​​शुरू कर दिया और केवल 0x01..0x7F मानों के लिए एक त्रुटि संदेश दिखाया। यह बाद में संबंधित विभाजन के VBR को लोड करते समय उपयोग की जाने वाली भौतिक ड्राइव इकाई के रूप में प्रविष्टि का उपयोग करना जारी रखता है, जिससे अब 0x80 के अलावा अन्य बूट ड्राइव को भी मान्य माना जाता है, हालाँकि, MS-डॉस ने इस एक्सटेंशन का उपयोग स्वयं नहीं किया। विभाजन तालिका में वास्तविक भौतिक ड्राइव संख्या को संग्रहीत करना सामान्य रूप से पश्चगामी संगतता समस्याओं का कारण नहीं बनता है, क्योंकि मान 0x80 से केवल पहले वाले के अलावा अन्य ड्राइव पर भिन्न होगा (जो पहले बूट करने योग्य नहीं है, वैसे भी)। हालाँकि, अन्य ड्राइव को बूट करने के लिए सक्षम सिस्टम के साथ भी, एक्सटेंशन अभी भी सार्वभौमिक रूप से काम नहीं कर सकता है, उदाहरण के लिए, भौतिक ड्राइव के BIOS असाइनमेंट के बाद जब ड्राइव को हटा दिया जाता है, जोड़ा या स्वैप किया जाता है। इसलिए, BIOS बूट स्पेसिफिकेशन (बीबीएस) के अनुसार,[33] यह एक आधुनिक एमबीआर के लिए सबसे अच्छा अभ्यास है जो विभाजन तालिका में प्रविष्टि का उपयोग करने के बजाय मूल रूप से BIOS द्वारा प्रदान किए गए डीएल मान को पारित करने के लिए सक्रिय ध्वज के रूप में बिट 7 को स्वीकार करता है।

BIOS से एमबीआर इंटरफ़ेस

एमबीआर को स्मृति स्थान 0x0000:0x7C00 पर लोड किया जाता है और निम्न CPU रजिस्टरों के साथ सेट किया जाता है जब पूर्व बूटस्ट्रैप भारक (सामान्य रूप से BIOS में प्रारंभिक कार्यक्रम भारक) सी पी यू के वास्तविक मोड में 0x0000:0x7C00 पर कूद कर निष्पादन पास करता है।

कुछ कॉम्पैक BIOS इसके बजाय गलती से 0x07C0:0x0000 का उपयोग करते हैं। हालांकि यह वास्तविक मोड मेमोरी में एक ही स्थान पर हल होता है, यह गैर-मानक है और इससे बचा जाना चाहिए, क्योंकि एमबीआर कोड कुछ रजिस्टर मूल्यों को मानता है या स्थानांतरित करने योग्य नहीं लिखा जाता है, अन्यथा काम नहीं कर सकता है।
DL आईबीएम BIOS के साथ-साथ अधिकांश अन्य BIOS द्वारा समर्थित है। Toshiba T1000 BIOS इसे ठीक से समर्थन नहीं करने के लिए जाना जाता है, और कुछ पुराने Wyse 286 BIOS निश्चित डिस्क के लिए DL मानों को 2 से अधिक या बराबर का उपयोग करते हैं (जिससे BIOS के भौतिक ड्राइव नंबरों के बजाय डॉस के तहत लॉजिकल ड्राइव नंबरों को दर्शाता है)। हटाने योग्य ड्राइव के रूप में कॉन्फ़िगर की गई USB स्टिक्स को सामान्यतः DL = 0x80, 0x81, आदि का असाइनमेंट मिलता है। हालाँकि, कुछ दुर्लभ BIOS ने गलती से उन्हें DL = 0x01 के तहत प्रस्तुत कर दिया, जैसे कि उन्हें सुपरफ्लॉपी के रूप में कॉन्फ़िगर किया गया हो।
एक मानक अनुरूप BIOS विशेष रूप से निश्चित डिस्क/हटाने योग्य ड्राइव के लिए 0x80 से अधिक या बराबर संख्या निर्दिष्ट करता है, और पारंपरिक रूप से केवल 0x80 तथा 0x00 मान बूट के दौरान भौतिक ड्राइव इकाइयों के रूप में पारित किए गए थे। परिपाटी के अनुसार, केवल फिक्स्ड डिस्क/रिमूवेबल ड्राइव का विभाजन किया जाता है, इसलिए, पारंपरिक रूप से एमबीआर केवल DL मान देख सकता था जो 0x80 था। कई एमबीआर को डीएल मान को अनदेखा करने और हार्ड-वायर्ड मान (सामान्य रूप से 0x80) के साथ काम करने के लिए कोडित किया गया था।
प्लग एंड प्ले BIOS विशिष्टता और BIOS बूट विशिष्टता (BBS) 1994 से अन्य उपकरणों को भी बूट करने योग्य बनाने की अनुमति देते हैं।[33][35] बाद में अनुशंसा की गई कि एमबीआर ​​और VBR कोड को आंतरिक रूप से हार्डवेयर्ड डिफ़ॉल्ट के बजाय DL का उपयोग करना चाहिए।[33] जहां तक ​​एमबीआर कोड का संबंध है, यह विभिन्न गैर-मानक असाइनमेंट (उपरोक्त उदाहरण देखें) के साथ संगतता भी सुनिश्चित करेगा।
एल टोरिटो विनिर्देश के बाद बूट करने योग्य सीडी-रोम में इस इंटरफ़ेस पर फ्लॉपी या सुपरफ्लॉपी के रूप में होने के लिए BIOS द्वारा माउंट की गई डिस्क छवियां हो सकती हैं। 0x00 और 0x01 के DL मानों का उपयोग संरक्षित क्षेत्र रन टाइम इंटरफेस एक्सटेंशन सेवाएं (पार्टीज़) और विश्वसनीय कंप्यूटिंग समूह (TCG) BIOS एक्सटेंशन द्वारा विश्वसनीय मोड में किया जा सकता है, अन्यथा अदृश्य पार्टियों के विभाजन, बूट इंजीनियरिंग एक्सटेंशन रिकॉर्ड के माध्यम से स्थित डिस्क छवि फ़ाइलों तक पहुँचने के लिए (BEER) हार्ड डिस्क के होस्ट प्रोटेक्टेड एरिया (HPA) के अंतिम भौतिक क्षेत्र में। जबकि फ्लॉपी या सुपरफ्लॉपी का अनुकरण करने के लिए डिज़ाइन किया गया है, एमबीआर कोड इन गैर-मानक डीएल मूल्यों को स्वीकार करते हुए कम से कम ऑपरेटिंग सिस्टम के बूट चरण में विभाजित मीडिया की छवियों का उपयोग करने की अनुमति देता है
  • डीएच रजिस्टर बिट 5 = 0: INT 13h के माध्यम से समर्थित डिवाइस; अन्य: परवाह नहीं है (शून्य होना चाहिए)। DH कुछ आईबीएम BIOS द्वारा समर्थित है।
  • कुछ अन्य रजिस्टरों में मूल आईबीएम ROM BIOS के साथ विशेष रूप से कुछ रजिस्टर मान (डीएस, ईएस, एसएस = 0x0000; एसपी = 0x0400) हो सकते हैं, लेकिन इस पर भरोसा करने के लिए कुछ भी नहीं है, क्योंकि अन्य BIOS अन्य मानों का उपयोग कर सकते हैं। इसी वजह से आईबीएम, माइक्रोसॉफ्ट, डिजिटल रिसर्च आदि के एमबीआर कोड ने कभी इसका फायदा नहीं उठाया। बूट क्षेत्रों में इन रजिस्टर मूल्यों पर भरोसा करने से चेन-बूट परिदृश्यों में भी समस्या हो सकती है।

प्लग-एंड-प्ले BIOS या BBS समर्थन वाले सिस्टम, DL के अतिरिक्त PnP डेटा के लिए एक सूचक प्रदान करेंगे:[33][35]

यह जानकारी एमबीआर में बूट भारक (या वीबीआर, यदि पास हो) को सक्रिय रूप से BIOS या एक निवासी PnP / BBS BIOS ओवरले के साथ बूट ऑर्डर को कॉन्फ़िगर करने के लिए मेमोरी में ओवरले करने की अनुमति देती है, आदि, हालांकि, इस जानकारी को नजरअंदाज कर दिया जाता है अधिकांश मानक एमबीआर और वीबीआर द्वारा। आदर्श रूप से, लोडेड ऑपरेटिंग सिस्टम द्वारा बाद में उपयोग के लिए ES:DI को VBR पर भेज दिया जाता है, लेकिन PnP-सक्षम ऑपरेटिंग सिस्टम में सामान्यतः PnP BIOS प्रविष्टि बिंदु को बाद में पुनर्प्राप्त करने के लिए फ़ॉलबैक विधियाँ भी होती हैं ताकि अधिकांश ऑपरेटिंग सिस्टम इस पर भरोसा न करें।

एमबीआर से वीबीआर इंटरफ़ेस

प्रथा के अनुसार, एक मानक अनुरूप एमबीआर, CPU के वास्तविक मोड में 0x0000:0x7C00 पर कूद कर निम्नलिखित रजिस्टरों को बनाए रखने या विशेष रूप से सेट करने के साथ सफलतापूर्वक लोड किए गए VBR को निष्पादन पास करता है, स्मृति स्थान 0x0000:0x7C00 पर लोड किया जाता है:

  • सीएस: आईपी = 0x0000:0x7C00[lower-alpha 12] (निरंतर)
  • डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
एमएस-डॉस 2.0-7.0 / पीसी डॉस 2.0-6.3 एमबीआर प्रवेश पर प्राप्त DL मान को पारित नहीं करते हैं, बल्कि वे भौतिक बूट ड्राइव इकाई के रूप में चयनित प्राथमिक विभाजन की विभाजन तालिका प्रविष्टि में बूट स्थिति प्रविष्टि का उपयोग करते हैं। चूंकि यह अधिकांश एमबीआर विभाजन तालिकाओं में सम्मेलन द्वारा, 0x80 है, यह चीजों को तब तक नहीं बदलेगा जब तक कि BIOS पंक्ति में पहली निश्चित डिस्क/हटाने योग्य ड्राइव के अलावा किसी भौतिक डिवाइस को बूट करने का प्रयास न करे। यही कारण है कि ये ऑपरेटिंग सिस्टम दूसरी हार्ड डिस्क आदि को बूट नहीं कर सकते हैं। कुछ FDISK उपकरण द्वितीयक डिस्क पर विभाजन को "सक्रिय" के रूप में भी चिह्नित करने की अनुमति देते हैं। इस स्थिति में, यह जानते हुए कि ये ऑपरेटिंग सिस्टम वैसे भी अन्य ड्राइव को बूट नहीं कर सकते हैं, उनमें से कुछ 0x80 के पारंपरिक रूप से निश्चित मान को सक्रिय मार्कर के रूप में उपयोग करना जारी रखते हैं, जबकि अन्य वर्तमान में निर्दिष्ट भौतिक ड्राइव यूनिट (0x81, 0x82) के अनुरूप मानों का उपयोग करते हैं। जिससे अन्य ड्राइव से बूटिंग की अनुमति मिलती है, कम से कम सैद्धांतिक रूप से। वास्तव में, यह कई एमबीआर कोड के साथ काम करेगा, जो 0x80 पर जोर देने के बजाय बूट स्थिति प्रविष्टि के सेट बिट 7 को सक्रिय ध्वज के रूप में लेते हैं, हालांकि, एमएस-डॉस/पीसी डॉस एमबीआर के निश्चित मूल्य को स्वीकार करने के लिए हार्ड-वायर्ड हैं केवल 0x80। विभाजन तालिका में वास्तविक भौतिक ड्राइव संख्या को संग्रहीत करने से भी समस्याएँ पैदा होंगी, जब भौतिक ड्राइव का BIOS असाइनमेंट बदलता है, उदाहरण के लिए जब ड्राइव को हटाया जाता है, जोड़ा जाता है या स्वैप किया जाता है।
इसलिए, एक सामान्य एमबीआर के लिए बिट 7 को सक्रिय ध्वज के रूप में स्वीकार करना और अन्यथा केवल वीबीआर का उपयोग करना और पास करना, मूल रूप से BIOS द्वारा प्रदान किया गया डीएल मान अधिकतम लचीलेपन की अनुमति देता है। MS-डॉस 7.1 - 8.0 एमबीआर बिट 7 को सक्रिय ध्वज के रूप में और किसी भी मान 0x01..0x7F को अमान्य मानने के लिए बदल गए हैं, लेकिन वे अभी भी BIOS द्वारा प्रदान किए गए DL मान का उपयोग करने के बजाय विभाजन तालिका से भौतिक ड्राइव इकाई लेते हैं। DR-डॉस 7.07 विस्तारित एमबीआर बिट 7 को सक्रिय ध्वज के रूप में मानते हैं और डिफ़ॉल्ट रूप से BIOS DL मान का उपयोग और पास करते हैं (गैर-मानक मान 0x00..0x01 सहित कुछ BIOS द्वारा विभाजित मीडिया के लिए भी उपयोग किए जाते हैं), लेकिन वे एक विशेष NEWLDR भी प्रदान करते हैं LOADER और REAL/32 के संयोजन के साथ-साथ एमबीआर के विवरण व्यवहार को बदलने के लिए वैकल्पिक बूट विधियों का समर्थन करने के लिए कॉन्फ़िगरेशन ब्लॉक, ताकि यह विभाजन तालिका से प्राप्त ड्राइव मानों के साथ भी काम कर सके (LOADER और संयोजन के साथ महत्वपूर्ण) AAPs, देखें NEWLDR ऑफ़सेट 0x000C), Wyse गैर-मानक ड्राइव यूनिट 0x02..0x7F को 0x80..0xFD में ट्रांसलेट करें, और वैकल्पिक रूप से ड्राइव वैल्यू को ठीक करें (विस्तारित BIOS पैरामीटर ब्लॉक (EBPB) में 0x019 या क्षेत्र ऑफ़सेट में 0x01FD ऑफ़सेट पर संग्रहीत) 0x01FD ) लोड किए गए VBRs में उन्हें निष्पादित करने से पहले (NEWLDR ऑफ़सेट 0x0014 देखें) - यह अन्य बूट भारकों को NEWLDR को चेन-भारक के रूप में उपयोग करने की अनुमति देता है, फ्लाई पर इसकी इन-मेमोरी इमेज को कॉन्फ़िगर करता है और VBRs की लोडिंग को "टनल" करता है, EBRs, या AAPs NEWLDR के माध्यम से।
  • DH और ES की सामग्री: DI को एमबीआर द्वारा पूर्ण प्लग-एंड-प्ले समर्थन (ऊपर देखें) के लिए संरक्षित किया जाना चाहिए, हालाँकि, MS-डॉस 2.0 - 8.0 / पीसी डॉस 2.0 - 6.3 और विंडोज़ NT सहित कई एमबीआर /2000/XP, नहीं। (यह आश्चर्यजनक नहीं है, क्योंकि डॉस के वे संस्करण प्लग-एंड-प्ले BIOS मानक से पहले के हैं, और पिछले मानकों और सम्मेलनों ने DL के अलावा किसी अन्य रजिस्टर को संरक्षित करने की कोई आवश्यकता नहीं बताई है।) कुछ एमबीआर DH को 0 पर सेट करते हैं।

एमबीआर कोड कई कार्यान्वयनों में वीबीआर को अतिरिक्त जानकारी देता है:

  • डीएस: एसआई = सक्रिय वीबीआर के अनुरूप 16-बाइट एमबीआर पार्टीशन टेबल प्रविष्टि (स्थानांतरित एमबीआर में) को इंगित करता है। पीसी-एमओएस 5.1 बूट करने के लिए इस पर निर्भर करता है यदि विभाजन तालिका में कोई विभाजन बूट करने योग्य के रूप में फ़्लैग नहीं किया गया है। भारक के संयोजन के साथ, बहुउपयोगकर्ता डॉस और रीयल/32 बूट क्षेत्र सक्रिय विभाजन के बूट क्षेत्र का पता लगाने के लिए इसका उपयोग करते हैं (या अन्य बूटस्ट्रैप भारक जैसे आईबीएमBIO.LDR डिस्क पर एक निश्चित स्थिति पर) यदि बूट फ़ाइल (LOADER.SYS) कर सकता है नहीं मिला। PTS-डॉस 6.6 और S/डॉस 1.0 इसे अपने उन्नत सक्रिय विभाजन (AAP) सुविधा के साथ संयोजन में उपयोग करते हैं। LOADER और AAPs के लिए समर्थन के अलावा, DR-डॉस 7.07 अपने दोहरे CHS/एलबीए VBR कोड का उपयोग करते समय आवश्यक INT 13h एक्सेस विधि का निर्धारण करने के लिए इसका उपयोग कर सकता है और यह विभाजन प्रविष्टि में बूट ड्राइव/स्टेटस फ़्लैग फ़ील्ड को इसके अनुसार अपडेट करेगा प्रभावी रूप से उपयोग किए जाने वाले डीएल मूल्य। डार्विन बूटभारक्स (Apple के boot1h, boot1u, और डेविड इलियट के boot1fat32) इस सूचक पर भी निर्भर करते हैं, लेकिन इसके अतिरिक्त वे DS का उपयोग नहीं करते हैं, लेकिन इसके बजाय 0x0000 पर सेट होने की कल्पना करते हैं।[34] यदि यह धारणा गलत है तो यह समस्याएँ पैदा करेगा। OS/2, MS-डॉस 2.0 से 8.0, पीसी डॉस 2.0 से 7.10 और विंडोज़ NT/2000/XP का एमबीआर कोड भी यही इंटरफ़ेस प्रदान करता है, हालाँकि ये सिस्टम इसका उपयोग नहीं करते हैं। विंडोज़ Vista/7 एमबीआर अब यह DS:SI सूचक प्रदान नहीं करते हैं। जबकि कुछ एक्सटेंशन केवल 16-बाइट पार्टीशन टेबल एंट्री पर ही निर्भर करते हैं, अन्य एक्सटेंशन के लिए पूरे 4 (या 5 एंट्री) पार्टीशन टेबल की भी आवश्यकता हो सकती है।
  • DS:बीपी रजिस्टर = वैकल्पिक रूप से सक्रिय VBR के अनुरूप 16-बाइट एमबीआर विभाजन तालिका प्रविष्टि (स्थानांतरित एमबीआर में) को इंगित करता है। यह DS:SI (ऊपर देखें) द्वारा प्रदान किए गए पॉइंटर के समान है और MS-डॉस 2.0-8.0, पीसी डॉस 2.0-7.10, विंडोज़ NT/2000/XP/Vista/7 एमबीआर द्वारा प्रदान किया गया है। हालाँकि, यह अधिकांश तृतीय-पक्ष एमबीआर द्वारा समर्थित नहीं है।

DR-डॉस 7.07 के तहत विस्तारित एमबीआर द्वारा और LOADER के संयोजन में एक विस्तारित इंटरफ़ेस वैकल्पिक रूप से प्रदान किया जा सकता है:

  • AX = मैजिक सिग्नेचर इस NEWLDR एक्सटेंशन (0x0EDC) की उपस्थिति का संकेत देता है
  • डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
  • DS:SI = प्रयुक्त 16-बाइट एमबीआर पार्टीशन टेबल प्रविष्टि की ओर इशारा करता है (ऊपर देखें)
  • ES:BX = बूट क्षेत्र की शुरुआत या NEWLDR क्षेत्र इमेज (सामान्यतः 0x7C00)
  • सीएक्स रजिस्टर = आरक्षित

जीपीटी के संयोजन में, एक उन्नत डिस्क ड्राइव विशिष्टता (ईडीडी) 4 हाइब्रिड एमबीआर प्रस्ताव इंटरफ़ेस के लिए एक और विस्तार की सिफारिश करता है:[36]

  • ईएक्स रजिस्टर = 0x54504721 ( "!GPT")
  • डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
  • डीएस:एसआई = एक हाइब्रिड एमबीआर हैंडओवर संरचना को इंगित करता है, जिसमें 16-बाइट डमी एमबीआर विभाजन तालिका प्रविष्टि शामिल है (ऑफ़सेट 0x00 पर बूट फ्लैग को छोड़कर सभी बिट्स सेट के साथ और ऑफसेट 0x04 पर विभाजन प्रकार) अतिरिक्त डेटा के बाद। यह पुराने DS के साथ आंशिक रूप से संगत है: ऊपर चर्चा की गई SI एक्सटेंशन, यदि केवल 16-बाइट विभाजन प्रविष्टि है, तो इन पुराने एक्सटेंशन के लिए संपूर्ण विभाजन तालिका की आवश्यकता नहीं है।
चूंकि पुराने ऑपरेटिंग सिस्टम (उनके VBRs सहित) इस विस्तार का समर्थन नहीं करते हैं और न ही वे 2 TiB बाधा से परे के क्षेत्रों को संबोधित करने में सक्षम हैं, एक GPT-सक्षम हाइब्रिड बूट भारक को अभी भी 16-बाइट डमी एमबीआर विभाजन तालिका प्रविष्टि का अनुकरण करना चाहिए यदि बूट विभाजन पहले 2 टीआईबी के भीतर स्थित है।[lower-alpha 13]
  • ES:DI = "$PnP" संस्थापन जाँच संरचना को इंगित करता है (ऊपर देखें)

सामग्री का संपादन और प्रतिस्थापन

यद्यपि विभिन्न डिस्क संपादकों का उपयोग करके सीधे एमबीआर क्षेत्र में बाइट्स में हेरफेर करना संभव है, एमबीआर को कार्य कोड के निश्चित सेट लिखने के लिए उपकरण हैं। MS-डॉस 5.0 के बाद से, प्रोग्राम FDISK में स्विच /एमबीआर शामिल है, जो एमबीआर कोड को फिर से लिखेगा।[37] विंडोज 2000 और विन्डोज़ एक्सपी के तहत, रिकवरी कंसोल का उपयोग इसके fixएमबीआर कमांड का उपयोग करके स्टोरेज डिवाइस में नया एमबीआर कोड लिखने के लिए किया जा सकता है। और विंडोज 7 के अंतर्गत, पुनर्प्राप्ति पर्यावरण का उपयोग BOOTREC /FIXएमबीआर कमांड का उपयोग करके नया एमबीआर कोड लिखने के लिए किया जा सकता है। कुछ तृतीय-पक्ष उपयोगिताओं का उपयोग विभाजन तालिकाओं की सामग्री को सीधे संपादित करने के लिए भी किया जा सकता है (हेक्साडेसिमल या डिस्क/क्षेत्र संपादकों के किसी भी ज्ञान की आवश्यकता के बिना), जैसे एमबीआर विज़ार्ड[lower-alpha 14]

dd एक POSIX कमांड है जिसका उपयोग सामान्यतः स्टोरेज डिवाइस पर किसी भी स्थान को पढ़ने या लिखने के लिए किया जाता है, जिसमें एमबीआर शामिल है। Linux में, ms-sys का उपयोग विंडोज़ एमबीआर को स्थापित करने के लिए किया जा सकता है। GRUB और LILO परियोजनाओं में एमबीआर क्षेत्र के लिए कोड लिखने के लिए उपकरण हैं, अर्थात् grub-install और lilo -एमबीआर। GRUB लीगेसी इंटरएक्टिव कंसोल एमबीआर को setup और embed कमांड का उपयोग करके लिख सकता है, लेकिन GRUB2 को वर्तमान में एक ऑपरेटिंग सिस्टम के भीतर से चलाने के लिए grub-install की आवश्यकता होती है।

विभिन्न प्रोग्राम प्राथमिक विभाजन तालिका और विस्तारित विभाजन में तार्किक विभाजन दोनों का "बैकअप" बनाने में सक्षम हैं।

लिनक्स sfdisk (SystemRescueCD पर) प्राथमिक और विस्तारित विभाजन तालिका के बैकअप को सहेजने में सक्षम है। यह एक फाइल बनाता है जिसे टेक्स्ट एडिटर में पढ़ा जा सकता है, या इस फाइल का उपयोग sfdisk द्वारा प्राथमिक/विस्तारित विभाजन तालिका को पुनर्स्थापित करने के लिए किया जा सकता है। विभाजन तालिका का बैकअप लेने के लिए एक उदाहरण कमांड sfdisk -d /dev/hda > hda.out है और पुनर्स्थापित करने के लिए sfdisk /dev/hda < hda.out है। विभाजन तालिका को एक डिस्क से दूसरी डिस्क में इस तरह से कॉपी करना संभव है, मिररिंग की स्थापना के लिए उपयोगी है, लेकिन sfdisk -d /dev/sda | sfdisk /dev/sdb[38]

यह भी देखें


टिप्पणियाँ

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 The signature at offset 0x01FE in boot sectors is 55hex AAhex, that is 0x55 at offset 0x01FE and AAhex at offset 0x01FF. Since little-endian representation must be assumed in the context of IBM PC compatible machines, this can be written as 16-bit word AA55hex in programs for x86 processors (note the swapped order), whereas it would have to be written as 55AAhex in programs for other CPU architectures using a big-endian representation. Since this has been mixed up numerous times in books and even in original Microsoft reference documents, this article uses the offset-based byte-wise on-disk representation to avoid any possible misinterpretation.
  2. In order to ensure the integrity of the MBR boot loader code, it is important that the bytes at 0x00DA to 0x00DF are never changed, unless either all six bytes represent a value of 0 or the whole MBR bootstrap loader code (except for the (extended) partition table) is replaced at the same time as well. This includes resetting these values to 00 00 00 00 00 00hex unless the code stored in the MBR is known. Windows adheres to this rule.
  3. Originally, status values other than 0x00 and 0x80 were invalid, but modern MBRs treat the bit 7 as active flag and use this entry to store the physical boot unit.
  4. 4.0 4.1 The starting sector fields are limited to 1023+1 cylinders, 255+1 heads, and 63 sectors; ending sector fields have the same limitations.
  5. 5.0 5.1 5.2 5.3 5.4 The range for sector is 1 through 63; the range for cylinder is 0 through 1023; the range for head is 0 through 255 inclusive.[14]
  6. 6.0 6.1 The number of sectors is an index field; thus, the zero value is invalid, reserved and must not be used in normal partition entries. The entry is used by operating systems in certain circumstances; in such cases the CHS addresses are ignored.[16]
  7. "Quote: [Most] versions of MS-DOS (including MS-DOS 7 [Windows 95]) have a bug which prevents booting on hard disks with 256 heads (FFh), so many modern BIOSes provide mappings with at most 255 (FEh) heads." RBIL[39][40]
  8. The address 0000hex:7C00hex is the first byte of the 32nd KB of RAM. The loading of the boot program at this address historically was the reason why, while the minimum RAM size of an original IBM PC (type 5150) was 16 KB, 32 KB were required for the disk option in the IBM XT.
  9. If there is an EBDA, the available memory ends below it.
  10. Very old machines may have less than 640 KB (A0000hex or 655,360 bytes) of memory. In theory, only 32 KB (up to 0000hex:7FFFhex) or 64 KB (up to 0000hex:FFFFhex) are guaranteed to exist; this would be the case on an IBM XT-class machine equipped with only the required minimum amount of memory for a disk system.
  11. This applies when the BIOS handles a VBR, which is when it is in the first physical sector of unpartitioned media. Otherwise, the BIOS has nothing to do with the VBR. The design of VBRs is such as it is because VBRs originated solely on unpartitioned floppy disk media—the type 5150 IBM PC originally had no hard disk option—and the partitioning system using an MBR was later developed as an adaptation to put more than one volume, each beginning with its own VBR as-already-defined, onto a single fixed disk. By this design, essentially the MBR emulates the BIOS boot routine, doing the same things the BIOS would do to process this VBR and set up the initial operating environment for it just as if the BIOS had found that VBR on an unpartitioned medium.
  12. IP is set as a result of the jump. CS may be set to 0 either by executing a far jump or by loading the register value explicitly before executing a near jump. (It is impossible for jumped-to x86 code to detect whether a near or far jump was used to reach it [unless the code that made the jump separately passes this information in some way].)
  13. This is not part of the above mentioned proposal, but a natural consequence of pre-existing conditions.
  14. For example, PowerQuest's Partition Table Editor (PTEDIT32.EXE), which runs under Windows operating systems, is still available here: Symantec's FTP site.


संदर्भ

  1. Howe, Denis (2009-05-19) [1985]. "master boot record". FOLDOC. Archived from the original on 24 August 2017. Retrieved 2015-05-02.
  2. 2.0 2.1 2.2 2.3 "Windows support for hard disks that are larger than 2 TB". 1. Microsoft. 2013-06-26. 2581408. Archived from the original on 2017-04-27. Retrieved 2013-08-28.
  3. 3.0 3.1 3.2 Sedory, Daniel B. (2004). "The Mystery Bytes (or the Drive/Timestamp Bytes) of the MS-Windows 95B, 98, 98SE and Me Master Boot Record (MBR)". Master Boot Records. thestarman.pcministry.com. Archived from the original on 2017-08-24. Retrieved 2012-08-25.
  4. Lucas, Michael (2003). Absolute OpenBSD: Unix for the practical paranoid. p. 73. ISBN 9781886411999. Retrieved 2011-04-09. Every operating system includes tools to manage MBR partitions. Unfortunately, every operating system handles MBR partitions in a slightly different manner.
  5. Norton, Peter; Clark, Scott (2002). Peter Norton's New Inside the PC. Sams Publishing. pp. 360–361. ISBN 0-672-32289-7.
  6. Graves, Michael W. (2004). A+ Guide To PC Hardware Maintenance and Repair. Thomson Delmar. p. 276. ISBN 1-4018-5230-0.
  7. Andrews, Jean (2003). Upgrade and Repair with Jean Andrews. Thomson Course Technology. p. 646. ISBN 1-59200-112-2.
  8. Boswell, William (2003). Inside Windows Server 2003. Addison-Wesley Professional. p. 13. ISBN 0-7357-1158-5.
  9. Smith, Roderick W. (2000). The Multi-Boot Configuration Handbook. Que Publishing. pp. 260–261. ISBN 0-7897-2283-6.
  10. Brouwer, Andries Evert (2004-04-22) [2000]. "Properties of partition tables". Partition types. Archived from the original on 2017-08-24. Retrieved 2017-08-24. Matthias [R.] Paul writes: "[…] PTS-DOS [uses] a special fifth partition entry in front of the other four entries in the MBR and corresponding AAP-aware MBR bootstrap code. […]"
  11. Sedory, Daniel B. (2007-05-18) [2003]. "Notes on the Differences in one OEM version of the DOS 3.30 MBR". Master Boot Records. Archived from the original on 2017-08-24. Retrieved 2017-08-24. When we added partitions to this NEC table, the first one was placed at offsets 0x01EE through 0x01FD and the next entry was added just above it. So, the entries are inserted and listed backwards from that of a normal Table. Thus, looking at such a Table with a disk editor or partition listing utility, it would show the first entry in a NEC eight-entry table as being the last one (fourth entry) in a normal Partition Table. (NB. Shows an 8-entry partition table and where its boot code differs from MS-DOS 3.30.)
  12. Brouwer, Andries Evert (2004-04-22) [2000]. "Properties of partition tables". Partition types. Archived from the original on 2017-08-24. Retrieved 2017-08-24. Some OEM systems, such as AST DOS (type 14hex) and NEC DOS (type 24hex) had 8 instead of 4 partition entries in their MBR sectors. (Matthias R. Paul). (NB. NEC MS-DOS 3.30 and AST MS-DOS partition tables with eight entries are preceded with a signature A55Ahex at offset 0x017C.)
  13. "Partition Table". osdev.org. 2017-03-18 [2007-03-06]. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
  14. 14.0 14.1 14.2 System BIOS for IBM PC/XT/AT Computers and Compatibles. Phoenix technical reference. Addison-Wesley. 1989. ISBN 0-201-51806-6.
  15. Brouwer, Andries Evert (2013) [1995]. "List of partition identifiers for PCs". Partition types. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
  16. Wood, Sybil (2002). Microsoft Windows 2000 Server Operations Guide. Microsoft Press. p. 18. ISBN 978-0-73561796-4.
  17. "An Introduction to Hard Disk Geometry". Tech Juice. 2012-12-06 [2011-08-08]. Archived from the original on 2013-02-04.
  18. Kozierok, Charles M. (2001-04-17). "BIOS and the Hard Disk". The PC Guide. Archived from the original on 2017-06-17. Retrieved 2013-04-19.
  19. Smith, Robert (2011-06-26). "Working Around MBR's Limitations". GPT fdisk Tutorial. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
  20. "More than 2 TiB on a MBR disk". superuser.com. 2013-03-07. Archived from the original on 2017-08-24. Retrieved 2013-10-22.
  21. "Transition to Advanced Format 4K Sector Hard Drives". Tech Insight. Seagate Technology. 2012. Archived from the original on 2017-08-24. Retrieved 2013-04-19.
  22. Calvert, Kelvin (2011-03-16). "WD AV‐GP Large Capacity Hard Drives" (PDF). Western Digital. Retrieved 2013-04-20.
  23. Smith, Roderick W. (2010-04-27). "Linux on 4KB-sector disks: Practical advice". DeveloperWorks. IBM. Archived from the original on 2017-08-24. Retrieved 2013-04-19.
  24. 24.0 24.1 "MBR (x86)". OSDev Wiki. OSDev.org. 2012-03-05. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
  25. Sedory, Daniel B. (2003-07-30). "IBM DOS 2.00 Master Boot Record". The Starman's Realm. Archived from the original on 2017-08-24. Retrieved 2011-07-22.
  26. Singh, Amit (2009-12-25) [December 2003]. "Booting Mac OS X". Mac OS X Internals: The Book. Retrieved 2011-07-22.
  27. de Boyne Pollard, Jonathan (2011-07-10). "The EFI boot process". Frequently Given Answers. Archived from the original on 2017-08-24. Retrieved 2011-07-22.
  28. Domsch, Matt (2005-03-22) [2003-12-19]. "Re: RFC 2.6.0 EDD enhancements". Linux Kernel Mailing List. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
  29. 29.0 29.1 "Windows may use Signature() syntax in the BOOT.INI file". KnowledgeBase. Microsoft.
  30. McTavish (February 2014). "Vista's MBR Disk Signature". Multibooters: Dual and Multibooting with Vista. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
  31. Russinovich, Mark (2011-11-08). "Fixing Disk Signature Collisions". Mark Russinovich's Blog. Microsoft. Archived from the original on 2017-08-24. Retrieved 2013-04-19.
  32. 32.0 32.1 32.2 Sakamoto, Masahiko (2010-05-13). "Why BIOS loads MBR into 0x7C00 in x86?". Glamenv-Septzen.net. Archived from the original on 2017-08-24. Retrieved 2011-05-04.
  33. 33.0 33.1 33.2 33.3 33.4 33.5 Compaq Computer Corporation; Phoenix Technologies Ltd.; Intel Corporation (1996-01-11). "BIOS Boot Specification 1.01" (PDF). 1.01. ACPICA. Archived (PDF) from the original on 2017-08-24. Retrieved 2013-04-20. [1]
  34. 34.0 34.1 Elliott, David F. (2009-10-12). "Why does the "standard" MBR set SI?". tgwbd.org. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
  35. 35.0 35.1 35.2 Compaq Computer Corporation; Phoenix Technologies Ltd.; Intel Corporation (1994-05-05). "Plug and Play BIOS Specification 1.0A" (PDF). 1.0A. Intel. Archived from the original (PDF) on 2017-08-24. Retrieved 2013-04-20.
  36. Elliott, Robert (2010-01-04). "EDD-4 Hybrid MBR boot code annex" (PDF). Hewlett Packard, T13 Technical Committee. e09127r3. Archived (PDF) from the original on 2017-08-24. Retrieved 2013-04-20.
  37. "FDISK /MBR rewrites the Master Boot Record". Support. 1. Microsoft. 2011-09-23. 69013. Archived from the original on 2017-02-08. Retrieved 2013-04-19.
  38. "sfdisk(8) – Linux man page". die.net. 2013 [2007]. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
  39. Brown, Ralf D. (2000-07-16). "Ralf Browns Interrupt List (v61 html)". Delorie Software. Retrieved 2016-11-03.
  40. Brown, Ralf D. (2000-07-16). "B-1302: INT 13 - DISK - READ SECTOR(S) INTO MEMORY". Ralf Brown's Interrupt List (RBIL) (61 ed.). Retrieved 2016-11-03. (NB. See file INTERRUP.B inside archive "INTER61A.ZIP.)


अग्रिम पठन


इस पेज में लापता आंतरिक लिंक की सूची

  • आईबीएम पर्सनल कंप्यूटर एक्सटी
  • बीएसडी डिस्कलेबल
  • विभाजन प्रकार
  • ठोस राज्य ड्राइव
  • भौतिक स्मृति
  • फाइल आवन्टन तालिका
  • छोटा एंडियन
  • स्व-स्थानांतरण
  • सेब डार्विन
  • एल टोरिटो (मानक सीडी-रोम)
  • मेजबान संरक्षित क्षेत्र
  • एन रजिस्टर
  • एमबीआर विभाजन तालिका
  • एक्स रजिस्टर
  • बीएक्स रजिस्टर
  • बढ़ी हुई डिस्क ड्राइव विशिष्टता
  • लिलो (बूट भारक)
  • Apple विभाजन का नक्शा

बाहरी संबंध