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

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日
  • 展开全部

悬赏问题

  • ¥20 请问,这个视频播放软件的名称
  • ¥15 运筹优化,gurobi,python
  • ¥15 基于python的电影系统推荐
  • ¥20 springmvc重定向和返回json
  • ¥15 数学建模——参会安排怎么做
  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格
  • ¥15 大家帮我看看为什么错了