Linux下boot/grub/i386-pc/normal.mod未找到问题

启动linux系统时屏幕提示:

1
2
error: file ‘boot/grub/i386-pc/normal.mod’ not found
Entering rescue mode…

windows10和Ubuntu双系统,今天进入Ubuntu的时候出错,显示这个信息,顿时头大。

搜索了解到引起这个问题的原因硬盘分区出现错误,回想一下,原来再windows10下,我刚将一个分区删除了。。。 -_-||

解决方法:

1、使用 ls 命令查看当前的分区情况,结果如下(各有不同)

1
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos3) (hd0, msdos2) (hd0, msdos1) (hd0, msdos0)

2、使用 ls (hd0, msdos6)/boot/grub 也就是从左边开始有 msdos×字样的分区开始查找,也就是查找grub所在的分区,当显示的结果不再是

1
error: unkonwn filesystem.

也就说,当结果显示的是文件夹下面是一些文件目录的时候,譬如我的是在 ls (hd0,msdos2)/boot/grub的时候出现的,则依次使用:

1
2
3
4
set boot=(hd0,msdos2)/boot/grub 
set prefix=(hd0,msdos2)/boot/grub
insmod normal
normal

normal执行完成后就会进入熟悉系的统列表了。

注:
set设置环境变量
ls查看目录
insmod加载模块
normal普通模式
root制定引导,即grub所在的安装的系统所在的分区
prefix设定grub配置文件和启动路径

重启后发现还是会出现一样的情况,在使用以上方法进入 Ubuntu系统下之后,执行以下步骤:

1、在liveCD模式进入UBUNTU,插入光盘,选择try ubuntu就是。安装Boot-Repair,首先指定一个软件仓库(这里没资源,用别人的)

1
sudo add-apt-repository ppa:yannubuntu/boot-repair

2、更新本地列表

1
sudo apt-get update

3、安装

1
sudo apt-get install -y boot-repair

4、执行修复命令

1
boot-repair