霜天部落 | 关注LAMP高性能、高并发架构的设计与研究

修改ubuntu grub启动菜单的顺序

如果在Windows XP下安装Ubuntu. 启动菜单中默认是Ubuntu启动。通过下面的操作可把Windows XP改为默认启动系统。

Ubuntu 10.04之前的版本修改:

在ubuntu系统中打开终端,输入:sudo gedit/boot/grub/menu.lst
找到set default = 0这一行,意即启动排行第一的操作系统,现在对其进行修改,将其值改到与Windows 相对应,如果Windows 对应的索引号为4,那么就将default后的值改为4,以后启动的默认系统即为Windows了。

在Ubuntu 10.04之后的版本:

在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开始计数)。然后看一下Windows XP的所属的序号,加入windows的序号是6,只要设置set default=”6″(注意:从0开始计数)就可以把Windows XP改为默认启动系统。

上面的修改方法有一些缺陷,就是当使用update-grub 命令或者系统升级、grub升级时,grub.cfg文件将被复原,需要重新修改。

于是,我找到了终极解决方案:

在/etc/grub.d 目录中的脚本文件的文件名都是以数字开头,这确定了在执行update-grub 时各文件内容被执行的顺序。

1. 用 sudo nautilus 命令,以root权限打开文件浏览器。然后找到30_os-prober这个文件,把 30_os-prober这个文件名的数字30改为05到10之间的数字即可(没多少可选06、07、08、09),比如改为06_os-prober,这样创建出来的grub.cfg内的菜单项,windows的排序就会自动在ubuntu之前

2. 运行 sudo update-grub 命令,这样在grub.cfg中windows系统会自动排在第一个位置。