我的電腦是Windows 7和Ubuntu 10.04的雙系統。
       以下兩種方法只適用於用wubi法安裝的ubuntu
       在Ubuntu下,對該系統進行升級,升級過程中,有一個提示,問是否要安裝grub,我選擇了安裝。升級結束後,重啟電腦,在BIOS載入結束後,出現了一個類似dos介面的畫面,上面寫著“no such device  (後面是一串東西,略掉)”,然後是提示輸入進行grub rescue,我對作業系統知之甚少,可以視為什麼都不懂,所以,立即就蒙掉了。在網上找了些方法,簡單試了下,沒有成功。

  以下第一種方法只適用於用wubi法安裝的ubuntu第二種方法則不侷限於此。

方法一:
      

     沒有Ubuntu的安裝盤,也沒有Windows的安裝盤,所以,很希望不借助盤,光靠輸些命令就搞定。

    今天,中午我去了朋友那裡,在那邊待了半天,上網找資料,最後的解決方案是這樣的(說了這麼多廢話,終於到正題了):

    1、在網上下載一個可以修復mbr的軟體,叫MbrFix.exe

    2、使用WinPE這個簡化版的Windows系統,進入電腦

  WinPE版本很多的,大小不等。我只是為了修復自己的系統,所以就用個簡單的。   

    說下怎樣使用WinPE。

    首先我們要做個系統啟動引導盤,可以使用U盤或光碟。

    (1)下載一個WinPE_U.iso,我沒有光碟,選擇用U盤做一個系統啟動引導盤。

    (2)下載一個軟體,叫“UltraISOPortable”,可以搜“UltraISO”找到的。這個軟體用來將(1)中下載得到的映象檔案,寫入硬碟(U盤)或軟盤。

    (3)優盤接入電腦,啟動UltraISO軟體,“檔案”-“開啟”-找到那個WinPE映象檔案開啟,再點選“啟動”-“寫入硬碟映像”,此時,又跳出個框框,上面描述了映象檔案的資訊以及待寫入的硬碟的資訊,請確認不要寫錯盤。“寫入方式”我選擇了“USB-HDD+”,然後要“格式化”,即格式化U盤,所以要事先做好U盤中檔案的備份工作。再點選“寫入”,就可以了。建議使用大於等於128M的U盤,不要太小(如果你使用的映象檔案大,那麼U盤要更大)。

     上面的操作都是在朋友的電腦上完成的,因為我電腦開不了機嘛。下面就帶著製作好的U盤系統引導盤,去折騰自己的電腦。

     說下如何使用剛才製作的U盤型系統啟動引導盤,順利開機。

     電腦(我的待修復電腦)關掉。U盤接入電腦,啟動,進入BIOS系統。不同的電腦,進入BIOS的方式不一樣,各位自己看著辦,我的電腦是按DEL鍵。不同的電腦,BIOS的介面也不一樣,我就不多說了,反正,我們進來的目的就是為了將“First Boot Device”或者“Hard Disk Drives”或者其他什麼名(不同電腦,這個項的名字有差別,相信各位肯定能找到,反正和“Boot”的設定相關)的值的首選,改成我們的U盤,而不是電腦上的系統硬碟。相信各位肯定可以成功修改該值!修改完後,記得按F10,將修改結果儲存下,退出BIOS,然後,就等著進入Windows PE吧。

    之前說過,我的WinPE很簡單,所以進去後,介面極其簡潔,應用軟體一個沒有。沒有關係,反正我只是想進入系統盤C盤做些修復工作。

    

    3、將MbrFix.exe軟體拷貝到C盤下,該軟體在U盤裡,就是你用來做系統啟動引導盤的U盤,在你將它做成引導盤後,它餘下的空間仍然可以用來存東西的。

    我進入C盤時,看到這樣幾個檔案“wubildr”和“wubildr.mbr”等,之前說過我不懂作業系統,可是看到它們,心裡就有底了。我使用wubi方式安裝的Ubuntu。

    4、進入dos介面,這個,不用我說怎麼進吧?然後到C盤下。執行些命令。

    此時,網上有說,執行命令“MbrFix /drive 0 fixmbr /yes”,我試了,再重啟後,發現問題依然在。於是再次進入WinPE,進入dos,到C盤下,執行MbrFix /?可以看到幫助資訊。我執行了“MbrFix /drive 0 listpartitions”,輸出一堆資訊,然後又試著將命令中的數字“0”改成其他數字,發現,只有在0、1下執行成功,其他數字都說找不到該分割槽。所以猜想,可能之前只修復了0分割槽的mbr,1分割槽沒有修復。因此,又執行了“MbrFix /drive 1 fixmbr /yes”,重啟電腦,成功了!出現了選擇進入XP還是Ubuntu的介面。

    注意,重啟電腦時,要將那個“First Boot Device”改為從本地系統硬碟啟動,英文名字忘記了,相信各位能成功!各位可以在第一次改時留意下,在這次改時,回覆BIOS到原來那樣就可以了。只是不插入U盤系統盤,可能就沒有U盤這個選項了,沒有關係。

   

    由於是詳細記錄了自己的操作過程,所以,可能有些話多。個人覺得還是寫詳細些好,希望可以使各位少用幾次搜尋引擎呀。

     我剛才試著將上面提到的三個東西“WinPE_U.iso”,“UltraISOPortable.rar”,“MbrFix.exe”壓縮成一個包上傳到CSDN的下載資源裡,它不允許,說最多15M。

    除了“WinPE_U.iso”版本多,要找到合適的,其他兩個都容易下載到。

方法二:

      首先你需要一個ubuntu10.04或者ubuntu10.10的光碟映象並將它刻成光碟或者寫入u盤做引導啟動,進入終端。下面說說具體如何修復:

如果你是硬碟安裝的話,可以參照下面的步驟:

終端輸入grub
grub> find /boot/grub/stage1
(hd0,1) //記錄下此處的輸出
grub>root (hd0,1)
grub>setup (hd0)
reboot

如果是wubi的安裝的可以引導進入終端後用下面的方法

grub> ls #檢視所有的硬碟和分割槽資訊
grub> ls (hd0,x)/ #一般都是一塊硬碟,所以為hd0,後面的x是你安裝ubuntu的分割槽號,顯示該盤下的目錄
grub> insmod ntfs #載入ntfs模組,因為WUBI將ubuntu安裝到了我分的ntfs盤上
grub> set root=(hd0,x) #這裡(hd0,x)是找到的ubuntu分割槽
grub> ls $Boot #找到BOOT分割槽的UUID號,下一步要用到
grub> search –no-floppy –fs-uuid –set UUID #這裡的UUID是上步中找到的
grub> loopback loop0 /ubuntu/disks/root.disk #設loop0,WUBI將ubuntu安裝成了一個root.disk檔案
grub> set root=(loop0) #重設root
grub> linux /boot/vmlinuz….(tab鍵補全) root=/dev/sdax loop=/ubuntu/disks/root.disk to quiet splash #載入核心,其中sdax的x是開始找到的分割槽號(hd0,x)
grub> initrd /boot/initrd.img…..(tab鍵補全)
grub> boot
回車後就可以進入系統了,進入終端修復grub引導檔案
update-grub2
reboot

希望上面整理滴方法對升級後無法正常引導啟動的朋友有所幫助