看山是水 2022-05-20 10:45 采纳率: 100%
浏览 332
已结题

Linux系统 grub rescue 修复引导

①.该虚机系统为RedHat,其上部署业务,正常启动无法进入系统,出现硬盘启动报错,显示错误为 error: file'/ grub2/i386-pc/ normal.mod' not found
②.在网上找了grub修复方法,按网上的方法采取操作如下:
1.1.ls显示出分区
2.尝试ls (hdX,msdosY)/boot/grub,看grub是否存在hdX,msdosY,记录下X,Y的值
3.输入set root=(hdX,msdosY)
4.输入set prefix=(hdX,msodsY)/boot/grub
5.输入isnmod normal
6.输入normal
出现启动菜单,完成修复。
正常输入上述命令,到第5,6步时,命令执行后没有出现启动菜单,出现报错为 file'/ grub2/i386-pc/ normal.mod' not found
③请教下上述问题是哪里出错,能否采取措施解决

  • 写回答

4条回答 默认 最新

  • 种和 2022-05-22 21:13
    关注

    rescue>ls   //查看分区
    再找到linux的安装分区
    rescue>ls (hd0,x)  //x为分区号,直到有目录/boot出现,则为linux所在区,我的为(hd0,6)
    之后就是设置,假设你的linux安装分区也是(hd0,6)
    rescue>set root=(hd0,6)
    rescue>set prefix=(hd0,6)/boot/grub
    rescue>insmod /boot/grub/normal.mod
    到此提示错误,找不到normal.mod
    rescue>ls (hd0,6)/boot/grub查看grub下的目录后发现其下就没有.mod文件,这可怎么办呢?
    不要着急,接下来见证奇迹的时刻到了。。。
    在前言里说了,grub/目录下没有normal.mod,但有个i386-pc的文件,查看之后,里面几乎全是.mod文件,这说明我们还有希望进入normal模式。
    我的解决方法是
    set完root跟prefix之后,直接insmod normal.mod,不给指定路径,然后再normal便可进入启动列表,完整的过程如下
    rescue>ls   //查看分区
    rescue>ls (hd0,x)      //x为分区号,直到有目录/boot出现,则为linux所在区,我的为(hd0,6)
    rescue>set root=(hd0,6)
    rescue>set prefix=(hd0,6)/boot/grub
    rescue>insmod normal
    rescue>normal
    启动linux后在terminal里设置grub
    $sudo  update-grub
    $sudo grub-install /dev/sda          
    解决grub rescue问题时发现grub/目录下没有文件normal.mod怎么办?
    https://blog.51cto.com/oulafen/1369723

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 修改了问题 5月20日
  • 修改了问题 5月20日
  • 展开全部

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