http://blog.csdn.net/ritterliu/article/details/21646387
把一个原来装有windows+ubuntu双系统的机器抹掉重装ubuntu12.04,没想到开机报error:unknown file system,只有grub rescue可以用,多次尝试,修复成功。
1. 查看分区:
grub rescue>ls
显示一系列的 (hd0,1) (hd0,6)等等
2. 寻找ubuntu所在分区:
grub rescue>ls (hd0,1)/boot/grub
回车,如果是unknown filesystem继续试下一个分区
如出现 invalid arch independent ELF magic,goto Other
否则
找到了,我的ubuntu是在(hd0,6)。
3. 修改启动分区:
grub rescue>root=(hd0,6)
grub rescue>prefix=/boot/grub
grub rescue>set root=(hd0,msdos6)
grub rescue>insmod normal
到这里如果一切正常,继续,否则说明ubuntu所在分区不正确,先找好再继续。
grub rescue>normal(进入启动菜单)
4. 按C进入命令行模式:
grub>set root=hd0,6
grub>set prefix=(hd0,msdos6)/boot/grub
grub>linux /vmlinuz root=/dev/sda6(可按Tab键自动补全/vmlinuz)
grub>initrd /initrd.img (可按Tab键自动补全/initrd*)
grub>boot
5.进入ubuntu修复grub:
sudo update-grub
sudo grub-install /dev/sda //重建grub到第一个硬盘mbr
6.重启,OK!
Other:
grub提示:“error:invalid arch independent ELF magic.
grub rescure>
解决办法:安装光盘,启动机器
sudo fdisk -l
sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt /dev/sda
取出光盘 重新启动
grub提示 file not found 等错误,但系统能够启动起来了,进入系统后
执行sudo update-grub,grub引导时错误信息消失,问题解决
这样也行
然后用live cd 或者 live usb启动,在live cd的ubuntu的终端中依次输入以下命令(X改成上面记录下来数值)(这两句需要验证):
如果/boot没有单独分区:
代码:
sudo mount /dev/sdaX /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda
如果/boot单独分区,则:
代码:
sudo mount /dev/sdaX /mnt
sudo grub-install --boot-directory=/mnt /dev/sda