grub2 默认启动项的更改
点击打开链接
装了双系统后,在开机时总会有想让一个系统默认启动的时候。一般安装完 Linux/Windows 双系统后,开机时默认的是启动 Linux,但是当想让 Windows 作为默认启动的系统时怎么办呢?
在早期的 Linux系统中,启动管理器用的是 Grub,要修改开机默认启动的系统的,只要修改 /boot/grub/menu.lst 就行了,但是在后来的各种Linux中采用的是 Grub2,已经没有menu.lst文件了。
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文件
里面
### BEGIN /etc/grub.d/*** ###
menuentry "……" {
……
}
### END /etc/grub.d/*** ###
各代表每一启动项,位置越上,在启动菜单里就会越上。
第 12行(可能不一样)的 set default="0" 代表默认选择项,也就是开机时选择光标最初的选择项,注意项的下标是从0开始的,例如 在 grub.cfg 中,Windows 所处的位置是第五个启动项(简单的查看方法是看它前面有几个menuentry "……"),那么就把 set default="0" 改为 set default="4"
第54行(可能不一样)的set timeout=5 表示倒计时时间,5就表示5秒。
修改后,保存,重新后就可以看到效果了。此方法缺点是,在 update-grub 后会恢复原样,而系统在安装更新时常常会执行 update-grub 命令,所以此修改的方法不推荐。
二、修改 /etc/default/grub.d
ls
这时我们可以看到
00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom
(上面每种系统的显示都不一样的,不过下面操作是一样的)
mv 30_os-prober 06_os-prober (30_os-prober重命名为06_os-prober,前面的编号要小于你的linux编号)
update-grub
这时打开 grub.cfg 会看到 Windows 已经排在前面了。这种方法简单,且以后不管进行多少次 update-grub,Windows项总是会排在第一位,推荐使用。
三、修改 /etc/default/grub
sudo -i
gedit /etc/default/grub
修改 GRUB_DEFAULT=0 (选择光标默认处于的位置,像这样是处于第一位,如果 Windows 是处于菜单项的第5位,就修改为GRUB_DEFAULT=4)
GRUB_TIMEOUT=5 (倒记时时间)
修改后,保存,重新 update-grub。此方法由于是直接修改选择光标的初始位置,而当 Windows项前面如果多了几项(像更新内核后),就不行了。故此方法不推荐。
装了双系统后,在开机时总会有想让一个系统默认启动的时候。一般安装完 Linux/Windows 双系统后,开机时默认的是启动 Linux,但是当想让 Windows 作为默认启动的系统时怎么办呢?
在早期的 Linux系统中,启动管理器用的是 Grub,要修改开机默认启动的系统的,只要修改 /boot/grub/menu.lst 就行了,但是在后来的各种Linux中采用的是 Grub2,已经没有menu.lst文件了。
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文件
sudo -i
注意:这里要输入密码,密码不显示的哦,直接输入就是了
里面
### BEGIN /etc/grub.d/*** ###
menuentry "……" {
……
}
### END /etc/grub.d/*** ###
各代表每一启动项,位置越上,在启动菜单里就会越上。
第 12行(可能不一样)的 set default="0" 代表默认选择项,也就是开机时选择光标最初的选择项,注意项的下标是从0开始的,例如 在 grub.cfg 中,Windows 所处的位置是第五个启动项(简单的查看方法是看它前面有几个menuentry "……"),那么就把 set default="0" 改为 set default="4"
第54行(可能不一样)的set timeout=5 表示倒计时时间,5就表示5秒。
修改后,保存,重新后就可以看到效果了。此方法缺点是,在 update-grub 后会恢复原样,而系统在安装更新时常常会执行 update-grub 命令,所以此修改的方法不推荐。
二、修改 /etc/default/grub.d
sudo -i
注意:这里要输入密码,密码不显示的哦,直接输入就是了
cd /etc/grub.dls
这时我们可以看到
00_header 10_linux 30-os-prober README
05_debian_theme 20_memtest86+ 40_custom
(上面每种系统的显示都不一样的,不过下面操作是一样的)
mv 30_os-prober 06_os-prober (30_os-prober重命名为06_os-prober,前面的编号要小于你的linux编号)
update-grub
这时打开 grub.cfg 会看到 Windows 已经排在前面了。这种方法简单,且以后不管进行多少次 update-grub,Windows项总是会排在第一位,推荐使用。
三、修改 /etc/default/grub
sudo -i
gedit /etc/default/grub
修改 GRUB_DEFAULT=0 (选择光标默认处于的位置,像这样是处于第一位,如果 Windows 是处于菜单项的第5位,就修改为GRUB_DEFAULT=4)
GRUB_TIMEOUT=5 (倒记时时间)
修改后,保存,重新 update-grub。此方法由于是直接修改选择光标的初始位置,而当 Windows项前面如果多了几项(像更新内核后),就不行了。故此方法不推荐。