redhat8 rhel8 启动grub损坏修复

环境:redhat8.4 RHEL8.4

服务器:华为G560

问题描述:调整了/etc/default/grub文件,重新生成/boot/grub2/grub.cfg导致机器启动失败,直接进入了rescue模式

解决方案:

启动到如下界面

选择c进入grub命令界面

可以使用ls命令去查看驱动器的情况

  • (hd0) 是第一个硬盘。
  • (hd0,msdos1) 是第一个硬盘上的第一个分区。
  • (hd0,msdos2) 是第一个硬盘上的第二个分区。
  • (hd0,msdos3) 是第一个硬盘上的第三个分区。

一般来说,对于LVM结构磁盘,对应关系如下,这也是我的系统对应关系(这个结构需要根据自己系统情况仔细区分)

  • (hd0,msdos1) 是第一个硬盘上的第一个分区,对应/dev/sda1,也就是系统中文件系统/boot ,启动文件存储的分区 对应的是传统方式部署、启动的系统
  • (hd0,msdos2) 是第一个硬盘上的第二个分区,对应/dev/sda2,也就是系统中文件系统/boot/efi,对应的是UEFI方式部署、启动的系统
  • (hd0,msdos3) 是第一个硬盘上的第三个分区,对应/dev/sda3,也就是系统中其它文件系统,也就是根VG所在的分区

以上的对应关系也可以和同类系统对应

可以用命令详细查看磁盘内具体内容

现在清楚了这些内容,就开始

手动引导启动

首先让引导程序找到启动文件

grub> set root=(hd0,msdos1)

然后加载内核版本到根分区,我的根分区是在sda3里

  • 对于直接磁盘方式安装的话命令如下

grub> linux16 /vmlinuz-4.18.0-305.el8.x86_64 ro root=/dev/sda2

  • 对于LVM结构系统,命令如下

grub> linux16 /vmlinuz-4.18.0-305.el8.x86_64 ro root=/dev/mapper/vgrhel-lvroot

最后加载系统内核镜像

grub> initrd16 /initramfs-4.18.0-305.el8.x86_64.img

grub> boot

以上手工引导,并不能让下次系统能够正常启动。

配置自动启动:

先说明一点结论,千万不要手工编辑/etc/default/grub或者/etc/sysconfig/grub

因为我手工编辑了/etc/default/grub,所以执行如下步骤

  • 删除配置文件

rm /etc/default/grub

  • 重新安装软件包

yum reinstall grub2-tools

  • 重建 grub.cfg 文件以使更改生效

grub2-mkconfig -o /boot/grub2/grub.cfg

  • 重新安装 GRUB在 /boot/ 分区上恢复 GRUB

grub2-install /dev/sda

  • 验证

reboot

以上步骤基于BIOS安装的机器,基于UEFI安装的机器请参考https://docs.redhat.com/zh_hans/documentation/red_hat_enterprise_linux/8/html/managing_monitoring_and_updating_the_kernel/proc_resetting-grub_assembly_reinstalling-grub

相关内容:

查看、配置grub使用如下命令:

grubby

还有其它情况的处理步骤,请参考:https://blog.csdn.net/Howei__/article/details/104537757 本文为实际操作后的记录

相关推荐
东鹏特饮12 天前
15个实用Linux运维脚本
linux·运维·shell·脚本·redhat·常用生产脚本
东鹏特饮1 个月前
redhat9 配置yum 阿里云
linux·运维·redhat·yum
jnrjian1 个月前
公司有CA服务器生成cert key csr
postgresql·redhat
爱网络爱Linux4 个月前
Linux 服务器开机慢?启动链路优化实战
linux·运维·redhat·rhce·rhca·红帽认证
ZZZKKKRTSAE5 个月前
一篇猛攻zabbix
linux·运维·zabbix·redhat·rhel9
郝开6 个月前
RHEL虚拟机安装(red hat_6.10);RHEL 6.10 镜像百度云下载;VMware 安装 RHEL 6.10;解决新安装的虚拟机没有网络,无法ping通网络的问题
redhat·rhel
mzhan01710 个月前
perl: redhat9, perl-interpreter.rpm 一个包分成很多个小包
开发语言·perl·redhat·rpm
小汐睡着了10 个月前
解决虚拟机VMware与宿主机网络不通的问题-error
linux·网络·redhat
ghostwritten1 年前
RHEL 9.5 离线安装 Ansible 完整教程
ansible·redhat
玥轩_5211 年前
《Linux服务与安全管理》| 安装拼音输入法
linux·运维·服务器·centos·redhat·root·拼音输入法