मास्टर बूट रिकॉर्ड

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

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

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

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

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

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

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

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

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

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

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

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

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

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

विभाजन तालिका प्रविष्टियाँ
{| class="wikitable" style="float: right; width: 33%; margin: 1em;" ! colspan="2" style="text-align: center;" | Offset (bytes) !! Field length !! Description
 * + Layout of one 16-byte partition entry (all multi-byte fields are little-endian)
 * 0x00 || || 1 byte || Status or physical drive (bit 7 set is for active or bootable, old एमबीआर only accept 0x80, 0x00 means inactive, and 0x01–0x7F stand for invalid)
 * 0x01 || || 3 bytes || CHS address of first absolute sector in partition. The format is described by three bytes, see the next three rows.
 * || 0x01 || 1 byte ||
 * || 0x02 || 1 बाइट ||
 * || 0x03 || 1 बाइट ||
 * 0x04 || || 1 बाइट | |-
 * 0x05 || || 3 बाइट || विभाजन में अंतिम निरपेक्ष क्षेत्र का सिलेंडर-हेड-क्षेत्र। प्रारूप 3 बाइट्स द्वारा वर्णित है, अगली 3 पंक्तियाँ देखें।
 * || 0x05 || 1 बाइट ||
 * || 0x03 || 1 बाइट ||
 * 0x04 || || 1 बाइट | |-
 * 0x05 || || 3 बाइट || विभाजन में अंतिम निरपेक्ष क्षेत्र का सिलेंडर-हेड-क्षेत्र। प्रारूप 3 बाइट्स द्वारा वर्णित है, अगली 3 पंक्तियाँ देखें।
 * || 0x05 || 1 बाइट ||
 * 0x05 || || 3 बाइट || विभाजन में अंतिम निरपेक्ष क्षेत्र का सिलेंडर-हेड-क्षेत्र। प्रारूप 3 बाइट्स द्वारा वर्णित है, अगली 3 पंक्तियाँ देखें।
 * || 0x05 || 1 बाइट ||
 * || 0x05 || 1 बाइट ||


 * || 0x06 || 1 बाइट ||
 * || 0x06 || 1 बाइट ||


 * || 0x07 || 1 बाइट ||
 * || 0x07 || 1 बाइट ||


 * 0x08 || || 4 बाइट || विभाजन में पहले निरपेक्ष क्षेत्र का तार्किक ब्लॉक एड्रेसिंग
 * 0x0C || || 4 बाइट || विभाजन में क्षेत्रों की संख्या
 * }
 * 0x0C || || 4 बाइट || विभाजन में क्षेत्रों की संख्या
 * }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\

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

