引导加载器 GRUB

引导加载器多种多样,作用是引导操作系统的内核,让内核开始接管启动的机器,当前有很多的引导加载器如:GURB、Bootmanager、LILO、NTLDR、bootmgr。

简单的来说 GRUB 的作用就是引导操系统的内核,引导加载器起到了承前[BIOS]启后[内核]的作用

在通常情况下不需要对 GRUB 进行相关的操作,当然 GRUB 也能解决一些问题比如说 root 密码忘记的问题。

▶ 从 BIOS 到 引导程序 GRUB

当 BIOS或者UEFI 完成硬件的自检后会产生一个中断,该中断会引导到一个指定的扇区,该扇区上就有一段被称为 主引导记录,这段主引导记录加载到内存中称为 引导加载器 也叫 引导程序,引导程序会加载内核,实现操作系统对机器的控制,下图中的 引导加载器GRUB/GRUB2

MBR 磁盘分区表:https://www.cnblogs.com/takenika/articles/18387029


▶ 常用的引导加载器-GRUB

GRUB 全称是 GRand Unified Bootloader 翻译为 大一统引导程序,这是一个用于加载和管理系统启动的完整程序,是 Linux 中最常见的引导程序,作为一个引导加载器 GRUB 不但能引导 Linux 也能引导如 Windows、OS/2、Solaris、FreeBSD、NetBSD。

GRUB 是目前Linux默认的引导加载器,通常使用的是第二版 GRUB2。

▷▷ 引导程序与引导管理器

都是 GRUB 既有 引导程序 功能,也有 引导管理器 的功能。

两者的区别在于 引导程序 会直接加载内核,而 引导管理器 不会急于直接加载操作系统,而是允许使用者在不同的操作系统之间进行选择。

这张图是 rocky Linux 9.4 安装的 grub2 启动的界面,此时正处于 引导管理器 的过程,允许用于是选择上面的直接进入还是进入紧急的救援模式,并不会像 引导程序 那样直接跑到单一的内核那里去。

但是区分 引导管理器 和 引导程序没什么意思 这都是 GRUB 的组成部分,GRUB 称为 引导加载器 那就一起统称 引导加载器 估计也行。

▶ GRUB 下的临时配置

在来到 GRUB 的管理界面后,通过使用 键来选择进入指定的内核,在高亮的就是指定选择的内核,

选择内核后按 e 可以进入内核有关配置的界面,c 则是进入 grub 的命令行界面。


grub配置中前三行的内容:

选项 参数
load_video 加载视频模式,可以显示文本或者是图片
set gfx_payload 设置Linux内核启动时候视频的模式 gfx 是图形的意思,keep 表示保持默认图形显示的值
insmod gzip 插入一个模块,载入一个 grub 的扩展模块,后面是扩展模块的名称,grub 的扩展模块保存在 /boot/grub2/i386-pc/中

第四行内容:
通过 Linux 命令指定一个32位的启动协议,$(root) 是一个环境变量,指的是 /boot 目录,后面的 vmlinux-5.14.0-427.13.1.e19_4.x86_64 是针对于 /boot 下的 vmlinux-5.14.0-427.13.1.e19_4.x86_64 这个内核文件,后面的是参数。

参数1
root=/dev/mapper/rl_192-root ro 一个 LVM 的逻辑卷,名字是 rl_192-root 是以 ro 方式来做 mount。

参数2
crashkernel 用来捕获内核崩溃的信息。

参数3
resume=/dev/mapper/rl_192-swap 指定一个交换分区,在恢复Linux实例的时候需要的交换分区里面的设备名称。

参数4
rd.lvm.lv 指定要激活的逻辑卷,= 后面可以有多个值,一个是 rl_192/root 另一个 rl_192/swap 这两个逻辑卷。

第五行内容:

initrd: init 是初始化的意思,rd是rundisk,这个32位的协议为内核载入一个 rawdisk,rawdisk 是内核在引导中挂载的一个临时的根文件系统,用来支持一个多阶段的引导,里面包含可执行程序和驱动,启动完成后就没什么用,后面的 $tuned_initrd 也是跟着一个环境变量。

initrd="/boot/initramfs-5.14.0-427.13.1.el9_4.x86_64.img"


▶ 关于 GRUB

引导加载器 GRUB:https://www.cnblogs.com/takenika/articles/18390663
现代计算机的引导及启动过程:https://www.cnblogs.com/takenika/articles/18389463
Linux下的光盘安装的救援模式-缺失 GRUB 配置 https://www.cnblogs.com/takenika/articles/18391634

posted @ 2024-08-31 20:23  takenika  阅读(220)  评论(0)    收藏  举报