分类: LINUX
2011-12-22 18:28:35
转 自:
ubuntu 9.10
最近升级了新鲜出炉的ubuntu 9.10。发现启动菜单配置文本 /boot/grub/menu.lst 不见了。取而代之的是/boot/grub/grub.cfg,grub2不再使用menu.lst。
grub.cfg是个只读文件,首先要去掉只读:
sudo chmod 744 /boot/grub/grub.cfg
使用sudo gedit /boot/grub/grub.cfg 编辑配置:
### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="1"
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,8)
search --no-floppy --fs-uuid --set b9c8f0c6-f9c5-4eba-bdbb-db509bdea0bf
if loadfont /usr/share/grub/unicode.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
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,8)
search --no-floppy --fs-uuid --set b9c8f0c6-f9c5-4eba-bdbb-db509bdea0bf
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=b9c8f0c6-f9c5-4eba-bdbb-db509bdea0bf ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 3ac4bcbbc4bc7aa9
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
Ubuntu 10.04
1 sudo apt-get install startupmanager
2 sudo gedit /boot/grub/grub.cfg
set default="0" 中的 0 改成对应欲默认启动的操作系统的序号(从0开始) 。然后保存;
修改grub.cfg 文件来实现修改默认启动项应注意:当使用update-grub 命令或者系统升级、grub升级等,grub.cfg文件将被复原。需要重新修改。
如果懒于每次 sudo update-grub之后都要修改grub.cfg 文件,则可以进行如下操作:
用 sudo gedit /etc/grub.b/00_header 命令打开00_header 这个文件,找到 ser default ="${GRUB_DEFAULT}" 一行,将${GRUB_DEFAULT} 换成欲默认启动的操作系统的序号(从0开始),保存,再update-grub。这样每次update-grub之后生成的grub.cfg将自动改成我 们想要的样子。