Linux双系统grub启动报错error:“file‘/grub/x86_64-efi/normal.mod‘not found“

Linux双系统grub启动报错error:“file’/grub/x86_64-efi/normal.mod’not found”

在这里插入图片描述

一、出现原因

笔者在整理扩展系统C盘时,因为调整了各分盘之间的分区情况,导致E盘(与c盘一个磁盘)中Linux系统找不到原先的开机启动文件,所以开机时就会出现找不到文件的情况:如图所示
在这里插入图片描述

二、解决办法

首先可以set一下看一下目前的linux启动指向位置:
在这里插入图片描述
我们要做的就是改变现在的位置,让系统指向正确的启动位置。
如何找到正确的启动位置呢?首先ls一下看看gpt有多少个分区:
在这里插入图片描述
一个一个 ls尝试如下图,找到不是unkown filesystem的分区,最终我找到了(hd1,gpt7)是可行的。

注意:可能有多个不是unkown filesystem的分区,但是后面接/grub能成功的只有一个!
在这里插入图片描述

随后即可修改启动文件根目录和预设地址的操作:
在这里插入图片描述

> set root=(hd1,gpt7)/grub
> set prefix=(hd1,gpt7)/grub
> insmod normal
> normal 

执行完normal回车即可,随后就来到了我们熟悉的选择系统环境页面,这时候并没有结束,这仅仅是临时的修改,下次启动时还会出现这样的情况,还得再来一遍以上操作;

我们进入Linux系统,终端写入以下命令:

> sudo grub-update
> sudo grub-install /dev/sda

将grub引导器安装在第一块磁盘的引导区

再次启动系统,问题解决√

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/boot/grub/i386-pc/normal.mod not found. Grub Rescue 这个问题通常是由于引导程序配置文件 grub.cfg 或者引导程序模块文件被删除或者损坏引起的。修复这个问题可以通过以下步骤: 1. 找到引导程序所在的磁盘和分区 首先,你需要知道你的引导程序所在的磁盘和分区。在 Grub Rescue 模式下,可以使用 ls 命令列出所有的硬盘和分区。例如,输入 ls (hd0,msdos1) 命令可以列出第一个硬盘的第一个分区。 2. 找到引导程序配置文件 grub.cfg 接下来,你需要找到引导程序配置文件 grub.cfg。该文件通常位于 /boot/grub/ 目录下。可以使用 ls 命令列出 /boot/grub/ 目录下的文件和目录,然后使用 cat 命令查看每个文件的内容,以确定哪个是 grub.cfg。 3. 重新安装引导程序 一旦找到了 grub.cfg 文件,可以尝试重新安装引导程序来修复问题。具体来说,可以使用以下命令重新安装引导程序: grub-install /dev/sda 其中,/dev/sda 是你的引导程序所在的硬盘。如果你不确定应该填什么,可以使用 fdisk -l 命令列出所有硬盘和分区的详细信息,然后找到你的引导程序所在的硬盘。 4. 更新引导程序配置文件 重新安装引导程序后,需要更新引导程序配置文件 grub.cfg。可以使用以下命令更新该文件: update-grub 这个命令会自动扫描系统中所有的操作系统,并将它们添加到 grub.cfg 文件中。 5. 重启系统 完成以上步骤后,可以尝试重启系统并检查是否修复了问题。如果问题仍然存在,可以尝试使用其他方法来修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值