0x01 序
此文档适用于 RHEL 7.x 与 CENTOS 7.x 版本,其它版本未经过验证。
在对一批设备批量修改内核参数后,发现有一台设备失联,经检查发现该设备启动后显示 grub>
,导致该原因的可能性为 grub 配置文件错误、损坏或丢失,致使操作系统无法正确引导启动,更新的内核参数如下,本次操作使用 ansible 执行,但是只有一台设备出现异常,导致该问题的原因未知,故简单简单记录下修复过程。
shell
1 | grubby --update-kernel=ALL --args="numa=off" |
0x02 修复
首先列出所有的磁盘
plaintext
1 | grub> ls |
我这边执行结果如下,系统盘为 hd0
,并且包含3
个分区(省略数据盘···)
(hd0),(hd0,msdos1),(hd0,msdos2),(hd0,msdos3)
确定 boot 分区
shell
1 | ls (hd0,msdos2) /boot/grub |
如果该目录存在,则会列出该目录下的所有文件,不存在则会报错,如果你的 boot 为独立的分区则使用下面这条命令
shell
1 | ls(hd0,msdos2) /grub2 |
将 boot 分区临时设置为 root 目录
shell
1 | set root=hd0,msdos2 |
加载内核
xxxx
为内核版本号,tab 补全即可。如果系统分区为 lvm
,那么默认应该是 /dev/mapper/rhel-root
,CentOS 应该为 /dev/mapper/centos-root
,根据自己的实际情况调整,如果是非lvm
文件系统,那么则需要填写实际的 label,例如 /dev/sda1
shell
1 | linux16 /vmlinuz-xxxx.e17.x86_64 root=/dev/mapper/rhel-root |
启动系统
shell
1 | boot |
重建 grub 配置文件
shell
1 | grub2-mkconfig -o /boot/grub2/grub.cfg |
- 本文链接: https://mikuac.com/rhel79-grub-boot/
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
0/500