列表 上一篇 下一篇

error:unknown filesystem grub rescue>,并且WINPE系统启动过程死循环

参考:
http://zhidao.baidu.com/question/531572433.html?bd_source_light=1550576
http://www.2cto.com/os/201111/112327.html

事件背景: 原始系统Windows 8(已经Ghost备份),为学Ruby on Rails,在Windows通过自带磁盘管理,划出一个分区给Ubuntu 12,通过U盘成功安装Ubuntu,事后且两系统都能正常启动。 事件前提: 硬盘没有磕着,碰着,摔着...也就是没有受到物理损伤; 事件起因: 由于Window装的软件过多,启动慢,所以我用光盘WinPE格式化C盘进行Ghost恢复,但是卡在99%不动(以前单系统我都是这样弄没出过这种情况),我只能强制关机。 事件现象: 然后开机就出现了"error:unknown filesystem grub rescue" ; 问题分析: 能够出现error:unknown filesystem grub rescue说明MBR没坏,坏的是分区表。

修复分区表的工具有WinHex、DiskGenius,鉴于DiskGenius的简单易用,这里选择DiskGenius尝试,首先从U盘启动winpe,进入winpe后运行DiskGenius。可是启winpe过程中进度条一直循环就是进不了系统,尝试dos也进不了系统,笔者认为,系统在启动系统时都要去读硬盘(包括分区信息),所以找不到正确的分区信息而陷入循环状态。所以读取硬盘的工作要推迟到系统启动之后,两种方法,1.使用启动时不读取硬盘的系统。2.使用usb转sata易驱线,在任意系统启动之后再通过易驱线把硬盘连上电脑。现在很多系统在启动时都会读取硬盘,因为sata接口的硬盘不支持热插拔,所以系统默认是在启动时就读取硬盘,但是完全可以在系统启动之后读取硬盘(sata接口,不是通过易驱线连接的硬盘,系统启动前就要把硬盘插上,而不是系统启动之后再插硬盘)。这里说一下第二种方法,有的网友说启动winpe,Diskgenius还是看不到硬盘;但是用ubuntu的LiveCD启动后,通过易驱线,可以解决。可以看出不同系统、工具对硬盘的处理还是不一样的,建议遇到类似的问题多试几个方法。
由于笔者没有易驱线,逛了校园里所有的电脑医院,也没买到易驱线。只有另找其他方法了。系统从硬盘启动,启动到grub rescue>,

grub rescue>ls

查看所有可以识别的分区,会出现(hd0,modos1),(hd0,modos6),(hd0,modos7),(hd0,modos8),(hd0,modos9),(hd0,modos10),(hd0,modos11)等很类似的东西,然后顺序查看这些分区中哪一个分区中存在grub目录。假如grub目录所在分区是(hd0,modos8),

grub rescue > set root=(hd0,8) grub rescue > set prefix=(hd0,8)/grub grub rescue > insmod normal grub rescue > normal

就可以看到grub的引导菜单了。set root不是给linux传递root分区参数,而是指定grub下命令的根分区(或者说/的意义),set prefix用于设定路径的前缀,linux编译、安装软件经常用到。insmod用于加载模块。笔者选择ubuntu系统,但是启动之后,提示为/home准备的磁盘尚未就绪或不存在,这时选择M,手动指定分区,这时以root身份登录系统。笔者首先fdisk -l一下,结果如下 fdisk-l
可以看出很多分区,还很有特点。blkid命令同样显示很多分区,笔者试着挂在最开始的几个分区,里面的文件就是笔者的文件,然后把文件复制出来。之后就可以随便搞硬盘了。

dd if=/dev/zero of=/dev/sda bs=512 count=1

这条命令直接把mbr全写为0,是winpe启动时不再读硬盘时死循环。 然后笔者使用winpe启动电脑,果然可以正常进入。这时完全可以使用分区工具重新分区。但是笔者试了试DiskGenius的搜索分区(注:网上很多网友说使用重建mbr即可,但是笔者试了试重建mbr,并没有找到正确的分区),没想到找到了正确的分区。一切就这样回来了。

最后总结一下

万能的对策:

1.mbr置零,无论是通过grub进normal模式,选择linux系统启动,使用dd命令,还是通过易驱线在winpe下操作mbr,还是通过易驱线在winpe下操作mbr,还是通过低格等操作mbr。 2.尝试用DiskGenius搜索分区 3.如果能搜索到分区,则使用easybcd添加个系统的引导菜单

下面再说几个常用工具:

mbr操作工具: dd命令、BOOTICE、DiskGenius 分区操作工具: DiskGenius 引导系统工具 easybcd