बूट सेक्टर

From Vigyanwiki
यह उदाहरण हार्ड डिस्क के क्षेत्रों में वितरित GNU GRUB के विभिन्न घटकों को दिखाता है। जब ग्रब हार्ड डिस्क पर संस्थापित होता है, boot.img उस हार्ड डिस्क के बूट सेक्टर में लिखा जाता है। boot.img का आकार केवल 446 बाइट्स है।

बूट सेक्टर एक स्थायी डेटा स्टोरेज डिवाइस (जैसे, हार्ड डिस्क, फ्लॉपी डिस्क, ऑप्टिकल डिस्क, आदि) का सेक्टर होता है, जिसमें रैंडम-एक्सेस मेमोरी (RAM) में लोड होने के लिए मशीन कोड होता है और फिर कंप्यूटर सिस्टम द्वारा निर्मित होता है। -फर्मवेयर में (उदाहरण के लिए, BIOS)।

सामान्यतः हार्ड डिस्क का पहला सेक्टर बूट सेक्टर होता है, भले ही सेक्टर आकार (512 या 4096 बाइट्स) और विभाजन स्वाद (एमबीआर या जीपीटी) हो।

एक विशेष सेक्टर को बूट सेक्टर के रूप में परिभाषित करने का उद्देश्य फर्मवेयर और विभिन्न ऑपरेटिंग सिस्टम के बीच अंतर-संचालनीयता है।

पहले फर्मवेयर (जैसे, BIOS), फिर बूट सेक्टर में निहित कुछ कोड, और फिर, उदाहरण के लिए, ऑपरेटिंग सिस्टम में चेन लोड करने का उद्देश्य अधिकतम लचीलापन (फ्लेक्सबिलटी) है।

आईबीएम पीसी और संगत कंप्यूटर

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

यूनिफाइड एक्स्टेंसिबल फर्मवेयर इंटरफेस (यूईएफआई) (UEFI)

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

बूट सेक्टर को नुकसान

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

विभाजन टेबल

डिस्क को कई विभाजनों में विभाजित किया जा सकता है और, पारंपरिक प्रणालियों में, ऐसा होने की उम्मीद है। विभाजन के संबंध में जानकारी को कैसे संग्रहीत किया जाए, इसकी दो परिभाषाएँ हैं:

  • मास्टर बूट रिकॉर्ड (एमबीआर) डेटा स्टोरेज डिवाइस का पहला सेक्टर है जिसे विभाजित किया गया है। एमबीआर सेक्टर में सक्रिय विभाजन का पता लगाने और इसके वॉल्यूम बूट रिकॉर्ड को प्रारम्भ करने के लिए कोड हो सकता है।
  • वॉल्यूम बूट रिकॉर्ड (वीबीआर) डेटा स्टोरेज डिवाइस का पहला सेक्टर है जिसे विभाजित नहीं किया गया है या डेटा स्टोरेज डिवाइस पर अलग विभाजन का पहला सेक्टर जिसे विभाजित किया गया है। इसमें उस डिवाइस पर या उस पार्टीशन में इंस्टॉल किए गए ऑपरेटिंग सिस्टम (या अन्य स्टैंडअलोन प्रोग्राम) को लोड करने के लिए कोड हो सकता है।

