03 May 2016

建立 menu.lst 文件


要创建菜单,只需在 /boot/grub 中创建一个简单的文本文件 menu.lst。 如果将它放在正确位置,它将在 root GRUB 驱动器的 stage1stage2 文件的旁边。 这里是一个样本 menu.lst 文件,可以将它作为一个您的菜单的基础:

default 0
timeout 30
color white/blue blue/green

title=Boot Linux
root (hd0,4)
kernel /boot/bzImage root=/dev/hda5

title=Boot Linux using initrd
root (hd0,5)
kernel /boot/bzImage root=/dev/loop0 init=/initdisk.gz
initrd /initdisk.gz

title=Windows NT
root (hd0,3)
chainloader +1

GRUB 最好的优点之一就是其强健的设计 – 在不断使用它时请别忘了这点。 如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。 事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。

更改 menu.lst 文件


只有少数情况下,才需要将 GRUB 引导装入器重新安装到引导记录。 首先,如果更改GRUB root 分区的分区类型(例如,从ext2改成ReiserFS),则需要重新安装。 或者,如果更新/boot/grub中的stage1stage2文件,由于它们来自更新版本的GRUB`, 很有可能要重新安装引导装入器。其它情况下,可以不必理睬!

ubuntu 10.10 以后的版本,如果修改了grub.cfg 文件,需要执行 update-grub 命令才能起作用。

Ubuntu 10.04中,并没有menu.lst文件,文件名已经变成grub.cfg。更改操作如下:

  1. 备份原文件为grub.cfg.bak
    $sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
    
  2. 修改启动顺序
    $sudo gedit /boot/grub/grub.cfg
    

    在 打开顶文件中找到 set default="0",可以看出默认是第一项 (从0开始计数)。 然后找到以menuentry开头的所有行,下面是我顶电脑上该文件的内容,一共7行, 最后一行是Windows XP项。以我的文件内容为例,我只要set default="6"(注意:从0开始计数) 就可以把Windows XP改为默认启动系统。

    menuentry 'Ubuntu,Linux 2.6.32-22-generic'
    menuentry 'Ubuntu,Linux 2.6.32-22-generic (恢复模式)'
    menuentry 'Ubuntu,Linux 2.6.32-21-generic'
    menuentry 'Ubuntu,Linux 2.6.32-21-generic (恢复模式)'
    menuentry "Memory test (memtest86+)"
    menuentry "Memory test (memtest86+, serial console 115200)"
    menuentry "Microsoft Windows XP Professional (on /dev/sda1)"
    


blog comments powered by Disqus