Loading... # 0x01 序 在对一批设备批量修改内核参数后,发现有一台设备失联,经检查发现该设备启动后显示 `grub>`,导致该原因的可能性为 grub 配置文件错误、损坏或丢失,致使操作系统无法正确引导启动,更新的内核参数如下,本次操作使用 ansible 执行,但是只有一台设备出现异常,导致该问题的原因未知,故简单简单记录下修复过程。 > 此文档适用于 RHEL 7.x 与 CENTOS 7.x 版本,其它版本未经过验证 ```shell grubby --update-kernel=ALL --args="numa=off" ``` # 0x02 修复 #### 1.首先列出所有的磁盘 ```shelll grub> ls ``` 我这边执行结果如下,系统盘为 `hd0`,并且包含`3`个分区(省略数据盘···) > (hd0),(hd0,msdos1),(hd0,msdos2),(hd0,msdos3) #### 2.确定 boot 分区 ```shell grub> ls (hd0,msdos2) /boot/grub ``` 如果该目录存在,则会列出该目录下的所有文件,不存在则会报错,如果你的 boot 为独立的分区则使用下面这条命令 ```shell grub> ls(hd0,msdos2) /grub2 ``` #### 3.将 boot 分区临时设置为 root 目录 ```shell grub> set root=hd0,msdos2 ``` #### 4.加载内核 `xxxx` 为内核版本号,tab 补全即可 如果系统分区为 `lvm`,那么默认应该是 `/dev/mapper/rhel-root`,CentOS 应该为 `/dev/mapper/centos-root`,根据自己的实际情况调整,如果是非`lvm`文件系统,那么则需要填写实际的 label,例如 `/dev/sda1` ```shell grub> linux16 /vmlinuz-xxxx.e17.x86_64 root=/dev/mapper/rhel-root grub> initrad16 /initramfs-xxxx.e17.x86_64.img ``` #### 5.启动系统 ```shell grub> boot ``` #### 6.重建grub配置文件 ```shell grub2-mkconfig -o /boot/grub2/grub.cfg ``` 最后修改:2023 年 07 月 31 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏
4 条评论
证书又过期了哦
非常感谢你分享这篇文章,我从中学到了很多新的知识。
感谢分享,赞一个ヾ(≧∇≦*)ゝ
感谢分享,赞一个