การเปลี่ยนลำดับการบูตของ GRUB2
GRUB2 ไม่มีเมนูให้แก้ไขเหมือนเดิมแล้วครับ การแก้ไขใดๆ ต้องกระทำผ่าน GRUB เท่านั้นครับ
หากลองเปิด /boot/grub/grub.cfg ดู จะพบข้อความประมาณนี้
set default=0 จะหมายถึงลำดับที่ ของ OS ที่เป็นค่าเริ่มต้น ซึ่งลำดับ 0 หมายถึงรายการแรกของ OS ที่พบ menuentry "Ubuntu, linux 2.6.30-8-generic"
ให้สังเกตุดูที่ลำดับที่ของ OS ที่ต้องการจะให้ Boot นะครับ ในที่นี้คือ menuentry "Windows NT/2000/XP (loader) (on /dev/sda1)" ซึ่งเป็นเมนูลำดับที่ 4 (ลำดับที่ของเมนูจะเริ่มจาก 0)
ขั้นตอนต่อไป เราจะมาทำการแก้ไขเมนูของ GRUB2 กัน
1.เปิดไฟล์
ด้วย gEdit (ต้องเป็น root เท่านั้นนะครับ)
คุณจะพบข้อความประมาณนี้
กำหนดค่า ตามที่อ่านได้จากตอนแรกเพื่อกำหนดลำดับการ Boot
กำหนดช่วงเวลารอคอยของเมนูของ GRUB (ไม่น้อยกว่า 1)
ขนาดหน้าจอของ GRUB
หลังจากแก้ไขค่าแล้วให้ Save
ขั้นตอนต่อไปจะเป็นการสั่งให้ GRUB2 ทำการแก้ไข
2.เปิด Terminal พิมพ์คำสั่งด้านล่าง แล้วกด Enter
จะมีข้อความอัปเดท GRUB แสดงขึ้นมา หลังจากเสร็จเรียบร้อยแล้ว สามารถดูผลงานได้ที่ /boot/grub/grub.cfg ครับ
หากลองเปิด /boot/grub/grub.cfg ดู จะพบข้อความประมาณนี้
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set default=0
set timeout=5
set root=(hd1,8)
search --fs-uuid --set 93d5d78f-42eb-4d8a-8806-adb40171f5fc
if loadfont /usr/share/grub/ascii.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, linux 2.6.30-8-generic" {
set root=(hd1,8)
search --fs-uuid --set 93d5d78f-42eb-4d8a-8806-adb40171f5fc
linux /boot/vmlinuz-2.6.30-8-generic root=UUID=93d5d78f-42eb-4d8a-8806-adb40171f5fc ro quiet splash
initrd /boot/initrd.img-2.6.30-8-generic
}
menuentry "Ubuntu, linux 2.6.30-8-generic (recovery mode)" {
set root=(hd1,8)
search --fs-uuid --set 93d5d78f-42eb-4d8a-8806-adb40171f5fc
linux /boot/vmlinuz-2.6.30-8-generic root=UUID=93d5d78f-42eb-4d8a-8806-adb40171f5fc ro single
initrd /boot/initrd.img-2.6.30-8-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows NT/2000/XP (loader) (on /dev/sda1)" {
set root=(hd0,1)
chainloader +1
}
menuentry "Ubuntu 9.04, kernel 2.6.28-13-generic (on /dev/sda7)" {
set root=(hd0,7)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=f0bc8483-f70d-4689-99bb-93a3e7eeb626 ro quiet splash
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Ubuntu 9.04, kernel 2.6.28-13-generic (recovery mode) (on /dev/sda7)" {
set root=(hd0,7)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=f0bc8483-f70d-4689-99bb-93a3e7eeb626 ro single
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Ubuntu 9.04, memtest86+ (on /dev/sda7)" {
set root=(hd0,7)
linux /boot/memtest86+.bin
}
menuentry "Ubuntu 9.04, kernel 2.6.28-13-generic (on /dev/sdb5)" {
set root=(hd1,5)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=9470ea92-8b37-4d18-8132-925d8f1aa888 ro quiet splash
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Ubuntu 9.04, kernel 2.6.28-13-generic (recovery mode) (on /dev/sdb5)" {
set root=(hd1,5)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=9470ea92-8b37-4d18-8132-925d8f1aa888 ro single
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Ubuntu 9.04, memtest86+ (on /dev/sdb5)" {
set root=(hd1,5)
linux /boot/memtest86+.bin
}
menuentry "Ubuntu 9.04 unmodified 2.6.28-13-generic (sda7) (on /dev/sdb5)" {
set root=(hd1,5)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=f0bc8483-f70d-4689-99bb-93a3e7eeb626 ro quiet splash
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Ubuntu 9.04, unmodified 2.6.28-13-generic (recovery mode) (sda7) (on /dev/sdb5)" {
set root=(hd1,5)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=f0bc8483-f70d-4689-99bb-93a3e7eeb626 ro single
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Kubuntu 9.04, kernel 2.6.28-13-generic (on /dev/sdb7)" {
set root=(hd1,7)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=90413117-5470-4897-bf4a-2f34e11736b7 ro quiet splash
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Kubuntu 9.04, kernel 2.6.28-13-generic (recovery mode) (on /dev/sdb7)" {
set root=(hd1,7)
linux /boot/vmlinuz-2.6.28-13-generic root=UUID=90413117-5470-4897-bf4a-2f34e11736b7 ro single
initrd /boot/initrd.img-2.6.28-13-generic
}
menuentry "Kubuntu 9.04, memtest86+ (on /dev/sdb7)" {
set root=(hd1,7)
linux /boot/memtest86+.bin
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file is an example on how to add custom entries
### END /etc/grub.d/40_custom ###
set default=0 จะหมายถึงลำดับที่ ของ OS ที่เป็นค่าเริ่มต้น ซึ่งลำดับ 0 หมายถึงรายการแรกของ OS ที่พบ menuentry "Ubuntu, linux 2.6.30-8-generic"
ให้สังเกตุดูที่ลำดับที่ของ OS ที่ต้องการจะให้ Boot นะครับ ในที่นี้คือ menuentry "Windows NT/2000/XP (loader) (on /dev/sda1)" ซึ่งเป็นเมนูลำดับที่ 4 (ลำดับที่ของเมนูจะเริ่มจาก 0)
ขั้นตอนต่อไป เราจะมาทำการแก้ไขเมนูของ GRUB2 กัน
1.เปิดไฟล์
/etc/default/grub
ด้วย gEdit (ต้องเป็น root เท่านั้นนะครับ)
คุณจะพบข้อความประมาณนี้
# This file is sourced by update-grub, and its variables are propagated
# to its children in /etc/grub.d/
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
กำหนดค่า ตามที่อ่านได้จากตอนแรกเพื่อกำหนดลำดับการ Boot
GRUB_DEFAULT=0
กำหนดช่วงเวลารอคอยของเมนูของ GRUB (ไม่น้อยกว่า 1)
GRUB_TIMEOUT=5
ขนาดหน้าจอของ GRUB
GRUB_GFXMODE=640x480
หลังจากแก้ไขค่าแล้วให้ Save
ขั้นตอนต่อไปจะเป็นการสั่งให้ GRUB2 ทำการแก้ไข
2.เปิด Terminal พิมพ์คำสั่งด้านล่าง แล้วกด Enter
sudo update-grub
จะมีข้อความอัปเดท GRUB แสดงขึ้นมา หลังจากเสร็จเรียบร้อยแล้ว สามารถดูผลงานได้ที่ /boot/grub/grub.cfg ครับ