ए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 के साथ एक और विभाजन था (उदाहरण के तहत, कुंजी मान, यह बाइट ऑफ़सेट 0x00027193F800 ($10,495,457,280$) पर शुरू होगा, जो कि पहला बाइट भी है भौतिक क्षेत्र की$20,498,940$।

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

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

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

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

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

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

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

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

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

BIOS से एमबीआर इंटरफ़ेस
एमबीआर को स्मृति स्थान 0x0000:0x7C00 पर लोड किया जाता है और निम्न CPU रजिस्टरों के साथ सेट किया जाता है जब पूर्व बूटस्ट्रैप भारक (सामान्य रूप से BIOS में प्रारंभिक कार्यक्रम भारक) सी पी यू के वास्तविक मोड में 0x0000:0x7C00 पर कूद कर निष्पादन पास करता है।
 * सीएस रजिस्टर:आईपी ​​रजिस्टर = 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 से अन्य उपकरणों को भी बूट करने योग्य बनाने की अनुमति देते हैं। बाद में अनुशंसा की गई कि एमबीआर ​​और VBR कोड को आंतरिक रूप से हार्डवेयर्ड डिफ़ॉल्ट के बजाय DL का उपयोग करना चाहिए। जहां तक ​​एमबीआर कोड का संबंध है, यह विभिन्न गैर-मानक असाइनमेंट (उपरोक्त उदाहरण देखें) के साथ संगतता भी सुनिश्चित करेगा।
 * एल टोरिटो विनिर्देश के बाद बूट करने योग्य सीडी-रोम में इस इंटरफ़ेस पर फ्लॉपी या सुपरफ्लॉपी के रूप में होने के लिए BIOS द्वारा माउंट की गई डिस्क छवियां हो सकती हैं। 0x00 और 0x01 के DL मानों का उपयोग संरक्षित क्षेत्र रन टाइम इंटरफेस एक्सटेंशन सेवाएं (पार्टीज़) और विश्वसनीय कंप्यूटिंग समूह (TCG) BIOS एक्सटेंशन द्वारा विश्वसनीय मोड में किया जा सकता है, अन्यथा अदृश्य पार्टियों के विभाजन, बूट इंजीनियरिंग एक्सटेंशन रिकॉर्ड के माध्यम से स्थित डिस्क छवि फ़ाइलों तक पहुँचने के लिए (BEER) हार्ड डिस्क के होस्ट प्रोटेक्टेड एरिया (HPA) के अंतिम भौतिक क्षेत्र में। जबकि फ्लॉपी या सुपरफ्लॉपी का अनुकरण करने के लिए डिज़ाइन किया गया है, एमबीआर कोड इन गैर-मानक डीएल मूल्यों को स्वीकार करते हुए कम से कम ऑपरेटिंग सिस्टम के बूट चरण में विभाजित मीडिया की छवियों का उपयोग करने की अनुमति देता है
 * एल टोरिटो विनिर्देश के बाद बूट करने योग्य सीडी-रोम में इस इंटरफ़ेस पर फ्लॉपी या सुपरफ्लॉपी के रूप में होने के लिए BIOS द्वारा माउंट की गई डिस्क छवियां हो सकती हैं। 0x00 और 0x01 के DL मानों का उपयोग संरक्षित क्षेत्र रन टाइम इंटरफेस एक्सटेंशन सेवाएं (पार्टीज़) और विश्वसनीय कंप्यूटिंग समूह (TCG) BIOS एक्सटेंशन द्वारा विश्वसनीय मोड में किया जा सकता है, अन्यथा अदृश्य पार्टियों के विभाजन, बूट इंजीनियरिंग एक्सटेंशन रिकॉर्ड के माध्यम से स्थित डिस्क छवि फ़ाइलों तक पहुँचने के लिए (BEER) हार्ड डिस्क के होस्ट प्रोटेक्टेड एरिया (HPA) के अंतिम भौतिक क्षेत्र में। जबकि फ्लॉपी या सुपरफ्लॉपी का अनुकरण करने के लिए डिज़ाइन किया गया है, एमबीआर कोड इन गैर-मानक डीएल मूल्यों को स्वीकार करते हुए कम से कम ऑपरेटिंग सिस्टम के बूट चरण में विभाजित मीडिया की छवियों का उपयोग करने की अनुमति देता है


 * डीएच रजिस्टर बिट 5 = 0: INT 13h के माध्यम से समर्थित डिवाइस; अन्य: परवाह नहीं है (शून्य होना चाहिए)। DH कुछ आईबीएम BIOS द्वारा समर्थित है।
 * कुछ अन्य रजिस्टरों में मूल आईबीएम ROM BIOS के साथ विशेष रूप से कुछ रजिस्टर मान (डीएस, ईएस, एसएस = 0x0000; एसपी = 0x0400) हो सकते हैं, लेकिन इस पर भरोसा करने के लिए कुछ भी नहीं है, क्योंकि अन्य BIOS अन्य मानों का उपयोग कर सकते हैं। इसी वजह से आईबीएम, माइक्रोसॉफ्ट, डिजिटल रिसर्च आदि के एमबीआर कोड ने कभी इसका फायदा नहीं उठाया। बूट क्षेत्रों में इन रजिस्टर मूल्यों पर भरोसा करने से चेन-बूट परिदृश्यों में भी समस्या हो सकती है।

प्लग-एंड-प्ले BIOS या BBS समर्थन वाले सिस्टम, DL के अतिरिक्त PnP डेटा के लिए एक सूचक प्रदान करेंगे:
 * डीआई रजिस्टर:DI रजिस्टर = पॉइंट टू स्थापना जांच संरचना


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

एमबीआर से वीबीआर इंटरफ़ेस
प्रथा के अनुसार, एक मानक अनुरूप एमबीआर, CPU के वास्तविक मोड में 0x0000:0x7C00 पर कूद कर निम्नलिखित रजिस्टरों को बनाए रखने या विशेष रूप से सेट करने के साथ सफलतापूर्वक लोड किए गए VBR को निष्पादन पास करता है, स्मृति स्थान 0x0000:0x7C00 पर लोड किया जाता है:
 * सीएस: आईपी = 0x0000:0x7C00 (निरंतर)
 * डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
 * एमएस-डॉस 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 ऑफ़सेट ), Wyse गैर-मानक ड्राइव यूनिट 0x02..0x7F को 0x80..0xFD में ट्रांसलेट करें, और वैकल्पिक रूप से ड्राइव वैल्यू को ठीक करें (विस्तारित BIOS पैरामीटर ब्लॉक (EBPB) में   या क्षेत्र ऑफ़सेट में   ऑफ़सेट पर संग्रहीत) 0x01FD ) लोड किए गए VBRs में उन्हें निष्पादित करने से पहले (NEWLDR ऑफ़सेट   देखें) - यह अन्य बूट भारकों को 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 के,  , और डेविड इलियट के  ) इस सूचक पर भी निर्भर करते हैं, लेकिन इसके अतिरिक्त वे DS का उपयोग नहीं करते हैं, लेकिन इसके बजाय 0x0000 पर सेट होने की कल्पना करते हैं। यदि यह धारणा गलत है तो यह समस्याएँ पैदा करेगा। 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 हाइब्रिड एमबीआर प्रस्ताव इंटरफ़ेस के लिए एक और विस्तार की सिफारिश करता है:
 * ईएक्स रजिस्टर = 0x54504721 ( "
 * डीएल = बूट ड्राइव यूनिट (ऊपर देखें)
 * डीएस:एसआई = एक हाइब्रिड एमबीआर हैंडओवर संरचना को इंगित करता है, जिसमें 16-बाइट डमी एमबीआर विभाजन तालिका प्रविष्टि शामिल है (ऑफ़सेट 0x00 पर बूट फ्लैग को छोड़कर सभी बिट्स सेट के साथ और ऑफसेट 0x04 पर विभाजन प्रकार) अतिरिक्त डेटा के बाद। यह पुराने DS के साथ आंशिक रूप से संगत है: ऊपर चर्चा की गई SI एक्सटेंशन, यदि केवल 16-बाइट विभाजन प्रविष्टि है, तो इन पुराने एक्सटेंशन के लिए संपूर्ण विभाजन तालिका की आवश्यकता नहीं है।
 * चूंकि पुराने ऑपरेटिंग सिस्टम (उनके VBRs सहित) इस विस्तार का समर्थन नहीं करते हैं और न ही वे 2 TiB बाधा से परे के क्षेत्रों को संबोधित करने में सक्षम हैं, एक GPT-सक्षम हाइब्रिड बूट भारक को अभी भी 16-बाइट डमी एमबीआर विभाजन तालिका प्रविष्टि का अनुकरण करना चाहिए यदि बूट विभाजन पहले 2 टीआईबी के भीतर स्थित है।


 * ES:DI = " " संस्थापन जाँच संरचना को इंगित करता है (ऊपर देखें)

सामग्री का संपादन और प्रतिस्थापन
यद्यपि विभिन्न डिस्क संपादकों का उपयोग करके सीधे एमबीआर क्षेत्र में बाइट्स में हेरफेर करना संभव है, फिर भी एमबीआर को कार्यकारी कोड के निश्चित समूह लिखने के लिए उपकरण उपलब्ध हैं। एमएस-डॉस 5.0 के बाद से, प्रोग्राम  में स्विच   सम्मिलित है, जो एमबीआर कोड का पुनःलेखन करता है। विंडोज 2000 और विन्डोज़ एक्सपी के तहत, रिकवरी कंसोल का उपयोग इसके   कमांड का उपयोग करके स्टोरेज डिवाइस में नया एमबीआर कोड लिखने के लिए किया जा सकता है।  और  विंडोज 7 के अंतर्गत, पुनर्प्राप्ति पर्यावरण का उपयोग   कमांड का उपयोग करके नया एमबीआर कोड लिखने के लिए किया जा सकता है। कुछ तृतीय-पक्ष उपयोगिताओं का उपयोग विभाजन तालिकाओं की सामग्री को सीधे संपादित करने के लिए भी किया जा सकता है (हेक्साडेसिमल या डिस्क/क्षेत्र संपादकों के किसी भी ज्ञान की आवश्यकता के बिना), जैसे एमबीआर विज़ार्ड।

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

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

लिनक्स  (SystemRescueCD पर) प्राथमिक और विस्तारित विभाजन तालिका के बैकअप को सहेजने में सक्षम है। यह एक फाइल बनाता है जिसे टेक्स्ट एडिटर में पढ़ा जा सकता है, या इस फाइल का उपयोग sfdisk द्वारा प्राथमिक/विस्तारित विभाजन तालिका को पुनर्स्थापित करने के लिए किया जा सकता है। विभाजन तालिका का बैकअप लेने के लिए एक उदाहरण कमांड   है और पुनर्स्थापित करने के लिए   है। विभाजन तालिका को एक डिस्क से दूसरी डिस्क में इस तरह से कॉपी करना संभव है, मिररिंग की स्थापना के लिए उपयोगी है, लेकिन   ।

यह भी देखें

 * विस्तारित बूट रिकॉर्ड (ईबीआर)
 * वॉल्यूम बूट रिकॉर्ड (वीबीआर)
 * GUID विभाजन तालिका (GPT)
 * BIOS बूट विभाजन
 * EFI सिस्टम विभाजन
 * बूट इंजीनियरिंग एक्सटेंशन रिकॉर्ड (BEER)
 * मेजबान संरक्षित क्षेत्र (HPA)
 * डिवाइस कॉन्फ़िगरेशन ओवरले (DCO)
 * Apple विभाजन मानचित्र (APM)
 * अमिगा कठोर डिस्क ब्लॉक (आरडीबी)
 * सामग्री की मात्रा तालिका (VTOC)
 * बीएसडी डिस्कलेबल
 * बूट लोडर
 * डिस्क क्लोनिंग
 * रिकवरी डिस्क
 * जीएनयू जुदा
 * विभाजन संरेखण

अग्रिम पठन

 * 
 * 
 * 
 * 

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

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

बाहरी संबंध

 * Article on master boot record
 * The एमबीआर and how it fits into the BIOS boot process