मेरे काम में मुझे कभी-कभी एक समस्या का सामना करना पड़ता है जब Linux "Welcome to emergency mode" संदेश के साथ बूट होता है। अक्सर, यह समस्या सर्वर पर आपातकालीन पावर आउटेज के बाद, सिस्टम क्रैश या अन्य समान स्थितियों के बाद होती है। 90% मामलों में, त्रुटि fstab या Linux फाइल सिस्टम क्षति से संबंधित होती है जिसे काफी आसानी से ठीक किया जा सकता है।
इस लेख में हम इस समस्या को हल करने के कुछ तरीकों पर चर्चा करेंगे।
LiveCD का उपयोग करके Linux फाइल सिस्टम त्रुटियों को कैसे ठीक करें?
मान लें, आपके सर्वर पर विफलता हुई है, जैसे आपातकालीन पावर आउटेज, और जब आप रिमोट कंसोल या VNC में अपने Linux सर्वर से कनेक्ट करते हैं, तो आप निम्न देखते हैं:
Welcome to emergency mode! After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or ^D to try again boot into default mode. Give root password for maintained (or press Control-D to continue).

इमरजेंसी मोड आपके सिस्टम को पुनर्प्राप्त करने के लिए न्यूनतम Linux वातावरण प्रदान करता है, यदि OS रेस्क्यू मोड में बूट नहीं कर सकता। इमरजेंसी मोड में, Linux रूट फाइल सिस्टम को रीड-ओनली के रूप में माउंट करता है। अन्य लोकल फाइल सिस्टम माउंट नहीं होते, नेटवर्क इंटरफेस नहीं लाया जाता।
यदि आप Control + D दबाते हैं, तो आपका सिस्टम बूट होना शुरू हो जाएगा, लेकिन कुछ समय बाद यह वापस इमरजेंसी मोड में आ जाता है:

इस समस्या को हल करने के लिए, आपको अपने सर्वर को LiveCD या LiveUSB से बूट करना होगा और SystemRescueCd टूल का उपयोग करना होगा। मैंने अपने होस्ट को अंतर्निहित systemrescuecd के साथ एक LiveCD इमेज से बूट किया है:

फिर फाइल सिस्टम चेक चलाएं और इस कमांड का उपयोग करके पाई गई सभी त्रुटियों को ठीक करें:
# fsck -y /dev/sda1 — जहां sda1 आपका डिस्क पार्टीशन है
आपको सभी पार्टीशन की जांच करनी होगी और अपने होस्ट को रीस्टार्ट करना होगा। ज्यादातर मामलों में, आपकी समस्या हल हो जाएगी।
/etc/fstab समस्याओं के कारण इमरजेंसी मोड
एक और समस्या जो हो सकती है वह है fstab क्षति या गलत कॉन्फ़िगरेशन। मेरे मामले में, जब मैंने systemrescuecd से बूट किया और सिस्टम की जांच की, तो कोई त्रुटि नहीं मिली, लेकिन समस्या हल नहीं हुई। fstab खोलने पर, मैंने देखा कि माउंट करने के लिए कोई डिस्क पार्टीशन नहीं थे, कॉन्फ़िगरेशन फाइल में केवल बूट डिस्क एंट्री उपलब्ध थी:

इस समस्या को हल करने के लिए, आपको blkid का उपयोग करके अपने डिस्क के UUID प्राप्त करने होंगे:

फिर आपके द्वारा प्राप्त सभी जानकारी को fstab में जोड़ें और अपने Linux होस्ट को रीबूट करें। यदि आपने इसे सही ढंग से किया है, तो आपका Linux सामान्य मोड में बूट होगा।
Linux को USB स्टिक से इंस्टॉल किया गया है
मैं एक ऐसी स्थिति में भी आया जब Linux को USB मीडिया से इंस्टॉल किया गया था, और सर्वर रीस्टार्ट के बाद, सिस्टम 'Welcome to emergency mode!' संदेश के साथ बूट हुआ। fstab देखने पर, यह पता चला कि USB डिवाइस वहां एक कार्यशील पार्टीशन के रूप में प्रदर्शित था। इस मामले में आप USB ड्राइव माउंट एंट्री को हटा सकते हैं और सिस्टम को रीबूट कर सकते हैं। पहले मामले की तरह, आपको systemrescuecd से बूट करना होगा और fstab खोलना होगा। संभावना है, आपको एक समान एंट्री दिखाई देगी— /mnt/usb1:

यदि आप USB ड्राइव का उपयोग नहीं कर रहे हैं तो बस इस लाइन को हटा दें।
डुअल-बूट Windows और Linux कॉन्फ़िगरेशन
उपयोगकर्ताओं द्वारा रिपोर्ट की गई इस समस्या का एक और रूपांतर एक ही कंप्यूटर पर Windows और CentOS दोनों का उपयोग करना है (डुअल बूट कॉन्फ़िगरेशन में)। इमरजेंसी मोड त्रुटि अक्सर बूट के दौरान Windows पार्टीशन माउंट करते समय होती है। आमतौर पर समस्या Windows फास्ट स्टार्टअप को अक्षम करके हल हो जाती है।
इसे अक्षम करने के लिए, Control Panel\All Control Panel Items\Power Options\System Settings में Change settings that are currently unavailable चुनें। "Turn on fast startup" विकल्प को अनचेक करें।

परिवर्तन सहेजें और अपने डिवाइस को रीस्टार्ट करें। ऐसा करने के बाद, आपका Linux सामान्य रूप से बूट होना चाहिए।
यदि आप LVM पार्टीशन का उपयोग करते हैं, तो यह त्रुटि भी हो सकती है। सामान्य तौर पर, समाधान सामान्य पार्टीशन से संबंधित जैसा ही है: अपने fstab कॉन्फ़िगरेशन की जांच करें और इसमें त्रुटियों को ठीक करें।