NEWS LETTER

RHEL 7.9 从 GRUB 引导启动

  • Home
  • rhel79-grub-boot
Scroll down

0x01 序

此文档适用于 RHEL 7.x 与 CENTOS 7.x 版本,其它版本未经过验证。

在对一批设备批量修改内核参数后,发现有一台设备失联,经检查发现该设备启动后显示 grub>,导致该原因的可能性为 grub 配置文件错误、损坏或丢失,致使操作系统无法正确引导启动,更新的内核参数如下,本次操作使用 ansible 执行,但是只有一台设备出现异常,导致该问题的原因未知,故简单简单记录下修复过程。

1
grubby --update-kernel=ALL --args="numa=off"

0x02 修复

首先列出所有的磁盘

1
grub> ls

我这边执行结果如下,系统盘为 hd0,并且包含3个分区(省略数据盘···)

(hd0),(hd0,msdos1),(hd0,msdos2),(hd0,msdos3)

确定 boot 分区

1
grub> ls (hd0,msdos2) /boot/grub

如果该目录存在,则会列出该目录下的所有文件,不存在则会报错,如果你的 boot 为独立的分区则使用下面这条命令

1
grub> ls(hd0,msdos2) /grub2

将 boot 分区临时设置为 root 目录

1
grub> set root=hd0,msdos2

加载内核

xxxx 为内核版本号,tab 补全即可。如果系统分区为 lvm,那么默认应该是 /dev/mapper/rhel-root,CentOS 应该为 /dev/mapper/centos-root,根据自己的实际情况调整,如果是非lvm文件系统,那么则需要填写实际的 label,例如 /dev/sda1

1
2
grub> linux16 /vmlinuz-xxxx.e17.x86_64 root=/dev/mapper/rhel-root
grub> initrad16 /initramfs-xxxx.e17.x86_64.img

启动系统

1
grub> boot

重建 grub 配置文件

1
grub2-mkconfig -o /boot/grub2/grub.cfg
其他文章
目录导航 置顶
  1. 1. 0x01 序
  2. 2. 0x02 修复
    1. 2.1. 首先列出所有的磁盘
    2. 2.2. 确定 boot 分区
    3. 2.3. 将 boot 分区临时设置为 root 目录
    4. 2.4. 加载内核
    5. 2.5. 启动系统
    6. 2.6. 重建 grub 配置文件
请输入关键词进行搜索