centos8系统中使用blsgcfg来解析文件生成菜单项。
菜单项配置文件在/boot/loader/entries/下,每一个文件表示一个启动项。
启动项的命名,官网建议:包括机器ID(/etc/machine-id),内核版本(uname -r)和OS标识符(/etc/redhat-release),以此来保证id的唯一性。
title:启动菜单标题 可以随意自定义
version 版本信息,决定菜单项的顺序
linux 内核文件
initrd 临时根文件系统
options 内核参数
id 系统的唯一标识,用来指定那个系统
自定义菜单项后可以使用 grub2-set-default id 来启动指定系统,其本质上是修改了 /boot/grub2/grubenv 中saved_entry 的值
以下为个人整理
第一阶段的内容存储位置:
/dev/sda 的前 446 字节;
dd if=/dev/sda of=/dev/sdb bs=1 count=446
第二阶段的启动数据位置:
/boot (/dev/sdx1-boot分区)下的grub[2]
mount /dev/sdb1 /mnt/boot
grub2-install --root-directory=/mnt/ /de