【Linux】Grub-UEFI error... “file `/grub/x86_64-efi/normal.mod` not found“

× Error: Grub-UEFI error... "file `/grub/x86_64-efi/normal.mod` not found"


在这里插入图片描述

原因分析

出现上面的问题,是因为 /grub/x86_64-efi/normal.mod 文件被存储在了其他的硬盘分区中,导致启动Linux 系统的时候找不到设置的启动文件。(我的电脑是由于对C盘应用进行迁移时,不小心把Linux系统的挂载文件迁移了,因此导致了此问题)

解决方案

  • 1、Grub 命令
    rescue模式下可使用的命令有:set,ls,insmod,root,prefix

    set:设置 cmdpath、prefix、root 路径
    ls:查看 gpt分区列表

  • 2、使用 ls 查看 gpt 分区

     grub rescue> ls
    

    执行结果,如图所示: 在这里插入图片描述

  • 3、使用 ls 查看每个 gpt 分区中是否存在 grub 文件夹

     grub rescue> ls (hd0,gpt11)/grub
     
     error: unknown filesystem
     grub rescue>ls (hd0,gpt10)/grub
     
     error: file '/grub' not found
     grub rescue>ls (hd0,gpt9)/grub
     ...
    
     grub rescue>ls (hd0,gpt8)/grub
     ./ ../ x86_64-efi grubeny ...
    

    直到找到 如上所示的 x86_64-efi 为止,如图所示:
    在这里插入图片描述
    注意:

    1、由于本机的 x86_64-efi/normal.mod 文件是放在 gpt 分区的 grub 文件夹下的,因此,查找时使用的是 ls (hd0,gpt11)/grub 进行查找
    2、在查找时需根据具体的文件目录进行查找,即使用的电脑中所报出的文件目录
    在这里插入图片描述

  • 4,查找到文件所在gpt分区后,重新设置启动文件根目录和预设地址

     grub rescue>set root=(hd0,gpt8)/grub
     grub rescue>set prefix=(hd0,gpt8)/grub
     grub rescue>insmod normal
     grub rescue>normal
    

    执行操作,如图所示:
    在这里插入图片描述* 5、在执行完 normal 回车后,系统就会自动重启,显示进入选择系统界面。但是,这样只是短暂的进入系统,并不能从根本上解决问题。

  • 6、进入 Linux 系统,打开终端,输入以下命令:

    	sudo update-grub
    	# 将GRUB(系统引导器)安装在第一块硬盘的引导区
    	sudo grub-install /dev/sda
    

    /dev/sda 是指你电脑上编号第一的那块SCSI硬盘。

  • 7、再次重启时,系统将不会再报出上述错误,问题得以解决。

建议

若有朋友使用此方法还是无法解决,则可以尝试其他网友所说的安装 Boot-Repair (一款修复启动项软件)方法。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值