问题:
电脑装的win7和ubuntu双系统,在win7下将F盘重新划分为两块之后,重新启动,不能正常进入系统。提示如下:
Error:Unknow Filesystem
grub rescue>
grub rescue问题出现原因:
安装ubuntu时,会默认将系统的引导控制权转交给ubuntu并且存在于ubuntu的分区中,格式化ubuntu分区后,grub的引导文件就没了,所以进不去系统。
解决方法:
网上有几种解决方法,一种是要有win7光盘。用win7的光盘引导系统后选择自定义安装win7,在出现选择win7安装分区的界面时,按shift+F10掉出dos对话框输入 bootrec/fixmbr 命令,回车提示成功后重启即可。因为手边临时没有光盘,所以没有采用这种方法。
另一种,是我最终采用的方法,并不需要其它盘或设备。步骤是:
(1)查看分区:(记得当然最好,可以跳过)
输入ls命令,列出所有的分区。我这里的信息如下:
grub rescue>ls
(hd0) (hd0,msdos10) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
grub rescue>
PS:据说这是我用的grub2,所以会有msdos字样,grub用户没有,直接就是数字
(2)查找ubuntu所在分区:
用ls命令加分区,来查找ubuntu所在分区。如下:
grub rescue>ls (hd0,msdos10)
将分区都试一下,直到不出现unknown filesystem的提示为止。我在进行到分区7查看时,提示的是bad filename,不放心把剩下的都查看了一遍全是unknown Filessystem。便认为是分区7了,进行了后面的操作。
(3)设定启动分区和路径
输入下面的命令进行设定
grub rescue>set root=(hd0,msdos7) //刚找到的分区
grub rescue>set prefix=(hd0,msdos7)/boot/grub //grub目录
(4)加载普通模式模块,进入normal模式
grub rescue>insmod /boot/grub/normal.mod //对应上面的grub目,normal.mod在grub目录下
PS:貌似输入insmod normal也可以
grub rescue>normal
(5)重新设定系统启动的分区和路径
在normal命令输入并回车之后,就看到熟悉的系统启动项界面了,选择ubuntu进入。
打开终端,进行grub的更新和重设。命令如下:
sudo update-grub //grub能够发现分区的改变
sudo grub-install /dev/sda //sda是启动磁盘,重建grub到第一硬盘mbr
(6)重启,发现一切正常