問題:
之前系統是Windows7 64bit(C盤)+ D,E盤(都是NTFS)+ Ubuntu。
今天,在Windows7中刪除了E盤,准備向其中安裝RedHat 6。 重啟Windows7之後發現Ubuntu的grub菜單不能啟動。屏幕顯示Invalid FileSystem。 (如果沒有記錯的話,呵呵)
分析
由於在Windows下面更改了分區狀態,刪掉了Ubuntu之前的一個分區,造成Ubuntu的分區由sda5變為sda4了,這樣找不到grub了,開機顯示
grub rescue>
解決
1. 先使用ls命令,找到Ubuntu的安裝在哪個分區:
grub rescue>ls
會羅列所有的磁盤分區信息,比方說:
(hd0,1),(hd0,5),(hd0,3),(hd0,2)
2. 然後依次調用如下命令:X表示各個分區號碼
grub rescue>ls (hd0,X)/boot/grub
如果都找不到的話,需要查一下是否因為Linux版本差異,造成grub的路徑不對,例如直接ls(hd0,X)/grub等等。
3. 假設找到(hd0,5)時,顯示了文件夾中的文件,則表示Linux安裝在這個分區。
4. 調用如下命令:
grub rescue>set root=(hd0,5)
grub rescue>set prefix=(hd0,5)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
5. 然後調用如下命令,就可以顯示出丟失的grub菜單了。
grub rescue>normal
6. 不過不要高興,如果這時重啟,問題依舊存在,我們需要進入Linux中,對grub進行修復。
進入Linux之後,在命令行執行:
sudo update-grub
sudo grub-install /dev/sda
(sda是你的硬盤號碼,千萬不要指定分區號碼,例如sda1,sda5等都不對)
7. 重啟測試是否已經恢復了grub的啟動菜單? 恭喜你恢復成功!
摘自 SamCN