感谢http://www.linuxidc.com/Linux/2012-06/61983.htm,因为参考了其中的内容。
下面是修改和完善。
问题原因:
(win7,ubuntu双系统下)
强制关机;
ubuntu升级;
装机后重启-强制关机(我昨天是这一种,多次装机,每次都重启卡在那里,要按ctrl C; 然后,然后就没有然后了,见标题描述,两种情况都有。 );
硬件组合等原因;
其它未预料原因。
描述:
“error : unknown filesystem”
找不到normal.mod
解决办法:
解决办法有多种,以应对各种情况的各种问题。包括:boot repair 工具等。
这里仅叙述其中的一种,只对部分问题有效。
1:首先使用ls命令显示出ubuntu分区的安装信息:
1 grub rescue>ls
一般会罗列出所有磁盘的分区信息,比如(hd0,msdos1)(hd0,msdos2)(hd0,msdos4)(hd0,msdos7)(hd0,msdos10)等等
2:之后输入:
1 grub rescue>set
会列出当前grub的设置,比如prefix=(hd0,msdos7)/boot/grub,root=hd0,msdos7,或者prefix=(hd0,msdos7)/grub,root=hd0,msdos7,正是因为这些设置错误,才导致grub无法找到Ubuntu分区,之后是重新进行grub设置
3:如果你知道ubuntu是安装在哪一个分区的,比如(hd0,msdos7),则分别输入:
1 grub rescue >set root=hd0,msdos1 2 grub rescue> set prefix=(hd0,msdos1)/boot/grub 3 (有些情况下会是set prefix=(hd0,msdos1)/grub,以set之后显示的grub设置为依据)
4:之后输入:
1 insmod normal 回车
我尝试过的有 insmod /boot/grub/normal.mod (不记得了,大概成功过一次。)
insmod /grub/normal.mod
insmod /boot/grub/i386-pc/normal.mod (成功过一次。)
实际上,可以查看 /boot/grub/下是否有normal.mod文件,有时候没有,但是仔细看,发现grub下面有i386-pc,
其中有很多的模式文件和镜像文件,其中很可能就有我们需要的normal.mod 。
如果仍然出现 error:unknown filesystem 则重新回到步骤2进行grub设置;如果出现一个高亮的grub rescue>,表示分区设置正确了,之后再输入normal,回车,就又会看到我们那个熟悉的紫色界面了:),不过到这里还没有结束,因为如果你再次重启系统的话,依然会碰到error:unknown filesystem这个问题,然后你又要重复上诉步骤才能看到系统的选择界面,因此还有一步需要完成,
5:选择ubuntu,进入之后启动终端,输入如下命令
1 sudo update-grub 2 sudo grub-install /dev/sda (这里一定要注意是sda, 不是sda8,sda7 等分区名称。否则必然会出问题。)
修复grub分区信息,这样后就不会出现如步骤5中所诉的问题了