बूट सेक्टर में x86-सीपीयू के लिए आईबीएम पीसी संगत बूट लोडर की उपस्थिति, बूट सेक्टर के अंत में दो-बाइट हेक्साडेसिमल अनुक्रम 0x55 0xAA (बूट सेक्टर सिग्नेचर कहा जाता है) द्वारा दर्शाए गए कन्वेंशन द्वारा है (0x1FE और 0x1FF को ऑफ़सेट करता है) . यह हस्ताक्षर कम से कम एक डमी बूट लोडर की उपस्थिति को इंगित करता है जो निष्पादित होने के लिए सुरक्षित है, भले ही यह ऑपरेटिंग सिस्टम को वास्तव में लोड करने में सक्षम न हो। यह फाइल सिस्टम या ऑपरेटिंग सिस्टम के किसी विशेष (या यहां तक ​​कि उपस्थिति) को इंगित नहीं करता है, हालांकि डॉस 3 के कुछ पुराने संस्करण एफएटी-स्वरूपित मीडिया (नए संस्करण नहीं) का पता लगाने की अपनी प्रक्रिया में इस पर भरोसा करते हैं। अन्य प्लेटफॉर्म या सीपीयू के लिए बूट कोड को इस हस्ताक्षर का उपयोग नहीं करना चाहिए, क्योंकि यह क्रैश का कारण बन सकता है जब बायोस बूट सेक्टर को निष्पादन पास करता है, यह मानते हुए कि इसमें वैध निष्पादन योग्य कोड है। फिर भी, अन्य प्लेटफार्मों के लिए कुछ मीडिया में गलत तरीके से हस्ताक्षर होते हैं, वैसे भी, इस जांच को व्यवहार में 100% विश्वसनीय नहीं बनाते हैं।

आईबीएम पीसी/एटी (लेकिन मूल आईबीएम पीसी और कुछ अन्य मशीनों द्वारा नहीं) के बाद से अधिकांश प्रणालियों पर बायोस द्वारा हस्ताक्षर की जांच की जाती है। इसके अलावा, बूट सेक्टर में नियंत्रण पास करने से पहले अधिकांश एमबीआर बूट लोडर द्वारा इसकी जांच की जाती है। कुछ बायोस (जैसे आईबीएम पीसी/एटी) केवल फिक्स्ड डिस्क/हटाने योग्य ड्राइव की जांच करते हैं, जबकि फ्लॉपी और सुपर फ्लॉपी के लिए, यह 06h से अधिक या उसके बराबर बाइट से प्रारम्भ करने के लिए पर्याप्त है और पहले नौ शब्दों को सम्मिलित करता है। नहीं हैं। बूट सेक्टर से पहले समान मूल्य को वैध माना जाता है, जिससे फ्लॉपी पर 0x55, 0xAA के लिए स्पष्ट परीक्षण से बचा जा सकता है। चूंकि पुराने बूट सेक्टर (उदाहरण के लिए, बहुत पुराने सीपी/एम-86 और डॉस मीडिया) कभी-कभी इस हस्ताक्षर को इस तथ्य के बावजूद नहीं दिखाते हैं कि उन्हें सफलतापूर्वक बूट किया जा सकता है, कुछ वातावरणों में चेक को अक्षम किया जा सकता है।

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

सिस्टम ऊपर वर्णित डिजाइन का पालन नहीं कर रहे हैं:

  • सीडी-रोम में सामान्यतः बूट सेक्टरों की अपनी संरचना होती है; आईबीएम पीसी संगत प्रणालियों के लिए यह एल टोरिटो विनिर्देशों के अधीन है।
  • कमोडोर डॉस डिस्क पर C128 (कमोडोर 128) या C64 (कमोडोर 64) सॉफ्टवेयर जहां ट्रैक 1, सेक्टर 0 पर डेटा स्ट्रिंग "सीबीएम" के अनुरूप जादुई संख्या के साथ प्रारम्भ हुआ।[2]
  • आईबीएम मेनफ्रेम कंप्यूटर डिस्क के पहले सिलेंडर के पहले और दूसरे ट्रैक और रूट डायरेक्टरी में थोड़ी मात्रा में बूट कोड रखते हैं, कंटेंट की वॉल्यूम तालिका कहा जाता है, यह डिस्क के पहले सिलेंडर के तीसरे ट्रैक के निश्चित स्थान पर भी स्थित है।
  • अन्य (गैर-आईबीएम-संगत) पीसी सिस्टम में उनके डिस्क डिवाइस पर भिन्न बूट सेक्टर स्वरूप हो सकते हैं।

ऑपरेशन

