代码艺术家
Code artist

很喜欢释迦牟尼佛的一句话:“无论你遇见谁,他都是你生命该出现的人,绝非偶然,他一定教会你一些什么”。

有问题 问我 问Google

修改linux多系统启动顺序

Ubuntu和XP双系统grub2默认启动项设置为XP

装了双系统后,在开机时总会有想让一个系统默认启动的时候,一般安装完Ubuntu和XP双系统后,开机时默认的是启动Ubuntu系统,但是当想让XP作为默
认启动的系统时怎么办呢?
在早期的Ubuntu系统中,启动管理器用的是grub,要修改开机默认启动的系统的,只要修改 /boot/grub/下的menu.lst就行了,但是在后来的
Ubuntu系统中采用的是grub2,而grub2已经没有menu.lst文件了。 www.2cto.com

grub2由三部分组成:/etc/default/grub文件 、 /etc/grub.d文件夹、和 /boot/grub/grub.cfg文件,电脑开机时的启动菜单界面用的是
grub.cfg文件。 怎么理解这三部分之间的关系呢?我觉得可以这样认为,在我们执行update-grub(更新启动菜单)命令后系统就会根据
/etc/default/grub文件 和 /etc/grub.d文件夹 的内容生成/boot/grub/目录下的 grub.cfg 文件,所以当 /etc/default/grub文件 和 /etc/grub.d文
件夹 被修改后,再执行update-grub, grub.cfg文件内容被更改,或者说是被更新吧。


/etc/default/grub文件 ----存有开机默认启动项、倒记时时间的内容
/etc/grub.d文件夹 -------存有各个启动项,如下

00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom

其中,30-os-prober是Windows系统的启动项, 当然10_linux就是Linux系统的启动项,注意到每个文件前面都有个数字,在执行 update-grub
后生成的grub.cfg文件中,数字越小项就会排在越前面,也就是在启动菜单里就会排越上。像上面的内容,在开机启动菜单 里,Linux系统就会排在最前
面。
下面就介绍三种修改的方法。

一、直接修改grub.cfg文件

[root~]# sudo gedit /boot/grub/grub.cfg

里面
### BEGIN /etc/grub.d/*** ###
menuentry "……" {
……
}
### END /etc/grub.d/*** ###
各代表每一启动项,位置越上,在启动菜单里就会越上。

第12行的 set default="0" 代表默认选择项,也就是开机时选择光标最初的选择项,注意项的下标是从0开始的,例如在grub.cfg中,xp系统所处的位置
是第五个启动项(简单的查 看方法是看它前面有几个menuentry "……"),那么就把set default="0" 改为 set default="4"

第54行(可能不一样)的set timeout=5 表示倒计时时间,5就表示5秒。

修改后,保存,重新后就可以看到效果了,此方面缺点是在update-grub后会恢复原样,而系统在安装更新时常常会执行update-grub命令,所以此修改方
法不推荐。
www.2cto.com
二、修改/etc/default/grub.d

[root~]# sudo cd /etc/grub.d
[root~]# ls

这时我们可以看到
00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom
(这是我系统里的,你的可能不一样)

[root~]# mv 30_os-prober 06_os-prober (30_os-prober重命名为06_os-prober)
[root~]# update-grub

这时打开grub.cfg会看到xp系统已经排在前面了,这种方法简单,且以后不管进行多少次update-grub,XP系统项总是会排在第一位,推荐使用。

三、修改/etc/default/grub

[root~]# sudo gedit /etc/default/grub

修改GRUB_DEFAULT=0 (选择光标默认处于的位置,像这样是处于第一位,如果XP系统是处于菜单项的第5位,就修改为GRUB_DEFAULT=4)
GRUB_TIMEOUT=5 (倒记时时间)

修改后,保存,重新update-grub, 此方法由于是直接修改选择光标的初始位置,而当xp项前面如果多了几项(像更新内核后),就不行了。此
方法不推荐。

如何更改默认项的等待时间

[root~]# sudo gedit /boot/grub/grub.cfg

将其中的 timeout =?设置为你要更改的值即可

posted @ 2015-02-17 12:08  Jason‘  阅读(3304)  评论(0编辑  收藏  举报