首页 > 极客资料 博客日记
redhat8 rhel8 启动grub损坏修复
2024-08-20 16:00:03极客资料围观23次
环境: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 本文为实际操作后的记录
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”