Fedora/Ubuntu中修改GRUB启动项顺序


查看启动项

    # cat   /boot/grub2/grub.cfg | grep menuentry    (Fedora)

    # cat   /boot/grub/grub.cfg | grep  menuentry    (Ubuntu)

输出:

    menuentry 'Fedora Linux, with Linux 3.2.3-2.fc16.i686.PAE' --class fedora --class gnu-linux --class gnu --class os {
    …..
    menuentry "Windows 8 (loader) (on /dev/sdb1)" --class windows --class os {


设置默认启动项(单引号或双引号内的内容)

    设置windows为默认
    # grub2-set-default  "Windows 7 (loader) (on /dev/sda1)"

    设置Fedora为默认
    # grub2-set-default 'Fedora Linux, with Linux 3.2.3-2.fc16.i686.PAE'

验证默认启动项
    
    # grub2-editenv list


输出:
    saved_entry=Windows 7 (loader) (on /dev/sda1)
或  saved_entry= Fedora Linux, with Linux 3.2.3-2.fc16.i686.PAE


Ubuntu下的图形化的GRUB 2管理程序


    Grub Customizer 是GRUB2的图形化管理程序。目前,它只提供GRUB2菜单选项编辑功能:重新排序、重命名或增加/删除选项。Grub Customizer会改变boot.cfg文件,所以如果你运行”sudo update-grub”,Grub Customizer作出的改变也不会被重置。
    虽然Grub Customizer提供的功能很简单,但是Ubuntu中缺乏一个简单易用图形化的GRUB 2管理程序。以后,Grub Customizer的编写者Daniel Richter将为Grub Customizer提供更多的功能,如Live CDs的GRUB2 恢复功能或设置 /etc/default/grub选项。

安装方法:
    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt-get update
    sudo apt-get install grub-customizer



CentOS GRUB设置


# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.i686)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.el6.i686 ro root=/dev/mapper/VolGroup-lv_root nomodeset rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-431.el6.i686.img

说明:
default=0                    #表示设置默认启动第一个启动项
timeout=5                    #表示GRUB菜单的启动延时为5秒
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz    
#grub的背景图像,必须为xpm格式,可以是压缩的,(hd0,0)表示/boot所在的分区

hiddenmenu                    
#设置GRUB菜单为隐藏,即只显示背景图片和倒计时数

title CentOS(..)                #title后面是GRUB显示的选项的名字

root   (hd0,0)                    
# 设置GRUB的根分区,即/boot分区,注意与linux系统的那个根分区完全无关,注意root后面一定要有空格

kernel  [/boot]/vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00
#[/boot]的意义:
    若boot分区是独立分区则不需要,若boot分区不是独立分区,即与/在同一分区上,须在/vmlinuz前加/boot来启动;vmliuz-...表示镜像文件,ro  root=/.... 表示挂载根目录,通常写作
ro  root=LABEL=/...

initrd  /initrd-...                #设置初始RAM磁盘镜像文件

后面要添加其他的启动项参照上述的即可添加多个启动项。


进入单人模式

    在grub倒计时界面按住ESC,选定kernel  /vmlinuz.....行,按e进入编辑模式,将 最后的

    rhgb quiet 中的rhgb改为你想要进入的runlevel即可,或在行末尾追加  =  1   ,注意 = 号前后必须有空格,或在最后追加  single, single前有空格



grub修改字体大小

找个支持中文的字体文件比如是wqy-microhei.ttc (ttf 或 ttc 的都可以);
(字体文件wqy-microhei.ttc在如下目录/usr/share/fonts/truetype/wqy)
用以下命令新建个字体文件
    grub-mkfont -s 12 -o unicode.pf2 wqy-microhei.ttc

把新生成的 unicode.pf2 文件复替换 /usr/share/grub目录下的unicode.pf2 文件;
先把原装的 unicode.pf2 文件备份,然后重启下看看效果;
记得要选中文支持的字体文件来生成,不然如果用中文菜单的中文只有显示方框。
字体要还不够大,修改 -s 12 参数,数字越大显示的字体越大。

最后更新一下配置文件

    sudo update-grub
(有的是update-grub2)