ในบางครั้งเราอาจจะทำให้ boot loader ที่เป็น grub หายไปเช่นกรณีของการลง OS สอง OS (Windows และ Linux) บนเครื่องเดียวกัน และเมื่อเจอปัญหาอาจมีความจำเป็นต้องลง Windows ใหม่ ซึ่งจะทำให้ boot loader ที่อยู่ในส่วนของ Master boot recored (mbr) หายไป จึงไม่สามารถ boot เข้าสู่ Linux ได้ทั้ง ๆ ที่ partition ที่เป็น Linux ยังคงมีอยู่ หรืออาจจะเกิดจากกรณีอื่น ๆ
ขั้นตอนการแก้ปัญหา
1. boot เครื่องจากแผ่น boot (แผ่นที่ใช้ติดตั้ง) ของ ubuntu
2. เมื่อขึ้นหน้าต่างของการติดตั้งให้กด Enter เหมือนขั้นตอนการติดตั้งปกติ
3. เลือกภาษา (Choose language) เลือกอะไรก็ได้ เพราะไม่ได้ติดตั้งจริง และไม่มีผลใด ๆ
4. ลือกคีย์บอร์อด (Select a keyboard layout) ให้เลือกเป็นค่าที่เห็นอยู่ก็แล้วกัน
5. ถ้าเจอขั้นตอน Configure the network หรือให้ตั้งชื่อ host ก็ไม่ต้องสนใจอะไรมากให้ Enter ไปเรื่อย ๆ
6. ที่สำคัญเมื่อถึงขั้นตอน Partition Disk ให้หยุดไว้ตรงนี้ก่อนครับอย่า Enter หรือเลือกรายการใด ๆ เดี๋ยวจะเป็นเรื่องใหญ่ แต่ให้กดคีย์ Ctl + Alt + F2 (ถ้าจะกลับหน้าเดิมใช้ Ctl + Alt + F1) และกดปุ่ม Enter เพื่อ Active console
7. จากนั้นจะได้หน้าต่าง shell prompt ขึ้นมา
8. ให้ทำการตรวจสอบตำแหน่ง Partition หลักที่เป็น Linux ด้วยคำสั่ง fdisk -l ซึ่งของแต่ละคนอาจจะต่างกัน แต่ของผมจะเป็น /dev/hd3
9. ให้ทำการ mount พาร์ติชันที่เป็น Linux ให้เป็น directory ใด ๆ ซึ่งในที่นี้ของเลือกเป็น /tmp/hda3 แต่ก่อนการ mount ต้องการทำการสร้าง directory ดังกล่าวก่อน และเพื่อความชัวร์ก็ให้ลองใช้คำสั่ง ls -l /tmp ดูก่อนว่า directory นี้ได้เคยมีการสร้างไว้แล้วยัง ซึ่งถ้าไม่มีจะได้ผลลัพท์ที่ว่างเปล่า
10. ทำการสร้าง directory ดังกล่าวด้วยคำสั่ง mkdir /tmp/hda3
11. ตรวจสอบผลการสร้างด้วยคำสั่ง ls -l /tmp ซึ่งจะมี directory ย่อยที่ชื่อ hda3
12. ทำการ mount ด้วยคำสั่ง mount -t ext3 /dev/hda3 /tmp/hda3
13. ตรวจสอบผลการ mount ด้วยคำสั่ง mount จะมีผลการ mount เป็น /dev/hda3 on /tmp/hda3 type ext3 (rw)
14. เปลี่ยนสถานะไปเป็น root ที่ hda3 ด้วยคำสั่ง chroot /tmp/hda3
15. แล้ว shell prompt ก็จะเปลี่ยน (ในที่นี้เปลี่ยนจาก ~# ไปเป็น sh-3.00# )
16. ติดตั้ง grub boot loader ด้วยคำสั่ง grub-install /dev/hda
17. ถ้าข้อความประมาณบรรทัดที่ 5 บอกว่า Installation finished. No error reported ก็แสดงว่าการติดตั้ง OK ครับ
18. reboot เครื่องด้วยคำสั่ง reboot
หมายเหตุ : ถ้าต้องการแกไขเมนูของ grub แก้ได้ที่ไฟล์ /boot/grub/menu.lst
จบครับ
ขั้นตอนการแก้ปัญหา
1. boot เครื่องจากแผ่น boot (แผ่นที่ใช้ติดตั้ง) ของ ubuntu
2. เมื่อขึ้นหน้าต่างของการติดตั้งให้กด Enter เหมือนขั้นตอนการติดตั้งปกติ
3. เลือกภาษา (Choose language) เลือกอะไรก็ได้ เพราะไม่ได้ติดตั้งจริง และไม่มีผลใด ๆ
4. ลือกคีย์บอร์อด (Select a keyboard layout) ให้เลือกเป็นค่าที่เห็นอยู่ก็แล้วกัน
5. ถ้าเจอขั้นตอน Configure the network หรือให้ตั้งชื่อ host ก็ไม่ต้องสนใจอะไรมากให้ Enter ไปเรื่อย ๆ
6. ที่สำคัญเมื่อถึงขั้นตอน Partition Disk ให้หยุดไว้ตรงนี้ก่อนครับอย่า Enter หรือเลือกรายการใด ๆ เดี๋ยวจะเป็นเรื่องใหญ่ แต่ให้กดคีย์ Ctl + Alt + F2 (ถ้าจะกลับหน้าเดิมใช้ Ctl + Alt + F1) และกดปุ่ม Enter เพื่อ Active console
7. จากนั้นจะได้หน้าต่าง shell prompt ขึ้นมา
8. ให้ทำการตรวจสอบตำแหน่ง Partition หลักที่เป็น Linux ด้วยคำสั่ง fdisk -l ซึ่งของแต่ละคนอาจจะต่างกัน แต่ของผมจะเป็น /dev/hd3
9. ให้ทำการ mount พาร์ติชันที่เป็น Linux ให้เป็น directory ใด ๆ ซึ่งในที่นี้ของเลือกเป็น /tmp/hda3 แต่ก่อนการ mount ต้องการทำการสร้าง directory ดังกล่าวก่อน และเพื่อความชัวร์ก็ให้ลองใช้คำสั่ง ls -l /tmp ดูก่อนว่า directory นี้ได้เคยมีการสร้างไว้แล้วยัง ซึ่งถ้าไม่มีจะได้ผลลัพท์ที่ว่างเปล่า
10. ทำการสร้าง directory ดังกล่าวด้วยคำสั่ง mkdir /tmp/hda3
11. ตรวจสอบผลการสร้างด้วยคำสั่ง ls -l /tmp ซึ่งจะมี directory ย่อยที่ชื่อ hda3
12. ทำการ mount ด้วยคำสั่ง mount -t ext3 /dev/hda3 /tmp/hda3
13. ตรวจสอบผลการ mount ด้วยคำสั่ง mount จะมีผลการ mount เป็น /dev/hda3 on /tmp/hda3 type ext3 (rw)
14. เปลี่ยนสถานะไปเป็น root ที่ hda3 ด้วยคำสั่ง chroot /tmp/hda3
15. แล้ว shell prompt ก็จะเปลี่ยน (ในที่นี้เปลี่ยนจาก ~# ไปเป็น sh-3.00# )
16. ติดตั้ง grub boot loader ด้วยคำสั่ง grub-install /dev/hda
17. ถ้าข้อความประมาณบรรทัดที่ 5 บอกว่า Installation finished. No error reported ก็แสดงว่าการติดตั้ง OK ครับ
18. reboot เครื่องด้วยคำสั่ง reboot
หมายเหตุ : ถ้าต้องการแกไขเมนูของ grub แก้ได้ที่ไฟล์ /boot/grub/menu.lst
จบครับ