GNU GRUB Manual 2.06: normalGNU GRUB Manual 2.06: normal
GNU GRUB Manual 2.06: configfile
今日发现centos8以及国内龙蜥UOS欧拉等的grub2在启动的时候,grub.cfg里面都找不到配置选项了,老司机差点还改不了默认启动选项了,后来看了下,发现又多了个loader目录
[root@dns1 boot]# cat grub2/grubenv
# GRUB Environment Block
#saved_entry=ac3026e6c0314e5c862d14540f2a27b2-4.19.0-91.82.88.uelc20.x86_64
saved_entry=8a167e961cac321f703f9da1622ca6a3-4.19.0-91.82.112.uelc20.x86_64
kernelopts=root=/dev/mapper/uniontechos-root ro crashkernel=auto resume=/dev/mapper/uniontechos-swap rd.lvm.lv=uniontechos/root rd.lvm.lv=uniontechos/swap module.sig_enforce=0 rhgb quiet
boot_success=0
#####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
[root@dns1 boot]# find ./loader/
./loader/
./loader/entries
./loader/entries/ac3026e6c0314e5c862d14540f2a27b2-4.19.0-91.82.88.uelc20.x86_64.conf
./loader/entries/ac3026e6c0314e5c862d14540f2a27b2-0-rescue.conf
./loader/entries/8a167e961cac321f703f9da1622ca6a3-4.19.0-91.82.112.uelc20.x86_64.conf
./loader/entries/8a167e961cac321f703f9da1622ca6a3-0-rescue.conf
然后又发现有个grubenv文件,终于才知道点东西了。grub.cfg会加载grubenv来加载一些保存的启动项之类的变量。
然后这个grubenv里面保存的加载项保存的配置就在loader目录里面,然后grub.cfg里面加载了blscfg这个模块来查询这些配置文件获得启动参数。
[root@dns1 boot]# grep bls grub2/grub.cfg
# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and
insmod blscfg
blscfg
从grub1到grub2以及到启用blscfg模块,看起来grub是越来越智能了,但对运维人员来说是越来越复杂了。毕竟最开始就直接修改个明文配置文件就好了,现在搞的一堆判断。