问题:今天开机ubuntu突然提示如下:
error: file ‘/boot/grub/i386-pc/normal.mod’ not found.
Entering rescue mode…
grub rescue>
抱着一脸懵逼的心情开始寻找解决之路。其实从提示信息也可以看出来是grub文件中的找不到对应文件,导致无法正常引导系统,也就必然无法开机。
解决:知道问题出在什么地方,那么解方法也就比较容易寻找了。既然是引导文件找不到,要么就重做一个,方法是插入U盘,用其他系统写入pe,然后bios选择usb启动进入pe重新生成一个grub。但是还有一种更方便的方法(姑且认为方便吧),那就是手动寻找上面缺失的那个文件。此时为救援模式,可用的命令是有限的,find之类的就别想了。好在ls可以用。
可以按照下面步骤搜索就可以了:
1,grub rescue>ls
此时通常会出现hd0的各个分区:(hd0,msdos11)、(hd0,msdos10)、(hd0,msdos9)、….
2,grub rescue>ls (hd0,msdos11)/
这里是查看当前分区下面的根目录文件内容。也可以简写成(hd0,11)。在返回结果中看看有没有boot目录或者grub目录。每个分区都这么做。如果找到boot目录就进看看boot目录中有没有grub。因为我们的目的就是找grub在哪。找到之后(通常都会找到,grub要么在根目录下,要么在boot目录下,如果找不到只能重做了),就可以进行设置了。
3,grub rescue>set root=xx/grub
前面的xx代表所找到的grub的路径
4,grub rescue>set prefix=xx/grub/i386-pc/
这里就是设置引导文件了,里面有上面提示的normal.mod
5,grub rescue>insmod normal
安装normal
6,grub rescue>normal
启动即可进入所熟悉的启动页面了!