Ubuntu grub2介绍

Ubuntu grub2简介

  从Ubuntu 9.10起,grub2就已是默认的BootLoader了。这里简要说要Ubuntu的grub2和其余发行版不同的地方。
  对于全部的OS启动项,CentOS全都显示在一个grub选择界面,显得很是拥挤,而Ubuntu这里就使用了一个Submenu的概念,将kernel版本最高的OS启动项放在最顶端名为“Ubuntu”的选项中,其余的版本都放在一个名为“Advanced options for Ubuntu”中,这个就是前面说到的Submenu子菜单。进入子菜单后,就能够手动选择你须要的版本了。这里注意,每一个版本都提供了普通版和recover mode两种选择。
  grub选择界面:

  grub配置文件以下:linux

……
   # OS启动版本选择
   set default="0"
fi
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-f7627d97-02da-4145-af58-0fe730f276b2' {
    menuentry 'Ubuntu, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-f7627d97-02da-4145-af5
8-0fe730f276b2' {
……
    menuentry 'Ubuntu, with Linux 3.13.0-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-recovery-f7627d
97-02da-4145-af58-0fe730f276b2' {
……
}

  下载kernel源代码,执行make bzImage -j 4 && make modules -j 4 && make modules_install && make install,编译并安装后,就会在/boot目录生成对应版本的vmlinuz、initrd.img、.config等文件,而且会默认执行update-grub命令来生成最新的grub配置文件。若是未手动修改,默认会按照kernel版本号从高到低的顺序将各个版本的OS放入Submenu中,也就是说,默认启动的就是kernel版本最高的OS。ubuntu

更新默认OS启动版本

  grub的配置文件有两个:/boot/grub/grub.cfg和/etc/default/grub,其中/boot/grub/grub.cfg为真正生效的文件,但其权限为只读的,也就是不建议直接修改;这是就须要/etc/default/grub文件了,经过修改该文件,再执行update-grub命令,便可将改动从/etc/default/grub更新到/boot/grub/grub.cfg了。打开/etc/default/grub:code

# 选择的OS版本
GRUB_DEFAULT="1>2"
GRUB_HIDDEN_TIMEOUT_QUIET=true
# 停留在grub选择界面的时间
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

使用数字选择版本

  这里咱们主要关注GRUB_DEFAULT这个选项,咱们上面提到,OS启动版本中,第一项是kernel版本最高的OS,第二项就是Submenu,而全部OS版本都在这个Submenu中,包括版本最高的OS。打开/boot/grub/grub.cfg,索引从0开始,选择第几个index,update-grub并重启后,就会从选择的OS启动。好比咱们要选择索引为2的OS版本,那么咱们只须要GRUB_DEFAULT修改以下便可。而后执行命令update-grub,再重启OS即生效。1>2表示先选择第1项(索引从0开始的),即Submenu,再从Submenu中选择第2项。索引

GRUB_DEFAULT="1>2"

使用文字选择版本

  若是以为数字的方式比较难以区分,也可使用名称的方式,格式相似,以下。表示先选择名为Advanced options for Ubuntu的第一层,即Submenu,再从Submenu中选择名为Ubuntu, with Linux 3.9.0的OS版本。get

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.9.0"

参考

  若是想了解更多关于Ubuntu grub2的信息,请参考官网:https://help.ubuntu.com/community/Grub2it

相关文章
相关标签/搜索