grub2修改开机默认启动项

来源:互联网 发布:网站数据统计 编辑:程序博客网 时间:2024/04/29 20:36

装了Fedora 20 系统,想修改开机启动项,但是在网上的大多是关于grub的开机启动的配置,由于Fedora 20中采用的是grub2文件,跟之前的grub文件不一样,所以修改起来也特别费尽,这里在我不断百度和自己实践的情况下,我成功地修改了启动顺序。以下是经验介绍:

1、修改/boot/grub2/grub.cfg文件,其中的menuentry标签中的就是开机的时候,在屏幕上显示的待选择的系统。我们可以采用整体移动menuentry标签中的内容,来达到我们开机时希望在选择屏幕上看到的系统的排列顺序。例如以下是我的系统中的/boot/grub2/grub.cfg文件中的一个menuentry标签(注意是在一对大括号之间的东西):

menuentry 'Fedora, with Linux 3.11.10-301.fc20.x86_64' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11.10-301.fc20.x86_64-advanced-ffd1bd7c-37e8-4fbb-863b-26d901119d42' {load_videoset gfxpayload=keepinsmod gzioinsmod part_msdosinsmod ext2set root='hd0,msdos2'if [ x$feature_platform_search_hint = xy ]; then  search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos2 --hint-efi=hd2,msdos2 --hint-baremetal=ahci2,msdos2 --hint='hd0,msdos2'  ffd1bd7c-37e8-4fbb-863b-26d901119d42else  search --no-floppy --fs-uuid --set=root ffd1bd7c-37e8-4fbb-863b-26d901119d42filinux/boot/vmlinuz-3.11.10-301.fc20.x86_64 root=UUID=ffd1bd7c-37e8-4fbb-863b-26d901119d42 ro vconsole.font=latarcyrheb-sun16  rhgb quiet LANG=zh_CN.UTF-8initrd /boot/initramfs-3.11.10-301.fc20.x86_64.img}
以下是另一个menuentry标签:

menuentry 'Ubuntu 14.04 LTS (14.04) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-18e8efd6-f164-44f8-ae59-982fd93ea935' {insmod part_msdosinsmod ext2set root='hd0,msdos1'if [ x$feature_platform_search_hint = xy ]; then  search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 --hint='hd0,msdos1'  18e8efd6-f164-44f8-ae59-982fd93ea935else  search --no-floppy --fs-uuid --set=root 18e8efd6-f164-44f8-ae59-982fd93ea935filinux /boot/vmlinuz-3.13.0-24-generic root=UUID=18e8efd6-f164-44f8-ae59-982fd93ea935 ro locale=zh_CN quiet splash $vt_handoffinitrd /boot/initrd.img-3.13.0-24-generic}

这两个标签的上下顺序,就决定了他们在屏幕上显示的时候的顺序:Fedora在上,Ubuntu在下。我们可以完整得将这两大段内容的位置调换,他们的显示顺序也就被调换了。关于其中的每一行内容的意思,大家可以自己百度,网上有很多的grub.conf文件详解。


2、将我们要默认启动的项目放在第一个,就可以默认启动了。这里暂时我还没有找到其他的办法。


到这里就已经改好了。


=======================================================================================

以下小字部分是我在网上找到的,但是,在我的系统上并不适用,我就把它组织了以下,贴上来了,如果大家谁的机器上适用了,或者是找到了解决办法,麻烦评论共在下面,这样,大家就都能学习一下了。

修改/etc/default/grub文件,来最终达到修改默认启动项的目的。该文件中的内容如下(我的系统中):

GRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console"GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) rhgb quiet"GRUB_DISABLE_RECOVERY="true"

GRUB_TIMEOUT=5   -----------------------------这一项是修改开机时选择系统的等待时间,这里默认是5妙
GRUB_DEFAULT=saved  -----------------------这项的值可以是数字,也可以是saved,数字从0开始,表示启动菜单的光标位置,如果输入2就表示光标默认停留在第3项,这里的顺序就是/boot/grub2/grub.cfg文件中的各menuentry项的顺序,从0开始计数。如果值是saved,表示光标默认停留在上次成功启动的系统项上。我的系统这里是saved.

 

===================================================================================================


3、修改完后,保存,退出就可以了。


以上内容为本人亲测。


如有疑问,请发送邮件至1993wbb@sina.cn或者加QQ群274313939寻求解答

0 0