在Ubuntu 9.10之前的启动配置文件还是menu.lst,到了Ubuntu9.10之后就更名为grub.cfg了,但是这个文件的内容变更并不是很大。grub.cfg(menu.lst)文件记录着一些启动配置信息,在这里介绍一些简单的设置规则。
打开命令行,使用
sudo gedit /boot/grub/grub.cfg(或者
sudo gedit /boot/grub/menu.lst)打开grub.cfg文件。
在
### BEGIN /etc/grub.d/00_header ###后面的部分主要记录了一些启动默认信息,我们分段来解释。
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
default="0"表示默认从启动项中的第一个系统进行启动(就是Ubuntu),这里顺序是从0开始。如果你想把启动项中的第五个选项作为默认的启动项,那么这里把数字0更改为4就可以了。
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=2
else后面的timeout是指等待时间,以秒作为单位。
在
### BEGIN /etc/grub.d/10_lupin ###后面的部分记录着启动选项的信息。例如:
menuentry "Ubuntu, Linux 2.6.32-22-generic" {
insmod ntfs
set root=’(hd0,5)’
search –no-floppy –fs-uuid –set 0e9ca6229ca60475
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz-2.6.32-22-generic root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash
initrd /boot/initrd.img-2.6.32-22-generic
}
这是第一个启动选项,第一行显示的是Ubuntu的名称Ubuntu, Linux 2.6.32-22-generic,引号内的内容可以任意修改,insmod ntfs是载入模块信息,例如insmod jpeg可以添加jpg支持,如要使用png或tga文件做背景,加上insmod png或insmod tga。set root=’(hd0,5)’是记录系统从哪个分区启动,而这里是物理意义上的顺序,你可以通过在终端中输入df命令查看挂载分区信息。这里hd0是指第一块物理硬盘,顺序也是从0开始,后面的5是指第6个分区,顺序也是从0开始排。我们可以利用这个信息进行添加Windows启动项,比如我们可以添加
title Windows 7
root (hd0,0)
makeactive
chainloader +1
表示从第一块硬盘的第一个分区进行启动Windows 7系统。
linux /boot/vmlinuz-2.6.32-22-generic root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash
在这句中,splash表示闪屏,如果你不喜欢开机看到那个Ubuntu的logo界面,你可以删除splash这个单词,这样Ubuntu就不会以文字模式启动。
最后附加的一个Windows 7的默认启动选项:
menuentry "Windows 7 (on /dev/sda1)" {
insmod ntfs
set root=’(hd0,1)’
search –no-floppy –fs-uuid –set 44c07536c0752f74
chainloader +1
}
这里的search –no-floppy –fs-uuid –set 44c07536c0752f74是设定uuid=****的分区为root,和上句set root=’(hd0,1)’重复,可删除。
参考:http://www.nenew.net/ubuntu-grub-cfg.html