GRUB (บูตโหลดเดอร์) เสียหาย: สาเหตุและวิธีแก้ไข

สาเหตุหนึ่งที่ทำให้ Linux บูตไม่ขึ้นคือ GRUB (บูตโหลดเดอร์) เสียหาย เมื่อ GRUB มีปัญหา ระบบอาจค้างอยู่ที่ grub rescue แสดงเพียงหน้าจอดำ หรือไม่สามารถเข้าสู่ระบบปฏิบัติการได้เลย

บทความนี้จะอธิบายอาการที่พบบ่อย สาเหตุหลัก และวิธีซ่อมแซม GRUB เบื้องต้นด้วย Live USB


1. อาการเมื่อ GRUB เสียหาย

  • เปิดเครื่องแล้วขึ้นเพียง grub rescue
  • มีข้อความผิดพลาดเช่น “no such partition”
  • Linux ไม่เข้าสู่ระบบและค้างอยู่ที่หน้าจอดำ
  • หลังอัปเดตแล้วระบบบูตไม่ขึ้น

หากมีอาการเหล่านี้ เป็นไปได้ว่า GRUB หรือพาร์ทิชันที่เกี่ยวข้องกับการบูตเกิดความเสียหาย


2. สาเหตุที่พบบ่อย

  • การอัปเดตระบบถูกขัดจังหวะ
  • โครงสร้างพาร์ทิชันของดิสก์ถูกเปลี่ยน
  • การทำดูอัลบูตกับ Windows เขียนทับข้อมูลการบูต
  • พาร์ทิชัน EFI หรือ /boot เสียหาย
  • ดิสก์มีปัญหาจนไฟล์บูตหายไป

ปัญหานี้มักเกิดหลังจากปรับพาร์ทิชัน ติดตั้งระบบใหม่ หรืออัปเดตเคอร์เนล


3. เริ่มจากบูตด้วย Live USB

ถ้า Linux บูตไม่ขึ้นตามปกติ วิธีที่ปลอดภัยที่สุดคือบูตเครื่องด้วย Linux Live USB ก่อน จากนั้นเปิดเทอร์มินัลและตรวจสอบพาร์ทิชันที่มีอยู่

lsblk -f

ให้ตรวจสอบว่าพาร์ทิชันใดคือ Linux root และพาร์ทิชันใดคือ EFI


4. เมานต์ระบบแล้วซ่อม GRUB

ด้านล่างคือตัวอย่างขั้นตอนการกู้คืนทั่วไป โปรดเปลี่ยนชื่ออุปกรณ์ให้ตรงกับเครื่องของคุณ

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi   # ใช้เฉพาะระบบ UEFI

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

เมื่อเข้า chroot แล้ว ให้ติดตั้ง GRUB ใหม่

grub-install /dev/sda

ถ้าเป็นระบบ UEFI สามารถใช้คำสั่งนี้ได้เช่นกัน

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

จากนั้นสร้างการตั้งค่าการบูตใหม่

update-grub

เสร็จแล้วให้ออกจากระบบและรีบูต

exit
sudo reboot

5. หากไม่มีคำสั่ง update-grub

ในดิสทริบิวชันอย่าง Fedora มักใช้คำสั่ง grub2-mkconfig แทน ตัวอย่างเช่น:

grub2-mkconfig -o /boot/grub2/grub.cfg

ในระบบ UEFI ตำแหน่งไฟล์ปลายทางอาจต่างกันตามดิสทริบิวชัน


สรุป

GRUB เสียหายเป็นหนึ่งในสาเหตุที่พบบ่อยของการที่ Linux บูตไม่ขึ้น ในหลายกรณีไม่จำเป็นต้องติดตั้งระบบใหม่ทันที โดยปกติสามารถลองทำตามลำดับนี้ได้:

  • บูตด้วย Live USB
  • ตรวจสอบพาร์ทิชัน Linux และ EFI
  • เมานต์ระบบและเข้า chroot
  • ติดตั้ง GRUB ใหม่
  • สร้างการตั้งค่าการบูตใหม่

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

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *