วิธีการบูต Ubuntu Server เข้าสู่โหมดฉุกเฉิน: คู่มือการกู้คืนทีละขั้นตอน

เซิร์ฟเวอร์ Ubuntu ของคุณจะรีสตาร์ทหลังจากอัปเดตหรือไฟดับ จากนั้นจะหยุดอยู่ที่ข้อความ "กำลังเข้าสู่โหมดฉุกเฉิน" SSH ใช้งานไม่ได้ บริการต่างๆ หยุดทำงาน และคอนโซลขอให้ดำเนินการบำรุงรักษา โดยปกติแล้วหมายความว่า systemd ไม่สามารถดำเนินการขั้นตอนการบูตที่จำเป็นได้ ซึ่งมักเกิดจากการตรวจสอบระบบไฟล์ล้มเหลวหรือหาตำแหน่งเมานต์ที่ต้องการไม่พบ ให้ถือว่าข้อความนี้เป็นเบาะแส: ระบุหน่วยที่ล้มเหลวก่อนที่จะแก้ไขไฟล์หรือเรียกใช้คำสั่งซ่อมแซม

คู่มือนี้ใช้ได้กับการติดตั้ง Ubuntu Server ทั่วไปที่ใช้ systemd คำสั่งและเมนูบูตอาจแตกต่างกันไปใน Ubuntu Core ระบบเข้ารหัส รูปภาพบนคลาวด์ และเซิร์ฟเวอร์ที่จัดการโดยผู้ให้บริการ คู่มือ Ubuntu ฉบับปัจจุบันอธิบายว่า emergency.target เป็นเชลล์ขั้นต่ำที่ไม่เริ่มต้นบริการปกติหรือเมานต์ระบบไฟล์ทั่วไป ขึ้นอยู่กับวิธีการเข้าถึง ระบบไฟล์รูทอาจเป็นแบบอ่านอย่างเดียวหรืออ่านเขียนได้ นั่นคือเหตุผลที่ขั้นตอนแรกคือการตรวจสอบและสำรองข้อมูล

1. อ่านรายละเอียดความล้มเหลวก่อนที่จะทำการเปลี่ยนแปลงใดๆ

เข้าสู่ระบบคอนโซลของเครื่องหรือคอนโซลของผู้ให้บริการหากได้รับแจ้ง สำหรับเครื่องจริง ให้เชื่อมต่อแป้นพิมพ์และจอภาพ สำหรับเซิร์ฟเวอร์เสมือน ให้ใช้คอนโซลอนุกรมหรือคอนโซลกู้คืนของผู้ให้บริการ ถ่ายภาพหรือคัดลอกข้อผิดพลาดทั้งหมด โดยเฉพาะชื่อหน่วย เช่นsystemd-fsck@dev-disk-by-uuid-....serviceหรือหน่วยเมานต์ที่ลงท้ายด้วย.mount. UUID ที่หายไป การตรวจสอบระบบไฟล์ล้มเหลว และบริการที่เสียหาย จำเป็นต้องแก้ไขแตกต่างกัน

จากหน้าต่างฉุกเฉิน ให้ตรวจสอบหน่วยที่ล้มเหลวและบันทึกการบูตปัจจุบัน:

systemctl --failed
journalctl -xb

มองหาข้อผิดพลาดที่มีความหมายข้อแรก ไม่ใช่แค่บรรทัดสุดท้ายที่บอกว่า “การพึ่งพาไม่สำเร็จ” หากบันทึกระบุถึงการเมานต์ ให้จดบันทึกจุดเมานต์และ UUID ของอุปกรณ์ หากระบุถึงบริการที่ไม่เกี่ยวข้องกับการจัดเก็บข้อมูล อย่าเริ่มเปลี่ยนแปลง/etc/fstabแบบสุ่ม ให้ตรวจสอบหน่วยเฉพาะนั้นsystemctl status unit-nameและข้อความบันทึกล่าสุดของมัน

2. ตรวจสอบว่าระบบไฟล์หลักอนุญาตให้แก้ไขได้หรือไม่

ก่อนแก้ไขไฟล์การกำหนดค่า โปรดตรวจสอบวิธีการเมานต์ระบบไฟล์รูทก่อน:

