file ‘/grub/i386-pc/normal.mod‘ not found.解决方法
作者介绍
张伟伟,男,西安工程大学电子信息学院,2019级硕士研究生,张宏伟人工智能课题组。 研究方向:机器视觉与人工智能。 电子邮件:zhangweiweicpp@163.com
-
.
1.问题出现的状态和部分原因
无法进入系统引导项目,进入grub系统启动拯救模式,在黑窗口操作。
2.问题解决方法
先看几个指令的含义:
set 设置环境变量 ls 查看设备 insmod 加载模块 root 指定用于启动系统的分区 prefix 设定grub启动路径
2.1 问题解决方法
参考自最给力的帖子:https://www.cnblogs.com/GHzcx/p/9379871.html
ls // 第一步ls查看所有设备,启动项肯定在其中一个里 ls (hd0,gpt5) //网上的帖子根据实际情况看是gpt还是msdosX,大都是(hd0,msdosX)表示 //X代表挂载设备号1,2,3,4....查找每个设备, 直到设备内容与图片中相似,里面有一个grub/文件夹,启动项就在其中
—对各个分区,例如有s,都要运行’ls s’这样的操作,s可以为(hd0,gpt5)等,如果出现’unknown filesystem’这样的情况就跳到下一个分区. 直至——》》》 —如果明确出现了filesystem的格式(例如说ext4)不出现’unknown filesystem’。则运行: set,可以看到好多文件夹。由此尝试确定我们的引导项所在分区。
例如,我查到系统的引导项目确定在(hd0,gpt3)中,运行如下指令:
set root=(hd0,gpt3) set prefix=(hd0,gpt3)/grub //网上的帖子有的是/boot/grub,电脑不同,可参考 insmod normal normal
然后选择我们熟悉的启动项,正常进入linux操作系统
2.2 安装boot-repair软件对其进行修复
//参考自:https://www.cnblogs.com/GHzcx/p/9379871.html sudo -i //可选择进入超级管理员权限 sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update sudo apt-get install -y boot-repair && boot-repair
下载成功后弹出一个界面,选择第一项(推荐修复),waiting---- 若修复成功,重新开机就恢复正常了。
如果在waiting----中出现以下错误:
GPT detected. Please create a BIOS-Boot partition (>1MB, unformatted filesys
以往的帖子我查看了许多,并不能解决问题,我们按照问题描述:就需要新建分区用于boot挂载了,我们继续以下步骤。
2.3 利用gparted工具进行分区
#安装gparted工具 sudo apt-get install gparted #进入gparted工具 sudo gparted
-
(1) 进入软件界面,自己可以百度了解这个软件学会分区。按照2.2waiting----中的错误描述,我们需要分一个ext4类型的分区,文件分区大小大于1M即可。设置完成后确定,之后这个小的分区被系统会自动命名,如 /sdb12(表示第二快硬盘的第12个分区)---》记住自己分配的命名 (2) 对设置的分区设置标志位flags为bios_grub 也可以直接用以下的代码设置: .
#设置查询到自己的分配分区,例如/sdb12,相应的设置如下: parted /dev/sdb set 12 bios_grub on #下面语句打印后,应该可以看出有bios_grub标志了!!! parted /dev/sdb print (查看分区) ---------修改示例------------- #若自己的分配分区在别的盘,在第一块磁盘分的区,例如/sda5,相应的设置如下: parted /dev/sda set 5 bios_grub on #下面语句打印后,应该可以看出有bios_grub标志了!!! parted /dev/sda print (查看分区)
也可以在软件建立分区的时候设置flags。
2.4 得到waiting----的问题描述所需分区后继续再次重新执行步骤2.2
安装过可以在执行一遍,简单解决问题不影响。