RHEL7下修复grub rescue问题

2023-10-15 08:59
文章标签 问题 修复 grub rescue rhel7

本文主要是介绍RHEL7下修复grub rescue问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    在rhel7以下修复grub rescue 和网上大多数的 grub rescue修复都有一些不同的地方,例如在应该使用grub2,以及normal.mod的目录也发生了变化。笔者在精心搜集资料,不断探索的情况下解决了rhel7下grub rescue 的修复问题,总结如下。

一.下面几种操作会导致双系统崩溃,进入rescue模式:
1,想删除linux,于是直接在windows下删除/格式化了linux所在的分区。
2,调整磁盘,利用工具合并/分割/调整/删除分区,使磁盘分区数目发生了变化,或者win10系统更新导致磁盘分区名称发生了改变。
3,重新安装系统,把linux安装到了新分区,原有分区已经格式化,但是没有重新安装grub2。
这里写图片描述
二.导致grub rescue的原因:
grub2分为两部分,一部分(一般情况下)写在了mbr上,另一部分写在了某个分区的/boot/grub目录(如果/boot单独分区,则直接写在对应分区的/grub目录)里面。由于上述操作,致使grub2的mbr里面的那一部分找不到/grub目录里面的那一部分了(或者那一部分已经删除了)。
三.解决方法
(1)若想删除linux系统
下载大白菜将U盘制作成启动盘,然后将U盘插在自己电脑上,开机启动时进入U盘启动模式,即可进入大白菜引导,选择硬盘启动,即可进入原先的windows系统。进入后自己的windows系统后使用一个叫DiskGenius的软件,打开软件,选择硬盘->重建主引导记录(MBR),确定即可。到此,大功告成!重启就会发现可以正常启动windows,所以不需要重装系统。
(2)修复grub2
rhel7系列使用grub2来启动系统,和之前的grub有很大的不一样。我们可以通过以下几个步骤来修复。在grub2 rescue 模式下可用的命令很少,只能使用ls,set,insmod等很少的命令。

a.输入ls可以看到当前系统的分区情况,如{(hd0,msdos1),(hd0,msdos5),(hd0,msdos3),(hd0,msdos2) }

grub rescue > ls

b.通过ls来查询以上哪个分区是linux分区,如果是linux分区会提示该分区是一个xfs的文件系统,如果不是linux分区,会提示unknown。如在命令行输入

grub rescue > ls (hd0,msdos5)

c.在命令行输入grub rescue > ls (hd0,msdosx)/grub2 其中“x”为以上找到的linux分区的位置信息。找到boot分区位置。

`grub rescue > ls (hd0,msdosx)/grub2`
——>grub2 grub grub.cfg i386-pc   ....

d.临时重置grub位置为当前分区

grub rescue >set root=hd0,msdosx
grub rescue >set prefix=(hd0,msdosx)/grub2 

e.加载normal模块

grub rescue >insmod(hd0,msdos2)/grub2/i386-pc/normal.mod
grub rescue >normal

f.重新安装grub到到sda

root@localhost ~#cd /sbin
root@localhost ~#grub2-install --boot-directory=/boot /dev/sda

grub2重新安装完成

这篇关于RHEL7下修复grub rescue问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216681

相关文章

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图