Ubuntu12.04推出后,首先安装64位使用一段时间,后来重新安装32位系统,使用时段时间后,基本没体会出两者的区别,随又换回64位,安装很顺利,/home分区不格式化。
按转完毕,重启动:grub提示:“error:invalid arch independent ELF magic.
grub rescure>
解决办法:安装光盘,启动机器
#sudo mount /dev/sda2 /mnt
#sudo mount /dev/sda1 /mnt/boot
#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
更多的资料
http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=348503&sid=2611b20e761a2f8e6f3788d41d3c7475
症状:
开机显示:GRUB loading
error:unknow filesystem
grub rescue>
原因:
已经发现下面几种操作会导致这种问题:
1,想删除ubuntu,于是直接在windows下删除/格式化了ubuntu所在的分区。
2,调整磁盘,利用工具合并/分割/调整/删除分区,使磁盘分区数目发生了变化。
3,重新安装系统,把linux安装到了新分区,原有分区已经格式化,但是没有重新安装grub2。
4,用ubuntu备份工具/衍生版制造工具等,把主分区回复成了8.X的老版本,结果老版本的grub是grub1,于是把grub2破坏掉了。
总归,是由于操作者不知道grub2分为两部分,一部分(一般情况下)写在了mbr上,另一部分写在了某个分区的/boot/grub目录(如果/boot单独分区,则直接写在对应分区的/grub目录)里面。由于上述操作,致使grub2的mbr里面的那一部分找不到/grub目录里面的那一部分了(或者那一部分已经删除了)。
思路:
方法1,彻底删除grub2,让这个提示不再出现:
适用于已经不想再使用ubuntu,要转回windows的人。
这个很简单,只要你有Windows启动盘(非Ghost),用它启动,至选择安装位置,不用真正安装,退出重启就可以。
或者用它启动到故障修复台,运行fixboot或者fixmbr都可以。
win7命令行下,则是执行:BootRec.exe /fixmbr
(/fixmbr修复mbr, /FixBoot修复启动扇区,/ScanOs检测已安装的win7,/RebuildBcd重建bcd。)
方法2,重新安装、修复grub2
1. 先使用ls命令,找到Ubuntu的安装在哪个分区:
在 grub rescue>下输入以下命令: