วิธี Dual boot บน Ubuntu 9.10 Karmic Koala หลังลงวินโดว์ทับ

เป็นปัญหาที่ชวนปวดหัวเลยทีเดียว สำหรับการ set boot loader ของ Ubuntu ตัวล่าสุด Karmic Koala ที่เปลี่ยน Grub มาใช้เวอร์ชั่นใหม่ Grub2

อย่างที่ทราบกัน ถ้าเราลง Ubuntu หลังลงวินโดว์ (หรือลง ubuntu ผ่าน Wubi) ตัว grub ก็จะจัดการ boot loader เป็นเมนูให้อย่างสวยงาม แต่ถ้าเราลง Window (ไม่ว่าจะ Xp, vista,7) ตัวบูตของ Windows ก็จะไปตี grub แตกกระจาย แย่งพื้นที่ boot sector มาทำกินอย่างไร้ยางอาย

จากแต่เดิม ผมสามารถเข้าไปเซ็ตได้ด้วยการใช้แผ่น LiveCD ตามวิธีนี้ ….. อ่าน

นั่นคือวิธีที่ทำ dual boot หลังลงวินโดว์ทับ สำหรับลินุกซ์สายพันธุ์อื่นหรือที่ Ubuntu ต่ำกว่า Koala ลงไป แต่ปัญหาเกิดขึ้น (อีกตามเคย) เมื่อ Koala มันพยายามทำตัวอัพเกรดไปใช้ Grub2 (หรือ 1.9 กว่าๆก็ไม่แน่ใจ) แล้วทุกอย่าง ไม่ว่าจะที่ตั้ง ชื่อไฟล์ grub หรือแม้แต่ pattern ของ grub ก็เปลี่ยนไปโดยสิ้นเชิง

หลังจากผมนั่งโง่งมไปอยู่หลายวัน ก็พบว่า ไฟล์ grub ที่เป็นเมนู boot loader มันเปลี่ยนที่ตังไปอยู่แถวๆ
/boot/grub/grub.cfg

ทันทีที่คุณเปิดเข้าไปครั้งแรก อย่าพึ่งตกใจไปเมื่อเจอ if-else !!! (ตอนแรกผมกดปิดไปทันทีที่เห็น if เลย :p) เลื่อนลงมาข้างล่างครับ แล้วจะพบสิ่งที่มนุษย์เดินดินอย่างพวกเราพอจะอ่านได้บ้าง

จะเห็นอะไรประมาณนี้

menuentry “Ubuntu, Linux 2.6.31-15-generic-pae” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,2)
search –no-floppy –fs-uuid –set 7adeb6bd-a663-424a-a755-343b688a726f
linux /boot/vmlinuz-2.6.31-15-generic-pae root=UUID=7adeb6bd-a663-424a-a755-343b688a726f ro quiet splash
initrd /boot/initrd.img-2.6.31-15-generic-pae

คุณไ่ม่ต้องไปเข้าใจหรอกครับว่ามันแปลว่าอะไร (เพราะผมก็ไม่เข้าใจ เหมือนกัน :p) แต่ถ้าคุณต้องการเปลี่ยนชื่อ boot OS ของคุณให้มันเท่ๆก็ไปแก้แถวๆ …

menuentry “Bla Bla Blaaaaa …. ”

หลังจากเว้นเว้อไปเยอะ หลังจากลงวินโดว์ไปแล้ว ถ้าคุณต้องการเรียก grub ของคุณกลับมาก็ทำสิ่งนี้ ….
1. ใส่ แผ่น Live CD ของ ลินุกซ์สายพันธุ์อะไรก็ได้
2. เข้า terminal
3. sudo -i หรือ sudo su เพื่อเข้าเป็น root
4. แล้วก็โยนสิ่งนี้เข้าไป เพื่อกู้ grub menu กลับคืนมา

mount /dev/sda2 /mnt (sda2 = drive ที่มีลินุกซ์อยู่)
mount /dev/sda2 /mnt/boot (sda2 = drive ที้ต้องการให้ boot)
grub-install –root-directory=/mnt/ /dev/sda

สั่ง reboot เครื่องเลย แล้วเราก็จะได้เมนู grub กลับมา แต่ก็จะพบว่า Window หายไป (งานเข้าอีกแล้ว) ฉะนั้นเราก็จะกู้มันกลับมา

5. เข้า Ubuntu ไปก่อน เข้า terminal ตามด้วยคำสั่ง
sudo update-grub

เป็นอันเสร็จพิธี

แต่ถ้าคุณ อยากเซ้ต grub ด้วยท่ายากๆ ก็ลองแบบนี้ดู … ท่ายากๆ

เครดิตความช่วยเหลืออื่นๆ :
Disappearing Staircase
GRUB2 experiences with Ubuntu 9.10 (Karmic Koala)
[SOLVED] GRUB2 and windows 7

3 comments

    1. Actually i’m also dont understand the mechanism of the grub2 installer

      For my case, I have only 1 Karmic Koala and Window 7 so the boot partition and linux partition would be the same drive.

      I guess that… the first and second mount command is needed when you have multiple Linux OS.

      Hope that this comment would help you.

      P.S. I add another approach. It’s may useful to you
      http://www.justlinux.com/forum/showthread.php?t=152790

Leave a comment