您的位置:首页 > 博客中心 > 网络系统 >

Ubuntu引导修复:针对grub rescue||grub not found||unknown filesystem类型的错误

时间:2022-04-03 10:33

引言

  Ubuntu一般是通过grub引导。grub分为三种:grub,grub2,和grub for dos(grub4dos).
  最近在Windows下将一个较大的分区分了100G出来,准备用来装Win10,我在启动Ubuntu的时候,出现了一个问题:grub not found ===>grub rescue.
  出现这个问题的原因是grub找不到Ubuntu所在的分区(出现这种情况一般是因为你调整了分区,而grub配置没有作出相应的调整)。一般情况下,出现这种问题,有2种解决办法:
1. 使用EasyBCD软件调整;
2. 在命令行下通过命令重新指定分区;

使用EasyBCD软件进行调整

  1. 百度搜索EasyBCD 2.2,下载并安装(免费软件)。以管理员身份运行;
  2. 点击“添加新条目”,如下图所示:
    技术分享
  3. 在操作系统选项中选中“Linux/BSD”:
    技术分享
  4. 类型一栏中选中“GRUB2”,名称随便填,驱动器选择“自动定位和加载”,最后选中“添加条目”。
  5. 这样,问题就解决了,重启电脑,选择Ubuntu
  6. 最后要说明的是,这种方法有时会失效。

在命令行下通过命令重新指定分区

  1. 由于在rescue模式下,只有少量的基本命令可用,必须通过一定的操作才能加载模块,然后进入正常模式;
  2. rescue模式下可以使用的命令有:set,ls,insmod,root,prefix(设置启动路径);

grub rescue模式下命令解释:
ls:查看系统设备状态
set:查看启动路径和分区
root:设置grub启动分区
prefix:设置grub的启动路径
insmod:加载模块

  1. 首先,就是要找到grub所在的分区。使用ls命令:grub rescue>ls ,然后就会列出你的磁盘上所有的分区,比如我的是:(hd0,msdos10),(hd0,msdos9)……;
  2. 然后,输入如下命令:ls (hd0,msdos10)/grub或者ls (hd0,msdos10)/boot/grub(一般是后一种).这里必须注意的是:这个命令只是一个模版,每个人的电脑可能是不一样的,请根据自己的电脑输入命令。如果系统返回:unknown filesystem,则继续输入列出的下一个分区,直到有某个分区显示的不是unknown filesystem,而是其它的内容的时候,grub所在的分区就找到了,继续;
  3. grub rescue> set root=(hd0,msdos10) ;
  4. grub rescue> set prefix=(hd0,msdos10)/boot/grub 或者可能是grub rescue> set prefix=(hd0,msdos10)/grub 这个看具体grub在哪个位置;
  5. grub rescue> insmod normal ;
  6. grub rescue> normal ;
  7. 此时,应该已经进入Ubuntu系统的正常模式,进入系统吧!

版权声明:本文为博主原创文章,未经博主允许不得转载。

本类排行

今日推荐

热门手游