Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

แก้ไข: Linux บูตเข้าสู่ "Welcome to Emergency Mode"

ภาพรวม

ในงานของผม บางครั้งเจอปัญหาที่ Linux บูตพร้อมข้อความ "Welcome to emergency mode" ส่วนใหญ่เกิดหลังจากไฟฟ้าดับฉุกเฉินบนเซิร์ฟเวอร์ หลังจากระบบล้มเหลว หรือสถานการณ์คล้ายๆ กัน ใน 90% ของกรณี ข้อผิดพลาดเกี่ยวข้องกับ fstab หรือความเสียหายของระบบไฟล์ Linux ซึ่งแก้ไขได้ค่อนข้างง่าย

บทความนี้จะอภิปรายวิธีแก้ไขปัญหานี้หลายวิธี

วิธีแก้ไขข้อผิดพลาดระบบไฟล์ Linux ด้วย LiveCD

สมมติว่าคุณมีความล้มเหลวบนเซิร์ฟเวอร์ เช่น ไฟฟ้าดับฉุกเฉิน และเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ Linux ในคอนโซลระยะไกลหรือ VNC คุณจะเห็นดังนี้:

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 บูตเข้าสู่  Welcome to Emergency Mode

Emergency mode ให้สภาพแวดล้อม Linux ขั้นต่ำเพื่อกู้คืนระบบ หาก OS ไม่สามารถบูตเข้าสู่ Rescue mode ได้ ใน Emergency mode Linux แม้าท์ระบบไฟล์รูทเป็น read-only ระบบไฟล์ท้องถิ่นอื่นๆ ไม่ได้ถูกแม้ท์ อินเทอร์เฟซเครือข่ายไม่ได้ถูกนำขึ้น

หากกด Control + D ระบบจะเริ่มบูต แต่ในเวลานั้นจะกลับมาสู่ Emergency mode อีกครั้ง:

แก้ไข: Linux บูตเข้าสู่  Welcome to Emergency Mode

เพื่อแก้ไขปัญหานี้ คุณต้องบูตเซิร์ฟเวอร์จาก LiveCD หรือ LiveUSB และใช้เครื่องมือ SystemRescueCd ผมบูตโฮสต์จากอิมเมจ LiveCD ที่มี systemrescuecd ในตัว:

แก้ไข: Linux บูตเข้าสู่  Welcome to Emergency Mode

จากนั้นรันการตรวจสอบระบบไฟล์และแก้ไขข้อผิดพลาดที่พบทั้งหมดด้วยคำสั่ง:

# fsck -y /dev/sda1
— โดยที่ sda1 คือพาร์ติชันดิสก์ของคุณ

คุณต้องตรวจสอบทุกพาร์ติชันและรีสตาร์ทโฮสต์ ในส่วนใหญ่ ปัญหาของคุณจะได้รับการแก้ไข

Emergency Mode เนื่องจากปัญหา /etc/fstab

ปัญหาอีกอย่างที่อาจเกิดขึ้นคือความเสียหายหรือการกำหนดค่า fstab ผิดพลาด ในกรณีของผม เมื่อบูตจาก systemrescuecd และตรวจสอบระบบ ไม่พบข้อผิดพลาด แต่ปัญหายังไม่ได้รับการแก้ไข เมื่อเปิด fstab พบว่าไม่มีพาร์ติชันดิสก์ให้แม้ท์ มีเฉพาะรายการดิสก์บูตในไฟล์กำหนดค่า:

แก้ไข: Linux บูตเข้าสู่  Welcome to Emergency Mode

เพื่อแก้ไขปัญหานี้ คุณต้องหา UUID ของดิสก์โดยใช้ blkid:

แก้ไข: Linux บูตเข้าสู่  Welcome to Emergency Mode

จากนั้นเพิ่มข้อมูลทั้งหมดที่ได้รับใน fstab และรีบูทโฮสต์ Linux หากทำถูกต้อง Linux ของคุณจะบูตในโหมดปกติ

Linux ถูกติดตั้งจาก USB Stick

ยังมีสถานการณ์ที่ Linux ถูกติดตั้งจากสื่อ USB และหลังจากรีสตาร์ทเซิร์ฟเวอร์ ระบบบูตพร้อมข้อความ 'Welcome to emergency mode!' หลังจากดู fstab พบว่าอุปกรณ์ USB ถูกแสดงเป็นพาร์ติชันที่ทำงานอยู่ ในกรณีนี้ คุณสามารถลบรายการแม้ท์ USB drive และรีบูทระบบ เช่นในกรณีแรก คุณต้องบูตจาก systemrescuecd และเปิด fstab น่าจะเห็นรายการคล้ายกัน — /mnt/usb1:

แก้ไข: Linux บูตเข้าสู่  Welcome to Emergency Mode

เพียงแค่ลบบรรทัดนี้ออก หากคุณไม่ได้ใช้ USB drive

การกำหนดค่า Dualboot Windows และ Linux

รูปแบบปัญหาอีกอย่างที่ผู้ใช้รายงานคือการใช้ Windows และ CentOS บนคอมพิวเตอร์เครื่องเดียวกัน (ในการกำหนดค่า dual boot) ข้อผิดพลาด Emergency mode เกิดขึ้นบ่อยเมื่อแม้ท์พาร์ติชัน Windows ระหว่างบูต ปกติแล้วปัญหาจะแก้ได้โดยการปิดใช้งาน Windows Fast Startup

เพื่อปิดใช้งาน ให้เลือก Change settings that are currently unavailable ใน Control Panel\All Control Panel Items\Power Options\System Settings ยกเลิกถูก בחירה " Turn on fast startup"

แก้ไข: Linux บูตเข้าสู่  Welcome to Emergency Mode

บันทึกการเปลี่ยนแปลงและรีสตาร์ทอุปกรณ์ หลังจากนั้น Linux ของคุณควรบูตปกติ

หากคุณใช้พาร์ติชัน LVM ข้อผิดพลาดนี้อาจเกิดขึ้นได้เช่นกัน โดยทั่วไป วิธีแก้ไขคล้ายกับกรณีพาร์ติชันทั่วไป: ตรวจสอบการกำหนดค่า fstab และแก้ไขข้อผิดพลาดในมัน