1. 问题描述:开机显示:GRUB loading
error:unknow filesystem
grub rescue>
2. 原因分析
造成该问题的可能原因有:
1)直接在window下格式化ubuntu的分区
2)调整磁盘 利用工具合并修改、删除分区使磁盘分区数目发生变化
3)重装系统选择不同分区 格式化之前分区
4)恢复到老版本系统
3. 方法/步骤
A、先使用ls命令,找到linux安装在哪个分区:在 grub rescue>下输入ls命令,即
grub rescue>ls
输入命令回车后会罗列所有的磁盘分区信息,比方说:
(hd0,1),(hd0,5),(hd0,3),(hd0,2)或(hd0,msdos1)如此
B、然后依次调用如下命令: X表示各个分区号码如果/boot没有单独分区,用ls (hd0,X)/boot/grub命令,即
grub rescue>ls (hd0,X)/boot/grub
如果/boot单独分区,则用 ls (hd0,X)/grub命令,即
grub rescue>ls (hd0,X)/grub
如果X对应的不是Linux安装分区,则输入命令后会提示unknow filesystem字样。如果X就是Linux安装的分区,则会列出一些文件。假设找到(hd0,5)时,显示了文件夹中的文件,则表示Linux安装在这个分区。
C、如果找到了正确的grub目录,则设法临时性将grub的两部分关联起来,方法如下:
a) 以下是/boot没有单独分区的命令:
grub rescue>grub rescue>set root=(hd0,5)
grub rescue>grub rescue>set prefix=(hd0,5)/boot/grub
grub rescue>grub rescue>insmod normal
b) 以下是/boot 单独分区的命令:
grub rescue>set root=(hd0,5)
grub rescue>set prefix=(hd0,5)/grub
grub rescue>insmod normal
此处很多地方说要用到什么boot/路径之类,或者要用到normal**.mod**,经过测试,不要加后缀成功运行
D、然后调用如下命令,就可以显示出丢失的grub菜单了。
grub rescue>grub rescue>normal
不过不要高兴,如果这时重启,问题依旧存在,我们需要进入Linux中,对grub进行修复。启动起来,进入Linux系统之后,在终端执行:
$: sudo update-grub
$: sudo grub-install /dev/sda
(sda是你的硬盘号码,千万不要指定分区号码,例如sda1,sda5等都不对)重启测试是否已经恢复了grub的启动菜单? 恭喜你恢复成功!
网友评论