问题描述:Ubuntu操作姿势不对boot容易出现问题,导致进入
grub rescue
模式,有时候进行insmod normal
加载normal模块时候出现error:file "/boot/grub/i386-pc/normal.mod" not found
网上找到的相关办法大致都是一样的,并且在rescue
模式下只能使用下面很少的命令:
-
set
设置环境变量 -
ls
查看设备或文件系统 -
insmod
加载模块 -
root
指定用于启动系统的分区 -
prefix
设定grub
的启动路径
传统方法一般操作如下:
先
ls
查看下设备,一般都有好多分区。这时候要手动找到linux分区,因为我们要加载正确的模块,先找到分区就是。
方法:ls (hd0,X)/
X
为显示的号码,如果是msdos8
可以直接用8
代替。该命令为查看分区下的文件,如果root
单独分区了,就找到grub
目录,然后ls (hd0,x)/gurb
会发现还有个i386-pc
目录,normal.mod
文件就在该目录下。
本来我们通过使用下面的命令
insmod (hd0,X)/grub/i386-pc/normal.mod
就可以加载normal模块进而使用normal
命令来恢复grub
,但是有时候比较滑稽的是normal.mod
这个文件又找不到,所以这种情况可以借助Ubuntu的启动盘来解决,我这里使用的是U盘启动。
简单办法如下:
- U盘启动模式进入Ubuntu,选择 "try Ubuntu" 即可
- 安装Boot-repair,先联网,然后在终端里输入下面的命令:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
boot-repair
-
在下图里的界面里直接选择第一个修复即可
boot-repair.png
网友评论