本人裝的是windows 7與ubuntu 10.10雙系統,ubuntu非wubi安裝,在一次操作中将自己的圖形界面搞垮掉了,剛好也想重裝下ubuntu于是乎進入windows 7就将ubuntu下所有分區給删除了,然後準備重新硬碟安裝ubuntu,一切就緒後重新開機機器,可是懷具發生了,no such partition grub rescue>(好像是這個吧,不太記得了- -) 一開始有些傻眼,可能是由于這段時間習慣了使用指令吧,是以習慣性地ls一下,成功了,然後再pwd接着就是各種unknow- - 于是乎才感到不妙,原來是自己當初做ubuntu時系統改成了grub引導的,而grub也已經寫入了mbr,這個時候删除了ubuntu分區後導緻無法正确引導windows 7進入windows系統,這裡給出幾個解決方法,然後再說下我是怎麼修複的. 方法一: grub rescue模式下修複 由于在rescue模式下,隻有少量的基本指令可用,必須通過一定的操作才能加載正常子產品,然後進入正常模式。 rescue模式下可使用的指令有:set,ls,insmod,root,prefix(設定啟動路徑) 先假設grub2的核心檔案在(hd0,8)分區,再來看看怎樣從 rescue模式進入從(hd0,8)啟動的正常模式(normal)。 在 rescue模式下search指令不能用,對不清楚grub2檔案處于哪個分區的,可以用ls指令檢視,比如 ls (hd0,8)/ 檢視(hd0,8)分區根目錄,看看有沒有boot檔案夾 ls (hd0,8)/boot/ 檢視(hd0,8)分區的/boot目錄下檔案 ls (hd0,8)/boot/grub/ 檢視(hd0,8)分區/boot/grub目錄下檔案 通過檔案檢視,可以确定 grub2核心檔案處于哪個分區,接下來就可以進行從rescue到normal的轉變動作: 先 ls 看看分區,根據分區清單,猜下 / 分區的編号再 ls (hd0,x)/ 看分區目錄下檔案确定找到 / 分區,不對的話繼續找。找到 / 分區的 (hd0,x) 繼續 grub rescue>root=(hd0,x) grub rescue>prefix=/boot/grub grub rescue>set root=(hd0,x) grub rescue>set prefix=(hd0,x)/boot/grub grub rescue>insmod normal rescue>normal -------->若出現啟動菜單,按c進入指令行模式 rescue>linux /boot/vmlinuz-xxx-xxx root=/dev/sdax rescue>initrd /boot/initrd.img-xxx-xxx rescue>boot 核心版本号 -xxx-xxx可以按Tab鍵檢視後再手動補全。我是沒有找到,因為我已經把所有的ubuntu分區給删除了- - 方法二:找到你的windos安裝CD光牒,使用windows安裝CD光牒進行修複(不要重裝哦,重裝是沒用的).現在很多D版安裝CD光牒都有一些工具, 比如你可以進入PE系統進行修複. 方法三:做一個引導U盤,裡面放入一個PE系統,然後在PE裡修複方法四:重新安裝ubuntu這樣grub引導就又回來了方法一中,如果你使用的是windows xp系統,可以用fdisk /mbr這個指令修複,但我沒用過 windows 7可以用bootree /fixmbr bootree /fixboot 這個我也沒用過我使用的是第三種方法,這裡介紹一下首先啟動到PE下,然後可以找到一些工具,(我用的是diskgen),比如PQ什麼之類的,打開它後有一個修複主引導,點選後,你一定以為太簡單了,當然你重新開機機器後可以看到啟動菜單(我有多系統),你會很開心可是當你按下回車時卻發現懷具了,因為還是無法引導.......... 怎麼辦呢?于是乎我又啟動到PE,我是windows 7是以在我的系統盤windows/system32下有個叫作bcdedit的工具,相信很多人都知道在這裡可以設定winodws 7的引導資訊,于是乎在這裡進行了修複,當你使用指令bcdedit時會發現你的一些參數不正确了,那麼我們把它改成正确的,讓它可以正确引導我們的系統,下面給出bcdedit的指令參數等等内容在BCD中,硬碟或分區的GUID可分為如下幾類: {legacy} :指存在上一代Windows系統如Windows XP的硬碟或分區; {default} : 預設作業系統所在硬碟或分區; {current} : 目前硬碟或分區; {c34b751a-ff09-11d9-9e6e-0030482375e7} : 類似于這個格式的GUID指其他安裝了作業系統的硬碟或分區。 (注:這隻是個例子,具體數字根據硬碟或分區參數會有相應變化,但均會類似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。 BCDEDIT指令 bcdedit /? : 顯示指令幫助 bcdedit.exe /? CREATESTORE : 顯示指令參數“ CREATESTORE ”的詳細資訊,——當然,“ CREATESTORE ”也隻是示例,使用中對其他任何可用參數也均可使用類似格式檢視該參數的具體說明。 bcdedit 或 bcdedit /enum all : 顯示Vista和Windows 7系統目前的啟動設定資料,這時系統中所有安裝了作業系統的硬碟或分區均會顯示相應的 GUID 辨別,如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。使用BCDEdit備份與恢複啟動選項 在對Vista和Windows 7的啟動選項修改之前,最好先對其備份,以防萬一操作失誤或其他故障導緻系統無法啟動。 bcdedit /export “D:\BCD Backup\Bcd Backup” : 将啟動設定備份到D盤 “BCD Backup” 目錄下; bcdedit /import “D:\BCD Backup\Bcd Backup” : 恢複之前備份在D盤 “BCD Backup”目錄下啟動選項。下面詳細介紹使用BCDEdit修改啟動選項的常用指令格式: bcdedit /set {legacy} Description “Windows XP Professional SP2” : 修改上一代作業系統在啟動菜單中的顯示内容,比如說我們也可将其修改為“Vista天地專用XP SP2”之類。注意,指令中的引号不可省略; bcdedit /set {current} description “Vista和Windows 7 Build 5270 x86″ : 修改目前啟動硬碟或分區上的作業系統在啟動菜單中的顯示内容。注意,目前分區上的作業系統可能為Vista和Windows 7,也可以是其他系統,當然,指令中的引号也不可省略; bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Vista和Windows 7 Build 5270 x64” : 修改安裝于其他硬碟或分區的系統在啟動菜單中的顯示内容,使用這項指令時一定要注意該硬碟/分區的GUID輸入正确,相應的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”指令檢視。 bcdedit /default {current} : 将目前啟動硬碟/分區中的作業系統設定為預設啟動的系統; bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 設定指定GUID上的作業系統為預設啟動的系統; bcdedit /default {legacy} : 設定上一代Windows 系統Windows XP為預設啟動的系統; bcdedit /displayorder : 設定啟用菜單中各項的顯示順序,如: bcdedit.exe /displayorder {legacy} {current} 将首先顯示Windows XP,然後再顯示預設啟動的系統如Vista和Windows7 bcdedit /timeout 15 : 将預設的啟動菜單顯示時間30秒更改為15秒,當然,您可以将這個時間修改為任何您希望的數值。使用BCDEdit修複硬碟/分區結構錯誤 在對啟動選項的修改過程中,如添加或删除某個硬碟/分區時,可能會因操作中的不慎導緻硬碟/分區結構的混亂,除了采用恢複修改前的備份方法外,也可以首先使用BCDEdit來嘗試一下修複。 具體方法如下: X:\>X:\boot\fixntfs.exe -lh -all : 這時的“ X: ”指引導目錄 “boot” 所在的硬碟/分區; bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : 将指定GUID的分區設為啟動分區。注意,這裡的“ X: ”的GUID須與指定值不同,同時,運作該指令後,必須接着運作下面的osdevice指令; bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: : 将指定GUID的分區設為啟動分區。注意,這個指令必須與上面的device指令配對使用,同時“ X: ”的GUID須與指定值不同。這樣經過設定後就可以正常啟動到win7下了.
轉自http://blog.163.com/lixiangqiu_9202/blog/static/535750372011920530986?ignoreua