|
win10与Ubuntu18.04双系统启动后出现 error:unknown filesystem grub rescue解决方案
首先 我之前是正常安装了双系统的 且都可以进入不同的系统
安装过程:http://www.ai111.vip/thread-1325-1-1.html
后来 我在win10里更新了系统的东西 是windows update的系统程序做的 我就默认都安装了
然后重启后进入 就报错:error:unknown filesystem grub rescue
原因分析:
我这样的双系统环境下 每次系统启动时都是先进入grub2,也就是先在ubuntu的启动目录里选择进入哪个操作系统
按分区来讲,grub2在我的ubuntu的分区,那么启动时root应该设在 ubuntu所在的分区,可是当win10系统更新后 会
改变root的分区到win10的,也就是NTFS分区,ubuntu是不能识别这种文件系统的,所以就有了error:unknown filesystem
那么我们要做的就是把grub重新指向Ubuntu所在的分区
操作步骤:
1、查看分区
grub rescue>ls
(hd0,msdos4) 文件系统是ext2
(hd0,msdos3) 当前在这 是win的文件系统 ntfs的
(hd0,msdos2) unknown
(hd0,msdos1) unknown
(hd1,msdos3) 文件系统是ext2
(hd1,msdos2) unknown
(hd1,msdos1) unknown
grub rescue>set回车
输出:
cmdpath=(hd0)
prefix=(hd0,msdos3)/boot/grub
root=hd0,msdos3
2、寻找ubuntu所在分区
这一步我们要一个一个的试,
还是用ls指令
先试下在不在(hd0,msdos2)里边
grub rescue>ls (hd0,msdos2)
回车会发现,不是,还是unknown filesystem
当我试到(hd0,msdos4)的时候,可以看到文件系统是ext2。OK,找到分区了
结合之前装系统的图片:swap分区是没有识别到的 只剩下/home 与 / 分区 在不同的硬盘
对上了 结论:hd0是固体盘有4个分区() hd1是机械盘有3个分区()
(hd0,msdos4)就是ubuntu的/ 分区了
(hd0,msdos2)与 (hd0,msdos1) 与 (hd0,msdos3)都是 win的分区
进一步确认: ls (hd0,msdos4)/ 可以看到 home/ boot/ root/ 等Ubuntu的系统目录
目标明确了:将启动的(hd0,msdos3)改为(hd0,msdos4)即可
3、修改启动分区
grub rescue>set root=hd0,msdos4
grub rescue>set prefix=(hd0,msdos4)/boot/grub
grub rescue>insmod normal //启动normal启动
grub rescue>normal 马上就进入了熟悉的 grub2的系统选择界面
这个界面的下面有提示:按e 编辑启动项 按c进入命令行
我这里进入Ubuntu或win10系统都没问题了 但是一旦重启机器 又还是提示:error:unknown filesystem grub rescue
那前面的set命令 又得来一次 进入到grub2的系统选择界面(图形化界面)
原因:更改的没有保存好 只是临时的 类似于终端临时修改环境变量一样
4、进入命令行启动Ubuntu
因为你还没有真正的修改grub,这个要到ubuntu里修改
进入系统启动项界面后,按C进入命令行模式
grub >set root=hd0,msdos4
grub >set prefix=(hd0,msdos4)/boot/grub
//里边的xxxx可以按Tab键自动补全,如果有acpi问题,在最后加一句acpi=off
grub >linux /vmlinuz-xxx-xxx root=/dev/sda4 (a对应hd0 b对应hd1 4对应msdos4)
grub >initrd /initrd.img-xxx-xxx
grub >boot 后自动跑很多的命令 估计在写到某个存储设备里 序列化
5、Ubuntu直接就正常启动了 进入ubuntu系统里修复grub
在终端里运行
sudo update-grub
重建grub到磁盘0的mbr
sudo grub-install /dev/sda (a对应hd0)
好啦,重启,一切搞定!
GNU GRUB 是一个多重操作系统启动管理器
GRUB不但有Linux版本,也有Windows版本
probing兄弟的《GRUB学习笔记》
Windows+Linux双系统时删除Linux系统(待验证)
1、从网上下载工具MbrFix(http://www.linuxidc.com/Linux/2007-11/8785.htm);
2、将工具MbrFix.exe解压到C盘根目录下;
3、以管理员身份打开cmd命令,即“开始——运行——输入‘cmd’命令——管理员身份运行”;
4、在C盘根目录下输入命令MbrFix /drive 0 fixmbr,它会提示You are about to Fix MBR,are you sure <Y/N>? 输入Y,回车即可。
5、在磁盘管理中删除Linux系统所在磁盘;
6、重启电脑后会发现,系统直接进入Windows启动界面
|
|