Ubuntu系统的开机全流程介绍及grub美化

前言

之前一直对grubboot loader等概念不甚了解,趁着今天国庆假期,梳理以下,并且顺便美化一下我的Grub界面。

以下介绍的详细参考见于The Linux Booting Process – 6 Steps Described in Detail

Ubuntu开机经历的步骤

开启电源键后直到OS开机正常启动需要经历以下步骤:

BIOS

BIOS 查找、加载和执行 boot loader ,

Boot Loader

boot loader 是一段程序,用来选择并加载 Kernel(即内核)。boot loader 所在的区域叫做 Master Boot Record(MBR),中文翻译为主引导记录,是一块物理介质区域。

Linux系统中的 boot loader 统一都叫做grub

Kernel

Kernel运行起来之后就会有一系列的初始化程序和 Run level的程序被运行,这个时候我们的操作系统就跑起来了。

配置 Grub 的个性化主题

一共有四个比较集中的地方可以看到grub相关的配置:

  • /usr/share/grub/default/grub
  • /etc/default/grub
  • /etc/grub.d
  • /boot/grub/grub.cfg

逐一介绍如下:

/usr/share/grub/default/grub

参考下面的回答,所有 /usr/share 目录下的文件都是 example configuration files,即都是示例的配置文件,相当于一个备份区吧,如果你的个性化配置文件出了什么问题想恢复到原来的默认配置,那么这些文件都可以复制到/etc文件夹下。/etc目录下的文件都是系统所需要用到的。

/etc/default/grub

/etc/default/grub is where you can set simple options for many GRUB settings. It is parsed as a shell script.

这个文件是用来进行简单的 GRUB 配置的,该文件可以理解为是一个shell脚本。编辑该文件就可以改变 GRUB 的设置。修改完需要执行grub-update使新配置生效。grub-update的实际作用就是将相应的修改写入到/boot/grub/grub.cfg文件中,所以作为用户而言,改动该文件即可,无需直接修改/boot/grub/grub.cfg进行个性化配置。

/etc/grub.d

/etc/grub.d contains shell scripts which generate GRUB configuration (based on settings on /etc/default/grub). update-grub (aka grub-mkconfig) runs these scripts to generate actual GRUB configuration.

/etc/grub.d目录下包含了很多用来配置 GRUB 的shell脚本(这些配置是在/etc/default/grub配置的基础上进行的更复杂的配置)。执行grub-update使新配置生效。

/boot/grub/grub.cfg

/boot/grub/grub.cfg is where the generated configuration is saved for GRUB to use.

被修改的前两个文件执行grub-update后所生成的文件就是/boot/grub/grub.cfg文件,是 GRUB 实际使用到的配置文件。

下载主题

Grub-theme-vimix – Gnome-look.org上下载完主题压缩包后,参照下图:
在这里插入图片描述
一步步安装即可。特别的一点是这个主题的制作者还写了一个安装脚本替代使用者执行上述步骤,只不过与该步骤有细微的差别:把主题选在了/usr/share/grub/themes文件夹下;多了一个对/etc/default/grub文件的备份。

配置好后的效果为
image

相关参考可见于:

更详细的解释参考来源

还能在这些地方找到我