Ubuntu grub2介绍

前端之家收集整理的这篇文章主要介绍了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配置文件如下:

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

  下载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。

更新默认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:

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

使用数字选择版本

  这里我们主要关注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"@H_502_11@@H_502_11@@H_502_11@

使用文字选择版本

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

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

参考

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

猜你在找的Ubuntu相关文章