我的解決方法:在grub secure> 模式下進行如下操作,判斷問題出現的原因,(hd?,?)表示安裝的引導分區
grub rescue>ls
grub rescue>ls (hd?,?)/boot/grub
grub rescue>set root(hd?,?)grub rescue>set prefix=(hd?,?)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
結果到這裏就出現前面的錯誤:invalid arch independent ELF magic,可以估計問題就是在這裏了。
接下來就考慮要使用Live CD,嘗試着把Grub配置爲普通版本進行還原。首先查看分區信息如下:
sudo fdisk -lu /dev/sda
然後掛載硬盤:
#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
參考:
1, http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=348503&sid=2611b20e761a2f8e6f3788d41d3c7475
2, http://blog.csdn.net/li_hai/article/details/7776213
3, http://www.cnblogs.com/samcn/archive/2011/03/30/1999615.html
4, http://blog.csdn.net/woty123/article/details/7934417