आईबीएम पीसी-संगत मशीनों पर, बायोस वीबीआर और एमबीआर और विभाजन के बीच के अंतर से अनभिज्ञ है। फर्मवेयर केवल स्टोरेज डिवाइस के पहले सेक्टर को लोड करता है और चलाता है।[3] यदि डिवाइस फ्लॉपी या यूएसबी फ्लैश ड्राइव है, तो वह वीबीआर होगा। यदि डिवाइस एक हार्ड डिस्क है, तो वह एमबीआर होगी। यह एमबीआर में कोड है जो सामान्यतः पर डिस्क विभाजन को समझता है, और बदले में, जो भी प्राथमिक विभाजन बूट करने के लिए सेट किया गया है (सक्रिय विभाजन) के वीबीआर को लोड करने और चलाने के लिए ज़िम्मेदार है। वीबीआर तब डिस्क पर किसी अन्य स्थान से दूसरे चरण के बूटलोडर को लोड करता है।

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

बूट-सेक्टर वायरस

चूंकि बूट सेक्टर में कोड स्वचालित रूप से निष्पादित होता है, इसलिए बूट सेक्टर ऐतिहासिक रूप से कंप्यूटर वायरस के लिए एक सामान्य अटैक वेक्टर रहा है।

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

उदाहरण के रूप में, मैलवेयर नोटपेट्या (पेट्या) ऑपरेटिंग सिस्टम पर प्रशासनिक विशेषाधिकार प्राप्त करने का प्रयास करता है, और फिर कंप्यूटर के बूट सेक्टर को अधिलेखित करने का प्रयास करेगा।[5][6] सीआईए (केंद्रीय खुफिया एजेंसी) ने मैलवेयर भी विकसित किया है जो बूट क्षेत्र को अन्य मैलवेयर द्वारा उपयोग किए जाने वाले अतिरिक्त ड्राइवरों को लोड करने के लिए संशोधित करने का प्रयास करता है।[7]

यह भी देखें

  • मास्टर बूट रिकॉर्ड (एमबीआर)
  • वॉल्यूम बूट रिकॉर्ड (वीबीआर)

टिप्पणियाँ

  1. One FDISK utility written to be aware of BIOS boot sector protection features is DR-DOS' FDISK R2.31 (and higher), which will detect this scenario and display additional interactive messages to guide the user through it. In contrast to other FDISK utilities, DR-DOS FDISK is not only a partitioning tool, but can also format freshly created partitions as FAT12, FAT16 or FAT32. This reduces the risk to accidentally format wrong volumes.

संदर्भ

  1. "यूईएफआई - ओएसदेव विकी". wiki.osdev.org. Retrieved 2020-09-26.
  2. कमोडोर 128 प्रोग्रामर के संदर्भ गाइड. Bantam Books. 1986. pp. 446–667. ISBN 0-553-34292-4.
  3. Roderick W. Smith, Consultant and author (2010-04-14). "GRUB 2 में माइग्रेट करें". Ibm.com. Retrieved 2013-03-05. {{cite web}}: |author= has generic name (help)
  4. "इंटेल डेस्कटॉप बोर्ड BIOS सेटिंग्स डिक्शनरी" (PDF). Intel. Retrieved 2013-09-01.
  5. "नया रैंसमवेयर संस्करण "न्येत्या" दुनिया भर में सिस्टम से समझौता करता है". blog.talosintelligence.com. 27 June 2017. Retrieved 2018-05-28.
  6. "वैश्विक मैलवेयर हमलों के युग में, यदि कोई किल स्विच नहीं है तो क्या होगा?". CIO Dive (in English). Retrieved 2018-05-28.
  7. "CIA ने विंडोज मालवेयर विकसित किया जो बूट सेक्टर को और अधिक मैलवेयर लोड करने के लिए बदल देता है". Information Security Newspaper (in English). 2017-09-01. Retrieved 2018-05-28.

बाहरी संबंध