Ubuntu的启动配置文件grub.cfg(menu.lst)设置指南

 

奶牛用的第一个ubuntu版本是9.04,那时候启动配置文件还是menu.lst,到了ubuntu9.10的时候就更名为grub.cfg了,ubuntu 10.04依旧沿用的是grub.cfg,但是这个文件的内容变更并不是那么大。在ubuntu中,grub.cfg(menu.lst)就相当于windows系统下的boot.inf文件,记录着一些启动配置信息,在这里奶牛为大家介绍一些简单的设置规则。

打开命令行, 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的名称Ubuntu, Linux 2.6.32-22-generic,引号内的内容可以任意修改,    insmod ntfs是载入模块信息,例如insmod jpeg可以添加jpg支持,如要使用png或tga 文件做背景,加上 insmod png或insmod tga,。set root=’(hd0,5)’这里很关键,这里是记录系统从那个分区启动,这里的顺序可能与你在windows下看到的顺序有所不同,因为windows下系统分区顺序是根据分区号来的,而分区号可以任意更改,而这里是物理意义上的顺序,你可以通过在终端中输入df命令查看挂载分区信息。这里hd0是指第一块物理硬盘,顺序也是从0开始,后面的5是指第6个分区,顺序也是从0开始排。讲到这里,那些在安装完ubuntu之后却没有windows启动选项的朋友们应该找到些思路了吧,对,我们就可以利用这个信息进行添加,比如我们可以添加
title        Windows XP
root        (hd0,0)
makeactive
chainloader    +1
表示从第一块儿硬盘的第一个分区进行启动widows xp系统。

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)’重复,可删除。

 

grub.cfg(menu.lst)的设置奶牛就介绍到这里,希望对大家有所帮助。

8 条评论

  1. 呃 相当与Vista之前的Windows版本的 boot.ini 不是 boot.inf
    uuid那个地方没有试过还

  2. 谢谢!
    我一开始还以为系统没装好呢!

    :)

  3. 我是在Windows 7下用wubi.exe安装的,安装在来E盘,这种安装效果像windows下的软件一样,可以简单的卸载!但是经常安装成功后第一次可以用,第二次就不行了,引导出现错误!不能启动,出现下面东西:
    Gave up waiting for root device . Common Problems;
    -Boot args (cat /proc/cmdline)
    -Check rootdelay =(did the system wait long enough?)
    -Check root =(did the system wiat for the right device?)
    -Missing modules (cat /proc/modules; ls /dev)
    ALERT! /dev/sdb6 does not exist. Dropping to a shell!

    请问,这这么解决啊?????

  4. 我是在Windows 7下用wubi.exe安装的,版本是Ubuntu10.10,安装在来E盘,这种安装效果像windows下的软件一样,可以简单的卸载!但是经常安装成功后第一次可以用,第二次就不行了,引导出现错误!不能启动,出现下面东西:
    Gave up waiting for root device . Common Problems;
    -Boot args (cat /proc/cmdline)
    -Check rootdelay =(did the system wait long enough?)
    -Check root =(did the system wiat for the right device?)
    -Missing modules (cat /proc/modules; ls /dev)
    ALERT! /dev/sdb6 does not exist. Dropping to a shell!

    请问,这这么解决啊?????

  5. 这里写错了,博主更正一下:打开命令行, sudo gedit /boot/grub/grub.cfg (or sudo gedit /boot/grub/menu.lst)打开grub.cfg文件

    • 请问错在何处.在grub1里面,是以menu.lst记录grub的配置信息的,grub2后更名为grub.cfg.有错误么?

      • 麻烦您仔细看清楚了再说话好吗?您boot前面没有根目录斜杠不是错吗?态度好点很难做到吗?

        • 对不起,刚看出来了,我还以为你说的我说的文件有错呢.呃,奶牛没有冒犯的意思呃,奶牛还用了请问两个字哦,呃,那个是正常疑问路,木有感情色彩的,勿怪. :wx

:wx :k :good :fd :gz more »