Reinstall GRUB
posted on 29 Apr 2009 20:13 by pongtawat in adminบางทีเวลา clone disk ไปๆ มาๆ ทำให้ GRUB boot loader หายไป
วิธีเอาคืนมาจริงๆ ก็น่าจะง่ายๆ เพราะว่า Ubuntu Live CD เวลาเข้าไปใน Recovery mode แล้วมันมีเมนูใหน reinstall GRUB ด้วย แต่เอาเข้าจริงบางทีมันก็ใช้ไม่ได้ซะงั้น
วิธีแก้ไขก็คือใช้ Live CD boot เข้าไปที่ shell ของ root partition แล้วติดตั้ง GRUB ใหม่เอง
(ถ้าใช้ shell ของ installer ก็ต้อง export LD_LIBRARY_PATH=/target/lib ด้วย)
จากนั้นสั่ง
$ sudo grub
ตามด้วย
grub> find /boot/grub/stage1
เพื่อหาว่ามี grub boot loader อยู่ที่ไหนบ้าง ซึ่ง grub จะ list ออกมา สมมติว่าเป็น (hd0,0) เราก็สั่ง
grub> root (hd0,0)
เพื่อบอก grub ว่า root partition คือ (hd0,0) ตามด้วย
grub> setup (hd0)
เพื่อติดตั้ง grub ลงใน MBR ของ hd0
แล้วก็ออกจาก grub และ reboot ได้
grub> quit
ใน grub (hd0) หมายถึง harddisk ตัวแรก ส่วน (hd0,0) หมายถึง partition แรกของ harddisk ตัวแรก ซึ่งถ้าคิดแบบ device file ก็จะเป็น /dev/sda1 นั่นเอง