debian: บันทึกการซ่อม grub

 

ทดลองซ่อม grub บนเดเบียน ข้อมูลคือ

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1        1217     9775521    c  W95 FAT32 (LBA)
/dev/hda2   *        1218        1230      104422+  83  Linux
/dev/hda3            1231        6769    44492017+   5  Extended
/dev/hda5            1231        1293      506016   82  Linux swap / Solaris
/dev/hda6            1294        3118    14659281   83  Linux
/dev/hda7            3119        4335     9775521   83  Linux
/dev/hda8            4336        5552     9775521   83  Linux
/dev/hda9            5553        6769     9775521   83  Linux

/boot คือ /dev/hda2 และ / คือ /dev/hda6

ขั้นตอนมีดังนี้

  1. ใส่แผ่นติดตั้งเดเบียน
  2. เมื่อบูตจนถึงขั้นตอนติดตั้งเครือข่าย ให้กด ALT+F2 เพื่อออกมาสู่เชลล์
  3. ตรวจดูพาร์ติชั่นเก่าด้วยคำสั่ง
    # fdisk -l
  4. เตรียมการ chroot ไปยังพาร์ติชั่นของเดเบียนที่เราจะซ่อม
    # mkdir /mnt/root
    # mount /dev/ide/host0/bus0/target0/lun0/part6 /mnt/root

    ถ้าเป็นดิสก์แบบ sata เปลี่ยนจาก /dev/ide/... เป็น /dev/scsi/...
    lun0 คือ hda
    part6 คือ /dev/hda6 หรือ (hd0,5) ของ grub

  5. chroot ไปยังพาร์ติชั่นของเดเบียน
    # chroot /mnt/root
  6. ถ้าแยกบูตพาร์ติชั่นตามตัวอย่าง ต้องเมานต์ /boot ในขั้นตอนนี้ด้วย
  7. # mount /dev/hda2 /boot
    ถ้าเป็น sata เปลี่ยนจาก hda2 เป็น sda2

  8. ซ่อม grub
    # grub-install /dev/hda
    ถ้าเป็น sata เปลี่ยนจาก hda เป็น sda
  9. เรียบร้อยแล้ว รีบูตได้เลย
    # reboot

เอามาจาก nixCraft - Restore Debian Linux Grub boot loader