findmnt /

หากตัวเลือกแสดง แสดงroว่าระบบไฟล์รูทเป็นแบบอ่านอย่างเดียว หากระบบไฟล์อยู่ในสภาพสมบูรณ์และคุณต้องการซ่อมแซมการตั้งค่าเล็กน้อย ให้ทำการเมานต์ใหม่ในโหมดอ่านเขียน:

mount -o remount,rw /

ลองรันfindmnt /อีกครั้งเพื่อยืนยันการเปลี่ยนแปลง หากการเมานต์ล้มเหลว ให้หยุดและบันทึกข้อผิดพลาด ไดรฟ์รูทแบบอ่านอย่างเดียวอาจเป็นการป้องกันปัญหาของระบบไฟล์ การบังคับเขียนหรือการลองเมานต์ซ้ำๆ อาจทำให้การกู้คืนทำได้ยากขึ้น ใช้สภาพแวดล้อมการกู้คืนหรือขอความช่วยเหลือจากผู้ให้บริการหากไดรฟ์รูทดูเหมือนเสียหาย

3. ตรวจสอบดิสก์และเปรียบเทียบกับไฟล์ /etc/fstab

สาเหตุทั่วไปคือ/etc/fstabข้อมูลที่ล้าสมัย: ดิสก์ถูกถอดออก, UUID เปลี่ยนแปลง หรือพิมพ์พาธการเชื่อมต่อผิด ขั้นแรกให้แสดงรายการระบบไฟล์ที่ตรวจพบและตัวระบุของระบบไฟล์เหล่านั้น:

lsblk -f
blkid

จากนั้นอ่านการตั้งค่าตารางการเมานต์:

cat /etc/fstab

ตรวจสอบ ให้แน่ใจว่า UUID ที่กำหนดค่าไว้แต่ละรายการตรงกับผลลัพธ์จากคำสั่งlsblk -fหรือblkidและตรวจสอบว่าจุดเชื่อมต่อและประเภทของระบบไฟล์ถูกต้อง อย่าแทนที่ชื่ออุปกรณ์ เช่น โดย/dev/sdb1อิงจากตัวอักษรปัจจุบันเพียงอย่างเดียว เพราะลำดับของอุปกรณ์อาจเปลี่ยนแปลงได้ UUID มักมีความเสถียรมากกว่า แต่ก็ยังต้องตรงกับระบบไฟล์จริง

ไฟล์ นี้/etc/fstabจะถูกแปลงเป็นหน่วยการเมานต์ของ systemd ในระหว่างการบูต ฟิลด์และตัวเลือกต่างๆ ในไฟล์นี้มีความหมายเฉพาะ ดังนั้นหากไม่คุ้นเคยกับรายการใด โปรดศึกษา คู่มือ fstab อย่างเป็นทางการของ Ubuntu

4. ข้ามขั้นตอนการติดตั้งที่ขาดหายไปชั่วคราว (เป็นทางเลือก)

หากรายการที่ล้มเหลวชี้ไปยังดิสก์ข้อมูลที่ไม่สำคัญซึ่งถูกละเว้นโดยเจตนา ให้สำรองข้อมูล จาก/etc/fstabนั้นคอมเมนต์เฉพาะบรรทัดนั้นโดยใส่เครื่องหมาย#คอมเมนต์ไว้ที่ต้นบรรทัด วิธีนี้จะช่วยให้คุณทดสอบได้ว่าการเมานต์ที่หายไปเป็นสาเหตุของการบูตหรือไม่ อย่าคอมเมนต์รายการระบบไฟล์รูท/bootหรือรายการวอลุ่มที่เข้ารหัส เว้นแต่คุณจะเข้าใจโครงสร้างการจัดเก็บข้อมูลของระบบ

cp -a /etc/fstab /etc/fstab.before-emergency-fix
nano /etc/fstab

