Ubuntu 9.10 grub2的啟動配置文件grub.cfg2009-12-01 18:47升級到Ubuntu 9.10后,就要接觸grub2了,它和以前的版本有了很多的不同。這里是一個基礎(chǔ)教程。
一、grub2的啟動配置文件grub.cfg
grub2的啟動配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。
如果你是多系統(tǒng),有ubuntu和windows,那么用下面的命令,可以使grub2得到所以可以啟動的系統(tǒng)。
sudo update-grub
實(shí)際就是讓系統(tǒng)自己生成合適的grub.cfg文件。
這個grub.cfg文件是只讀屬性,so如果你要修改它,需要權(quán)限。
sudo chmod +w /boot/grub/grub.cfg
然后可以編輯grub.cfg了。
sudo gedit /boot/grub/grub.cfg
二、默認(rèn)系統(tǒng)和等待時間
1、set default=0
這是說從第一項(xiàng)啟動。每個啟動項(xiàng)都是以menuentry開始,menuentry后面“xxx”是啟動項(xiàng)名稱,然后{xxx}是啟動代碼。
### BEGIN /etc/grub.d/10_linux ###menuentry “Ubuntu, Linux2.6.31-14-generic” {recordfail=1if [ -n ${have_grubenv} ]; then save_envrecordfail; fiset quiet=1insmod ext2set root=(hd0,6)search –no-floppy–fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux/boot/vmlinuz-2.6.31-14-genericroot=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splashinitrd/boot/initrd.img-2.6.31-14-generic}menuentry “Ubuntu, Linux2.6.31-14-generic (recovery mode)” {recordfail=1if [ -n ${have_grubenv}]; then save_env recordfail; fiinsmod ext2set root=(hd0,6)search–no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux/boot/vmlinuz-2.6.31-14-genericroot=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro singleinitrd/boot/initrd.img-2.6.31-14-generic}### END /etc/grub.d/10_linux ######BEGIN /etc/grub.d/20_memtest86+ ###menuentry “Memory test (memtest86+)”{linux16 /boot/memtest86+.bin}menuentry “Memory test (memtest86+, serialconsole 115200)” {linux16 /boot/memtest86+.binconsole=ttyS0,115200n8}### END /etc/grub.d/20_memtest86+ ###### BEGIN/etc/grub.d/30_os-prober ###menuentry “Microsoft Windows XP Home Edition(on /dev/sda1)” {insmod ntfsset root=(hd0,1)search –no-floppy –fs-uuid–set 5c108a1c1089fd70drivemap -s (hd0) ${root}chainloader +1}ifkeystatus; thenif keystatus –shift; thenset timeout=-1elsesettimeout=10fielseif sleep$verbose –interruptible 3 ; thensettimeout=10fifi### END /etc/grub.d/30_os-prober ###### BEGIN/etc/grub.d/10_linux ###
menuentry “Ubuntu, Linux 2.6.31-14-generic” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
linux16 /boot/memtest86+.bin
}
menuentry “Memory test (memtest86+, serial console 115200)” {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set 5c108a1c1089fd70
drivemap -s (hd0) ${root}
chainloader +1
}
if keystatus; then
if keystatus –shift; then
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 ; then
set timeout=10
fi
fi
### END /etc/grub.d/30_os-prober ###
我的第五個啟動項(xiàng)是menuentry “Microsoft Windows XP Home Edition (on/dev/sda1)”,我要它默認(rèn)是以xp啟動,所以修改為setdefault=”4″。(hd0,1)表示第一塊硬盤的第一個分區(qū),我的Linux在(hd0,6)。
當(dāng)然,你也可以把你需要默認(rèn)啟動的系統(tǒng)放到最前面,那么就還是set default=0
2、set timeout=10
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
這里停留在grub選擇系統(tǒng)界面的時間就是10秒,即set timeout=10。
有時候我并不想等待這么久,我直接啟動xp,需要ubuntu時才按幾下Shift鍵進(jìn)入grub選擇系統(tǒng)界面。可以添加如下代碼:
if keystatus; then
if keystatus –shift; then
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 ; then
set timeout=10
fi
fi
三、其他詳細(xì)配置說明
請點(diǎn)擊此處
四、我的grub.cfg文件
安裝了xp和ubuntu,默認(rèn)啟動xp,在電腦啟動grub時,按Shift鍵進(jìn)入系統(tǒng)選擇界面。
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default=”4″
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640×480
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
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry “Ubuntu, Linux 2.6.31-14-generic” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
linux16 /boot/memtest86+.bin
}
menuentry “Memory test (memtest86+, serial console 115200)” {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set 5c108a1c1089fd70
drivemap -s (hd0) ${root}
chainloader +1
}
if keystatus; then
if keystatus –shift; then
set timeout=-1
else
set timeout=10
fi
else
if sleep$verbose –interruptible 3 ; then
set timeout=10
fi
fi
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the ‘exec tail’ line above.
### END /etc/grub.d/40_custom ###
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。