कभी एक ओपन-सोर्स ऑपरेटिंग सिस्टम, लिनक्स के विभिन्न चरणों के बारे में उत्सुक रहे हैं? संपूर्ण बूट प्रक्रिया जानने से आपको समस्याओं का निवारण करने में मदद मिल सकती है - खासकर यदि आप एडमिनिस्ट्रेटर हैं।
जब आप अपना डिवाइस पावर ऑन करते हैं तो पर्दे के पीछे क्या होता है? पता लगाने के लिए पढ़ें।
BIOS
बेसिक इनपुट/आउटपुट सिस्टम (BIOS) आपके कंप्यूटर के मदरबोर्ड में एक छोटी मेमोरी चिप पर संग्रहीत लो-लेवल फर्मवेयर का एक टुकड़ा है। यह फर्मवेयर स्टार्ट-अप प्रक्रिया में सहायता करता है और आपकी मशीन और अन्य कनेक्टेड डिवाइस, जैसे माउस, प्रिंटर और वीडियो एडाप्टर के बीच डेटा फ्लो का प्रबंधन करता है।
ऊपर दिखाए गए BIOS का प्राथमिक कार्य पावर-ऑन सेल्फ टेस्ट (POST) चलाना है। यह टेस्ट सिस्टम हार्डवेयर की ऑपरेबिलिटी को सत्यापित करता है और बूट सेक्टर को ढूंढता है, जिसमें शेष प्रक्रिया के लिए आवश्यक सॉफ़्टवेयर होता है। यदि POST सफल होता है, तो BIOS अगले चरण, स्टेज वन बूट लोडर, को सिस्टम की RAM में लोड करेगा।
यदि POST सफल नहीं होता है, तो BIOS एक कोड लौटाएगा जिसका उपयोग आप समस्या निवारण के लिए कर सकते हैं।
स्टेज वन बूट लोडर
बूट लोडर का पहला चरण - जिसे मास्टर बूट रिकॉर्ड (MBR) या गाइडेड पार्टीशन टेबल (GPT) कहा जाता है - प्रोग्राम को ऑनलाइन प्राप्त करने के लिए डिज़ाइन किया गया है।
MBR एक सरल सॉफ़्टवेयर है जिसमें फ़ाइल सिस्टम की कोई अंतर्निहित समझ नहीं है। परिणामस्वरूप, आपको स्टेज टू बूट लोडर को MBR और हार्ड ड्राइव पर पहले पार्टीशन के बीच हमेशा स्टोर करना होगा।
एक बार MBR स्टेज टू बूट लोडर का पता लगा लेता है, तो यह नियंत्रण सौंप देता है।
स्टेज टू बूट लोडर
स्टेज टू बूट लोडर का काम कर्नेल को ढूंढना और उसे मेमोरी में लोड करना है।
अधिकांश लिनक्स डिवीजन तीन अलग-अलग बूट लोडर में से एक का उपयोग करेंगे - GRUB, GRUB2 या LIL। आप सबसे अधिक संभावना GRUB2 देखेंगे, जिसे नीचे दर्शाया गया है, क्योंकि यह नवीनतम है।
एक बार बूट लोडर कर्नेल को ढूंढ लेता है और इसे RAM में लोड कर लेता है, तो यह नियंत्रण पारित कर देता है। यह आपके डिवाइस के फ़ाइल सिस्टम की एक छवि भी भेजता है जिसका उपयोग कर्नेल मॉड्यूल ढूंढने के लिए कर सकता है।
कर्नेल
चूंकि सभी कर्नेल हार्ड ड्राइव स्पेस बचाने के लिए एक संपीड़ित प्रारूप में मौजूद हैं, इसलिए एक बार नियंत्रण दिए जाने पर यह पहली चीज़ करेगा वह है स्वयं को निकालना। फिर यह बूट लोडर से प्राप्त फ़ाइल सिस्टम के छवि संस्करण को माउंट करेगा।
कर्नेल सिस्टम के हार्डवेयर का पता लगाएगा और छवि को डिस्क पर रूट फ़ाइल पर स्वैप कर देगा।
init (systemd)
अगला, कर्नेल इनिशियलाइज़ेशन (init) सिस्टम शुरू करेगा - पहली प्रक्रिया जो बूटिंग प्रक्रिया के लिए आवश्यक सभी प्रक्रियाओं को जन्म देती है। अधिकांश सिस्टम पर, यह systemd होगा।
Systemd का प्राथमिक कार्य सिस्टम चलाने के लिए आवश्यक सभी डेमॉन - बैकग्राउंड प्रक्रियाओं और सेवाओं - को लॉन्च करना है। ये सेवाएं इनिशियलाइज़ेशन के बाद चलती रहेंगी और आवश्यक सिस्टम प्रक्रियाओं का प्रबंधन करेंगी जैसे विभिन्न सिस्टम संदेशों को लॉग करना, डिवाइस का ट्रैक रखना और यह सुनिश्चित करना कि फ़ाइल सिस्टम सिस्टम मेमोरी के साथ सिंक्रनाइज़ है।
यदि आप उत्सुक हैं कि systemd कौन सी सेवाएं चला रहा है, तो systemctl कमांड को अकेले चलाने से पूरी सूची वापस आ जाएगी।
आप systemd का उपयोग बूट पर अन्य सेवाओं को शुरू करने के लिए भी कर सकते हैं systemctl कमांड और आपके द्वारा शुरू की जाने वाली सेवा के संयोजन का उपयोग करके। उदाहरण के लिए, यदि आप चाहते हैं कि सिस्टम NFS की स्थिति की जांच करे, तो आप systemctl status nfs-server.service टाइप कर सकते हैं। आप उन कमांड में से किसी एक के साथ systemctl के संयोजन का उपयोग करके किसी सेवा को start, stop, enable या disable भी कर सकते हैं।
रनलेवल
रन लेवल INIT की एक अवस्था है, और आपका सिस्टम परिभाषित करता है कि कौन सी सेवाएं चल रही हैं। मानक लिनक्स कर्नेल सात अलग-अलग रनलेवल का समर्थन करता है:
- 0: सिस्टम हाल्ट, पावर ऑफ होने के लिए तैयार
- 1: सिंगल यूजर मोड
- 2: मल्टीपल यूजर मोड, कोई नेटवर्क फाइल सिस्टम नहीं
- 3: कमांड लाइन इंटरफेस का उपयोग करके मल्टीपल यूजर मोड ग्राफिकल यूजर के बजाय
- 4: उपयोगकर्ता-परिभाषित
- 5: ग्राफिकल यूजर इंटरफेस का उपयोग करके मल्टीपल यूजर मोड जिसमें अधिकांश लिनक्स सिस्टम डिफ़ॉल्ट रूप से बूट होते हैं
- 6: रीबूट
यदि आपको किसी कारण से रनलेवल बदलने की आवश्यकता है, तो INIT telinit कमांड का उपयोग करके इसे बदलने के लिए जिम्मेदार होगा, जिसे ऊपर दिखाया गया है।
बूट प्रक्रिया को तोड़ना
यह ब्रेकडाउन केवल लिनक्स बूट प्रक्रिया का एक अवलोकन है और कुछ बेहतर विवरण छोड़ देता है। हालांकि, यह आपको किसी भी समस्या का निवारण करने के लिए आवश्यक जानकारी देनी चाहिए जिसका आप सामना कर सकते हैं।