Multiboot specification
मल्टीबूट विनिर्देश एक खुला मानक है जो बताता है कि कैसे एक बूट लोडर एक x86 ऑपरेटिंग सिस्टम कर्नेल को लोड कर सकता है। विनिर्देशन किसी भी अनुपालन बूट-लोडर कार्यान्वयन को किसी भी अनुपालन ऑपरेटिंग-सिस्टम कर्नेल को बूट करने की अनुमति देता है। इस प्रकार, यह विभिन्न ऑपरेटिंग सिस्टम और बूट लोडरों को ऑपरेटिंग सिस्टम-विशिष्ट बूट लोडरों की आवश्यकता के बिना एक साथ काम करने और आपस में काम करने की अनुमति देता है। नतीजतन, यह एकल कंप्यूटर पर विभिन्न ऑपरेटिंग सिस्टम के आसान सह-अस्तित्व की भी अनुमति देता है, जिसे मल्टी-बूटिंग के रूप में भी जाना जाता है। विनिर्देश मूल रूप से 1995 में बनाया गया था और फ्री सॉफ्टवेयर फाउंडेशन द्वारा विकसित किया गया था। जीएनयू हर्ड, वीएमवेयर ईएसएक्सआई, ज़ेन और एल4 माइक्रोकर्नल सभी को इस विधि का उपयोग करके बूट करने की आवश्यकता है। जी. एन. यू. जी. आर. यू. बी. जी. एन. यू. ऑपरेटिंग सिस्टम और अन्य ऑपरेटिंग सिस्टम में उपयोग किया जाने वाला संदर्भ कार्यान्वयन है। मल्टीबूट विनिर्देशन का नवीनतम संस्करण 0.6.96 है, जिसे 2009 में परिभाषित किया गया था। यू. ई. एफ. आई. समर्थन के साथ एक असंगत दूसरा पुनरावृत्ति, मल्टीबूट 2 विनिर्देश, बाद में पेश किया गया था। मल्टीबूट 2 का नवीनतम संस्करण 2 है, जिसे 2016 में परिभाषित किया गया था। तकनीकी अवलोकन जबकि मल्टीबूट एक हेडर को एक संरचना के रूप में परिभाषित करता है, जिसे पूरी तरह से छवि फ़ाइल में मौजूद होने की आवश्यकता होती है, मल्टीबूट 2 में, फ़ील्ड या फ़ील्ड के समूह में एक प्रकार का टैग होता है, जो उन्हें मल्टीबूट 2 हेडर से हटाने की अनुमति देता है। ओएस छवि फ़ाइल के भीतर, हेडर मल्टीबूट के लिए पहले 8192 (212) बाइट्स और मल्टीबूट 2 के लिए 32768 (215) बाइट्स में होना चाहिए। लोडर हेडर खोजने के लिए एक जादुई संख्या की खोज करता है, जो मल्टीबूट के लिए 0x1BADB002 और मल्टीबूट 2 के लिए 0xE85250D6 है। हेडर में, Entry _ addr उस कोड को इंगित करता है जहाँ नियंत्रण OS को सौंप दिया जाता है। यह विभिन्न निष्पादन योग्य फ़ाइल प्रारूपों की अनुमति देता है (निष्पादन योग्य फ़ाइल प्रारूपों की तुलना देखें)। यदि ओएस कर्नेल एक ईएलएफ फाइल (निष्पादन योग्य और लिंक करने योग्य प्रारूप) है, जो लिनक्स कर्नेल के लिए है, तो इसे मल्टीबूट 2 के लिए छोड़ा जा सकता है। ई. एल. एफ. प्रारूप मुक्त स्रोत दुनिया में बहुत आम है और इसका अपना क्षेत्र (ई. प्रविष्टि) है जिसमें प्रवेश बिंदु होता है। ओएस प्रविष्टि बिंदु पर कूदने से पहले, बूट लोडर को ओएस को यह बताने के लिए एक बूट सूचना संरचना प्रदान करनी चाहिए कि उसने सिस्टम को कैसे छोड़ा; मल्टीबूट के लिए, यह एक संरचना है, और मल्टीबूट 2 के लिए, प्रत्येक क्षेत्र (समूह) में एक प्रकार का टैग और एक आकार होता है। सी. डी.-रोम डिस्क बूट करने के लिए एल टोरिटो (सी. डी.-रोम मानक) भी देखें बूट करने योग्य यू. एस. बी. लाइव यू. एस. बी. मल्टी-बूटिंग संदर्भ बनाने के लिए उपकरणों की सूची बाहरी लिंक बूटिंग कंप्यूटर मानक