新增磁盘分区后,Ubuntu16.04LTS进入不了

来源:互联网 发布:二元自动交易软件 编辑:程序博客网 时间:2024/05/21 09:10

新增磁盘分区后,Ubuntu16.04LTS进入不了

环境:
windows7(32bit),Ubuntu16.04(32bit)双系统

原来搭建了一个win7和Ubuntu双系统,突然脑子一抽,觉得win7太老了,再搞个win10吧,嗯,楼主怀着好奇的心理,开始了3系统;打开计算机管理–>存储–>磁盘管理–>选择相应的磁盘(我的是E盘,这个根据实际情况定)右击–>压缩卷(具体多少G自己定,楼主是想试试win10就给了49.01G);用U盘咔咔地在新压缩的盘里安装了win10(不知道怎么用U盘安装win10的自行google或baidu);等到重新打开Ubuntu16.04的时候傻眼了,出现

error: no such partition
grub rescue>

进入了Ubuntu的救援模式,不作死就不会死,没事搞啥三系统啊,但是不甘心啊,win7和Ubuntu16.04搞了那么久,而且Ubuntu16.04这个系统楼主花了蛮长一段时间去安装一些应用;重装是不会去干了,除非实在是找不到办法了;于是乎就google,不负楼主的努力,最终找到了解决办法:
ls #井号后面是注释出现一些列分区列表,然后每一个试一下,知道出现可以认识的分区表,如果不清楚自己/root所在的分区的话,可以用ls (hd0, 所在分区) 比如楼主的在8,所在分区就是8,那么就应该用ls(hd0,8)这个可以试出来是不是Ubuntu系统的系统文件;而且楼主的/boot分区是独立分区;

ls (hd0,8)/

看一下下面是否有grub 文件夹,找到/boot分区之后,就执行下下面命令:

set root=(hd0,8)
set prefix=(hd0,8)/grub/

这里的8,是根据上一部的尝试得出的,不同电脑情况不一样。
最后执行下

insmod normal

如果有报错看是什么错,楼主卡在这几天了,原因是眼神不太好,因为楼主google的时候,搜到了一篇很接近的帖子,但是人家用的是win7和ubuntu12.04的双系统,也硬盘分区之后Ubuntu系统进不去;但人家执行的 insmod grub/i386-pc/normal.mod命令,而Ubuntu16.04会自动识别normal所在的目录和后缀.mod;导致楼主每次执行insmod grub/i386-pc/normal.mod都报错。有时候系统不一样之后,命令的解析就可能不一样了,不能完全照搬!!!
#如果以上没有出现问题,就进入下一步

normal

最后就可以进入Ubuntu里面了。
但是如果没有重建grub的话,重启之后还是进入Ubuntu的救援模式;
怎么办呢?进入Ubuntu系统之后输入下面命令:

sudo update-grub
sudo grub-install /dev/sda

输入之后,DT的事情来了,不是win和ubuntu双系统吗(win7、win10、ubuntu三系统都是一样的)?你会发现这样搞了之后,没有了win7、ubuntu的双系统启动项了,直奔ubuntu系统的启动界面了。
这显然是MBR被grub覆盖了, 这时候也不要气馁,重建下MBR分区表。

有时候,要会去折腾,在折腾的过程当中学会思考,去发现自己还有很多东西不懂。当你搞好之后,你会发现自己可以去做一些自己以前不会做的事,我相信这就是一种进步!!!

最后,附上楼主参考的帖子:
硬盘分区重新调整后,双系统不能进入Ubuntu14.04

如果有兴趣装个双系统的话,参考:
在win7下用U盘安装Ubuntu14.04,双系统

楼主,也是参考别人的经验,不喜勿喷,第一次写博客,请大家多多指教!

0 0