หรืออีกทางเลือกหนึ่ง หากดิสก์ควรเป็นตัวเลือกเสริมในการทำงานปกติ ให้พิจารณาnofailตัวเลือกการเมานต์หลังจากตรวจสอบพฤติกรรมที่ต้องการแล้ว ใช้ตัวเลือกนี้เฉพาะกับการเมานต์ที่เป็นตัวเลือกเสริมอย่างแท้จริงเท่านั้น การเพิ่มลงในวอลุ่มระบบที่จำเป็นอาจซ่อนความล้มเหลวในการจัดเก็บข้อมูลที่แท้จริงได้ ระบบไฟล์เครือข่ายอาจต้องการตัวเลือกเฉพาะของ systemd และการพึ่งพาเครือข่ายเพิ่มเติม อย่าคัดลอกตัวเลือกจากระบบที่ไม่เกี่ยวข้อง

หลังจากแก้ไขเสร็จแล้ว ให้ขอให้ systemd โหลดหน่วยที่สร้างขึ้นใหม่ และทดสอบไฟล์:

systemctl daemon-reload
mount -a

อ่านผลลัพธ์ทั้งหมด การส่งคืนค่าที่สะอาดไม่ได้หมายความว่าทุกแอปพลิเคชันสามารถใช้ข้อมูลที่เมานต์ได้ แต่ UUID ที่รายงาน ไวยากรณ์ หรือข้อผิดพลาดในการเมานต์จะบอกคุณว่าต้องแก้ไขอะไรบ้างคู่มือ systemd-fstab-generatorอธิบายวิธีการที่ systemd แปลงรายการ fstab เป็นหน่วยการเมานต์

5. แก้ไข UUID, เส้นทาง หรือตัวเลือกการเมานต์ที่ผิดพลาด

หากดิสก์มีอยู่แต่ UUID แตกต่างกัน โปรดตรวจสอบให้แน่ใจว่าคุณได้ระบุระบบไฟล์ที่ถูกต้องก่อนที่จะอัปเดตUUID=...ฟิลด์ที่ตรงกัน ยืนยันว่าไดเร็กทอรีจุดเชื่อมต่อมีอยู่จริง ประเภทของระบบไฟล์ถูกต้อง และตัวเลือกต่างๆ ใช้ได้กับระบบไฟล์นั้น แก้ไขทีละรายการ จากนั้นเรียกใช้คำสั่งsystemctl daemon-reloadอีกmount -aครั้ง

สำหรับดิสก์ข้อมูลแบบถอดได้หรือดิสก์ข้อมูลสำรองที่เป็นตัวเลือก การตั้งค่านโยบายการติดตั้งแบบเลือกได้ที่เหมาะสมอาจช่วยป้องกันไม่ให้อุปกรณ์ที่หายไปขัดขวางการบูต สำหรับวอลุ่มที่สำคัญ ให้แก้ไขอุปกรณ์ สายเคเบิล การแมปการเข้ารหัส หรือตัวระบุแทนที่จะปกปิดความล้มเหลว หากหน่วยที่ล้มเหลวระบุชื่ออุปกรณ์ LUKS หรือ LVM ให้ตรวจสอบการแมปและสถานะของวอลุ่มที่เกี่ยวข้อง อย่าแทนที่ UUID ด้วยพาร์ติชันที่มีชื่อคล้ายกัน

6. ให้ทำการตรวจสอบระบบไฟล์เฉพาะเมื่อไม่ได้ทำการเมานต์ไดรฟ์เป้าหมายเท่านั้น

หากคอนโซลรายงานข้อผิดพลาดของระบบไฟล์โดยเฉพาะ ให้ระบุประเภทและอุปกรณ์ของระบบไฟล์ก่อนทำการซ่อมแซม อย่าใช้ยูทิลิตี้ซ่อมแซมกับระบบไฟล์ที่ถูกเมานต์อยู่ โดยเฉพาะอย่างยิ่งระบบไฟล์รูทที่ใช้งานอยู่คู่มือ fsck ของ Ubuntu อธิบายถึงคำสั่ง wrapper; ตัวเลือกการตรวจสอบและการซ่อมแซมที่ถูกต้องจะขึ้นอยู่กับระบบไฟล์

สำหรับพาร์ติชั่นข้อมูล ext2, ext3 หรือ ext4 ให้ตรวจสอบก่อนว่าไม่ได้ถูกเมานต์อยู่หรือไม่findmntหากถูกเมานต์อยู่ ให้ยกเลิกการเมานต์ก่อนตรวจสอบ ตัวอย่างการตรวจสอบ ext4 จากสภาพแวดล้อมการกู้คืนที่เหมาะสมมีดังนี้:

sudo e2fsck -f /dev/DEVICE

เปลี่ยน/dev/DEVICEเฉพาะหลังจากจับคู่พาร์ติชั่นที่ถูกต้องจากไฟล์lsblk -f. อ่านคำถามและสถานะของตัวตรวจสอบ อย่าเพิ่มตัวเลือก "ใช่ทุกอย่าง" โดยอัตโนมัติโดยไม่เข้าใจความเสี่ยงต่อการสูญเสียข้อมูล สำหรับระบบไฟล์รูทที่ไม่สามารถยกเลิกการเมานต์จากเชลล์ฉุกเฉินที่กำลังทำงานอยู่ ให้บูตสภาพแวดล้อมการกู้คืนแบบสดหรือของผู้ให้บริการ และตรวจสอบขณะออฟไลน์ Btrfs, XFS และระบบไฟล์อื่นๆ ใช้เครื่องมือและขั้นตอนการซ่อมแซมที่แตกต่างกัน โดยเฉพาะอย่างยิ่ง อย่าถือว่าfsckคำสั่งทั่วไปเป็นหลักฐานว่าระบบไฟล์ทุกประเภทได้รับการซ่อมแซมแล้ว

7. ใช้ GRUB หรือการกู้คืนภายนอกเฉพาะเมื่อไม่สามารถเข้าถึงเชลล์ได้

หากเซิร์ฟเวอร์ไม่สามารถเข้าถึงเชลล์ฉุกเฉินได้ ให้เปิดเมนู GRUB และลองใช้รายการกู้คืนของระบบปฏิบัติการเมื่อมีให้ใช้งาน ในการติดตั้ง Ubuntu มาตรฐาน เมนูมักจะเข้าถึงได้โดยการกดปุ่ม Shift ค้างไว้ในระบบ BIOS รุ่นเก่า หรือกดปุ่ม Esc ในระบบ UEFI แต่เครื่องเสมือนที่โฮสต์อาจใช้ลำดับการเข้าถึงคอนโซลที่แตกต่างกัน สำหรับการบูตฉุกเฉินด้วย systemd เพียงครั้งเดียว ผู้ดูแลระบบสามารถแก้ไขรายการ GRUB ที่เลือกและเพิ่มลง ในบรรทัดคำสั่งเคอร์เนล Linux การเปลี่ยนแปลงจะมีผลกับการบูตครั้งนั้นเท่านั้น ให้ลบออกก่อนการบูตปกติครั้งถัดไป ดู ข้อมูลอ้างอิงเมนู GNU GRUBsystemd.unit=emergency.targetอย่างเป็นทางการ

หากไม่สามารถเมานต์ไดรฟ์บูตได้ ให้ใช้สภาพแวดล้อม Ubuntu แบบ Live หรือระบบกู้คืนของผู้ให้บริการคลาวด์เพื่อตรวจสอบ ปลดล็อกพื้นที่จัดเก็บข้อมูลที่เข้ารหัสและเปิดใช้งาน LVM เฉพาะเมื่อตรงกับการติดตั้งเท่านั้น การเมานต์ระบบไฟล์รูทของเซิร์ฟเวอร์จากการกู้คืนมีความเสี่ยงเพิ่มเติม หลีกเลี่ยงการเขียนข้อมูลลงไปจนกว่าจะระบุดิสก์และระบบไฟล์ได้แล้ว Ubuntu Core ใช้เวิร์กโฟลว์การกู้คืนของตนเองและไม่สามารถซ่อมแซมได้โดยการทำตามขั้นตอนของเดสก์ท็อปหรือ GRUB ของเซิร์ฟเวอร์แบบเดิมโดยไม่ตรวจสอบ

8. รีบูตเครื่องและตรวจสอบการซ่อมแซม

เมื่อแก้ไขสาเหตุที่รายงานแล้วและผ่านการทดสอบการติดตั้งแล้ว ให้รีบูตเครื่อง:

reboot

หลังจากเริ่มต้นระบบแล้ว ให้ตรวจสอบว่าโฮสต์สามารถใช้งานในโหมดผู้ใช้หลายคนได้ตามปกติ ระบบไฟล์ที่คาดหวังได้รับการเมานต์ และบริการที่สำคัญทำงานอยู่:

systemctl is-system-running
systemctl --failed
findmnt --target /

ตรวจสอบจุดเชื่อมต่อข้อมูลที่คาดหวังด้วยfindmnt /path/to/mountและยืนยันบริการที่สำคัญด้วยsystemctl status service-nameหากโหมดฉุกเฉินกลับมาทำงานอีกครั้ง ให้ตรวจสอบความล้มเหลวครั้งแรกของการบูตใหม่ แทนที่จะทำการซ่อมแซมซ้ำ การกู้คืนที่สำเร็จหมายความว่าเซิร์ฟเวอร์บูตตามปกติ และพื้นที่จัดเก็บและบริการที่จำเป็นพร้อมใช้งาน การที่เห็นหน้าจอพร้อมท์ล็อกอินเพียงอย่างเดียวไม่เพียงพอ

สำหรับพฤติกรรมของ systemd ในปัจจุบัน โปรดดูคู่มือหน่วยพิเศษ ของ Ubuntu เวอร์ชันของแพ็กเกจและเมนูการกู้คืนอาจแตกต่างกันไปตามรุ่นของ Ubuntu และแพลตฟอร์มที่ใช้งาน ดังนั้นโปรดใช้เอกสารประกอบสำหรับรุ่นที่ติดตั้งเมื่อคำสั่งหรือหน่วยแตกต่างกัน

ฝากความเห็น

วิธีการบูต Ubuntu Server เข้าสู่โหมดฉุกเฉิน: คู่มือการกู้คืนทีละขั้นตอน

วิธีการบูต Ubuntu Server เข้าสู่โหมดฉุกเฉิน: คู่มือการกู้คืนทีละขั้นตอน

ตรวจสอบสาเหตุที่ Ubuntu Server เข้าสู่โหมดฉุกเฉิน ซ่อมแซมปัญหาทั่วไปของไฟล์ /etc/fstab และปัญหาการเมานต์อย่างปลอดภัย ตรวจสอบระบบไฟล์ และตรวจสอบการรีบูตตามปกติ

แก้ไขปัญหาแอป Flatpak ไม่รองรับธีม GTK ใน Ubuntu 24.04

แก้ไขปัญหาแอป Flatpak ไม่รองรับธีม GTK ใน Ubuntu 24.04

แก้ไขปัญหาแอป Flatpak ที่ไม่รองรับธีม GTK บน Ubuntu 24.04 ตรวจสอบส่วนขยายธีม พอร์ทัล GTK การตั้งค่าสว่างและมืด และข้อจำกัดของชุดเครื่องมือแอป

วิธีการตั้งค่าซอฟต์แวร์การจัดการองค์กร Pardus (LIDER AHENK)

วิธีการตั้งค่าซอฟต์แวร์การจัดการองค์กร Pardus (LIDER AHENK)

กำหนดค่า LIDER AHENK บน Pardus ด้วยการตั้งค่าที่เน้นคุณภาพ: ตรวจสอบข้อกำหนดเบื้องต้น ติดตั้ง Lider ลงทะเบียนไคลเอ็นต์ Ahenk และตรวจสอบความถูกต้องของการจัดการ

วิธีเปิดใช้งานไดรเวอร์ NVIDIA บนเวิร์กสเตชัน Pardus 23

วิธีเปิดใช้งานไดรเวอร์ NVIDIA บนเวิร์กสเตชัน Pardus 23

เปิดใช้งานไดรเวอร์ NVIDIA บน Pardus 23 ด้วยโปรแกรมติดตั้งไดรเวอร์ NVIDIA ของ Pardus ตรวจสอบความเข้ากันได้ของ GPU รีบูตอย่างปลอดภัย ตรวจสอบไดรเวอร์ และแก้ไขปัญหาทั่วไป

Ubuntu Server 24.04 การติดตั้งแบบขั้นต่ำ เทียบกับการติดตั้งแบบมาตรฐาน: ผลการทดสอบประสิทธิภาพแสดงให้เห็นอะไรบ้าง

