บันทึกการตั้งค่า default ของ grub menu บน ubuntu 8.04 (hardy)

ถ้าเพื่อนๆ ลงสอง OS ในเครื่องเดียวเหมือนกับผม พอดีลงไว้ทั้งวินโดว์และ ubuntu ครับ เพื่อนๆ น่าจะมีปัญหาเกี่ยวกับค่าเริ่มต้นของ grub menu ประมาณว่า อยากใช้วินโดว์แต่เปิดเครื่องปุ๊บเผลอแป๊บเดียวบู๊ตเข้า ubuntu ไปซะแล้วต้องมาเสียเวลารีสตาร์ทใหม่ ผมเลยเอาวิธีการตั้งค่า default ของ grub menu มาฝากเพื่อนๆ จะได้ไม่ต้องมานั่งรอรีสตาร์ทเครื่องใหม่ เมื่อเกิดเหตุการแบบนี้ครับ

ขั้นตอนการตั้งค่า default ของ grub menu

1. ไฟล์คอนฟิกของ grub menu จะเก็บไว้ใน /boot/grub ครับ ชื่อว่า menu.list เพื่อนๆ สามารถเข้าไปแก้ไขค่าต่างๆ ได้ที่ไฟล์นี้ โดยจะใช้ Text Editor ตัวไหนก็ได้ที่เพื่อนๆ ถนัด ส่วนผมขอเป็น nano ก็แล้วกันครับ

$ nano /boot/grub/menu.list

2. หลังจากที่เปิดขึ้นมาเพื่อนๆ ก็มองหาคำว่า default ครับ ซึ่งค่าของมันจะเป็นระบบปฎิบัติการที่มันจะบู๊ตหากผู้ใช้ไม่ได้เลือก

# menu.lst – See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify ‘saved’ instead of a number. In this case, the default entry
# is the entry saved with the command ‘savedefault’.
# WARNING: If you are using dmraid do not use ‘savedefault’ or your
# array will desync and will not let you boot your system.
default 0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

3. เมื่อเจอแล้วเรามาดูว่า ตัวเลขของ OS ที่เราตั้งการตั้งเป็นค่า default คือไร วิธีการง่ายๆก็คือให้เพื่อนๆ นับคำว่า title ที่ใช้เก็บค่าของแต่ละบรรทัดที่นำไปแสดงเป็น list ให้เราเลือกในเมนู grub นั่นเองครับ โดยเริ่มนับจาก 0 นะครับ อย่างเช่น ใน menu.list ของผมก็จะมีหน้าตาแบบนี้ครับ

title Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic ———> 0
root (hd0,5)
kernel /boot/vmlinuz-2.6.24-24-generic root=UUID=ee2f5747-a5e7-436a-b453-ce3ff6238318 ro quiet splash
initrd /boot/initrd.img-2.6.24-24-generic
quiet

title Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic (recovery mode) ———> 1
root (hd0,5)
kernel /boot/vmlinuz-2.6.24-24-generic root=UUID=ee2f5747-a5e7-436a-b453-ce3ff6238318 ro single
initrd /boot/initrd.img-2.6.24-24-generic

title Ubuntu 8.04.3 LTS, memtest86+ ———> 2
root (hd0,5)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems: ———> 3
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional ———> 4
root (hd0,0)
savedefault
makeactive
chainloader +1

จากตัวอย่าง ถ้าผมต้องการให้ค่า default เป็น Microsoft Windows XP Professional ผมก็ต้องซัตค่า default ในข้อ 2 เป็น 4 ครับ

โดยปกติแล้วระบบจะให้เวลาสำหรับให้เราตัดสินใจว่าจะใช้ OS ไหน ประมาณ 10 วินาทีครับ ถ้าเพื่อนๆ อยากให้รอนานกว่านี้ก็สามารถแก้ไขได้ที่ timeout ที่อยู่ถัดจากค่า default ซึ่งแสดงให้ดูในข้อ 2 ครับ

4. เมื่อเสร็จแล้วก็ save แล้วก็รีสตาร์ทครับ เพื่อนๆ ก็จะเห็นว่าค่า default นั้นเปลี่ยนไปตามที่เราเลือกไปแล้ว ก็เป็นอันว่าเสร็จขั้นตอนการตั้งค่า default ให้กับ grub menu ครับ ^^