Ubuntu Server 24.04 การติดตั้งแบบขั้นต่ำ เทียบกับการติดตั้งแบบมาตรฐาน: ผลการทดสอบประสิทธิภาพแสดงให้เห็นอะไรบ้าง

เปรียบเทียบการใช้งานดิสก์ หน่วยความจำ เวลาบูตเครื่อง บริการ และประสิทธิภาพการทำงานจริงของ Ubuntu Server 24.04 เวอร์ชัน Minimal และ Standard ด้วยวิธีการวัดผลที่สามารถทำซ้ำได้

แก้ไขปัญหา “Zypper ถูกล็อกโดยกระบวนการอื่น” ใน SUSE Linux Enterprise

แก้ไขปัญหา “Zypper ถูกล็อกโดยกระบวนการอื่น” ใน SUSE Linux Enterprise

แก้ไขข้อผิดพลาดการล็อกของ Zypper ใน SLES อย่างปลอดภัย ระบุโปรเซส เลือกว่าจะรอหรือหยุดโปรเซส และแยกความแตกต่างระหว่างการล็อกธุรกรรมกับการล็อกแพ็กเกจ

Pardus XFCE เทียบกับ GNOME: การทดสอบประสิทธิภาพหน่วยความจำที่เป็นธรรมสามารถบอกอะไรคุณได้บ้าง และบอกอะไรคุณไม่ได้บ้าง

Pardus XFCE เทียบกับ GNOME: การทดสอบประสิทธิภาพหน่วยความจำที่เป็นธรรมสามารถบอกอะไรคุณได้บ้าง และบอกอะไรคุณไม่ได้บ้าง

เปรียบเทียบการใช้งานหน่วยความจำของ Pardus XFCE และ GNOME อย่างเป็นธรรม ดูว่าแหล่งข้อมูลอย่างเป็นทางการเวอร์ชัน 25.2 ยืนยันอะไรบ้าง วิธีการวัด RAM ที่ใช้งานได้ และเวอร์ชันใดที่เหมาะสมกับพีซีของคุณ

รีวิวระบบปฏิบัติการ HamoniKR: ลินุกซ์แห่งชาติของเกาหลีพร้อมสำหรับภาคธุรกิจแล้วหรือยัง?

รีวิวระบบปฏิบัติการ HamoniKR: ลินุกซ์แห่งชาติของเกาหลีพร้อมสำหรับภาคธุรกิจแล้วหรือยัง?

บทวิจารณ์เชิงปฏิบัติของ HamoniKR OS 8 Paektu สำหรับเดสก์ท็อปทางธุรกิจ ครอบคลุมถึงฐาน Ubuntu 24.04 การอ้างว่ามีการอัปเดตในปี 2034 เวิร์กโฟลว์ของเกาหลี และการทดสอบนำร่องในองค์กร

วิธีรีเซ็ตรหัสผ่าน Root ที่ลืมไปบน Harmonica OS (HamoniKR)

วิธีรีเซ็ตรหัสผ่าน Root ที่ลืมไปบน Harmonica OS (HamoniKR)

วิธีการรีเซ็ตรหัสผ่านผู้ดูแลระบบหรือรหัสผ่าน root ที่ลืมไปบนระบบปฏิบัติการ HamoniKR โดยใช้โหมดการกู้คืน GRUB พร้อมคำสั่งที่ได้รับการตรวจสอบแล้ว เคล็ดลับการแก้ไขปัญหา และข้อควรระวังเกี่ยวกับการเข้ารหัส

วิธีการสำรองข้อมูลและกู้คืนการตั้งค่าผู้ใช้บนระบบปฏิบัติการ HamoniKR

วิธีการสำรองข้อมูลและกู้คืนการตั้งค่าผู้ใช้บนระบบปฏิบัติการ HamoniKR

เรียนรู้วิธีสำรองข้อมูลการตั้งค่าผู้ใช้ HamoniKR ไปยังไดรฟ์ภายนอก ตรวจสอบความถูกต้องของไฟล์เก็บถาวร และกู้คืนการตั้งค่าเดสก์ท็อปและแอปพลิเคชันที่เลือกได้อย่างปลอดภัย