本人裝的是windows 7與ubuntu 10.10雙系統(tǒng),ubuntu非wubi安裝,在一次操作中將自己的圖形界面搞垮掉了,剛好也想重裝下ubuntu于是乎進(jìn)入windows 7就將ubuntu下所有分區(qū)給刪除了,然后準(zhǔn)備重新硬盤安裝ubuntu,一切就緒后重啟機(jī)器,可是懷具發(fā)生了,no such partition grub rescue>(好像是這個(gè)吧,不太記得了- -) 一開始有些傻眼,可能是由于這段時(shí)間習(xí)慣了使用命令吧,所以習(xí)慣性地ls一下,成功了,然后再pwd接著就是各種unknow- - 于是乎才感到不妙,原來是自己當(dāng)初做ubuntu時(shí)系統(tǒng)改成了grub引導(dǎo)的,而grub也已經(jīng)寫入了mbr,這個(gè)時(shí)候刪除了ubuntu分區(qū)后導(dǎo)致無法正確引導(dǎo)windows 7進(jìn)入windows系統(tǒng),這里給出幾個(gè)解決方法,然后再說下我是怎么修復(fù)的. 方法一:
grub rescue模式下修復(fù)
由于在rescue模式下,只有少量的基本命令可用,必須通過一定的操作才能加載正常模塊,然后進(jìn)入正常模式。
rescue模式下可使用的命令有:set,ls,insmod,root,prefix(設(shè)置啟動(dòng)路徑)
先假設(shè)grub2的核心文件在(hd0,8)分區(qū),再來看看怎樣從 rescue模式進(jìn)入從(hd0,8)啟動(dòng)的正常模式(normal)。
在 rescue模式下search命令不能用,對(duì)不清楚grub2文件處于哪個(gè)分區(qū)的,可以用ls命令查看,比如
ls (hd0,8)/ 查看(hd0,8)分區(qū)根目錄,看看有沒有boot文件夾
ls (hd0,8)/boot/ 查看(hd0,8)分區(qū)的/boot目錄下文件
ls (hd0,8)/boot/grub/ 查看(hd0,8)分區(qū)/boot/grub目錄下文件
通過文件查看,可以確定 grub2核心文件處于哪個(gè)分區(qū),接下來就可以進(jìn)行從rescue到normal的轉(zhuǎn)變動(dòng)作:
先 ls 看看分區(qū),根據(jù)分區(qū)列表,猜下 / 分區(qū)的編號(hào)再 ls (hd0,x)/ 看分區(qū)目錄下文件確定找到 / 分區(qū),不對(duì)的話繼續(xù)找。找到 / 分區(qū)的 (hd0,x) 繼續(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 -------->若出現(xiàn)啟動(dòng)菜單,按c進(jìn)入命令行模式
rescue>linux /boot/vmlinuz-xxx-xxx root=/dev/sdax
rescue>initrd /boot/initrd.img-xxx-xxx
rescue>boot
內(nèi)核版本號(hào) -xxx-xxx可以按Tab鍵查看后再手動(dòng)補(bǔ)全。 我是沒有找到,因?yàn)槲乙呀?jīng)把所有的ubuntu分區(qū)給刪除了- - 方法二:找到你的windos安裝光盤,使用windows安裝光盤進(jìn)行修復(fù)(不要重裝哦,重裝是沒用的).現(xiàn)在很多D版安裝光盤都有一些工具, 比如你可以進(jìn)入PE系統(tǒng)進(jìn)行修復(fù). 方法三:做一個(gè)引導(dǎo)U盤,里面放入一個(gè)PE系統(tǒng),然后在PE里修復(fù) 方法四:重新安裝ubuntu這樣grub引導(dǎo)就又回來了 方法一中,如果你使用的是windows xp系統(tǒng),可以用fdisk /mbr這個(gè)命令修復(fù),但我沒用過 windows 7可以用bootree /fixmbr bootree /fixboot 這個(gè)我也沒用過 我使用的是第三種方法,這里介紹一下 首先啟動(dòng)到PE下,然后可以找到一些工具,(我用的是diskgen),比如PQ什么之類的,打開它后有一個(gè)修復(fù)主引導(dǎo),點(diǎn)擊后,你一定以為太 簡(jiǎn)單了,當(dāng)然你重啟機(jī)器后可以看到啟動(dòng)菜單(我有多系統(tǒng)),你會(huì)很開心可是當(dāng)你按下回車時(shí)卻發(fā)現(xiàn)懷具了,因?yàn)檫€是無法引導(dǎo).......... 怎么辦呢?于是乎我又啟動(dòng)到PE,我是windows 7所以在我的系統(tǒng)盤windows/system32下有個(gè)叫作bcdedit的工具,相信很多人都知道 在這里可以設(shè)置winodws 7的引導(dǎo)信息,于是乎在這里進(jìn)行了修復(fù),當(dāng)你使用命令bcdedit時(shí)會(huì)發(fā)現(xiàn)你的一些參數(shù)不正確了,那么我們把 它改成正確的,讓它可以正確引導(dǎo)我們的系統(tǒng),下面給出bcdedit的命令參數(shù)等等內(nèi)容 在BCD中,硬盤或分區(qū)的GUID可分為如下幾類:
- {legacy} :指存在上一代Windows系統(tǒng)如Windows XP的硬盤或分區(qū);
- {default} : 默認(rèn)操作系統(tǒng)所在硬盤或分區(qū);
- {current} : 當(dāng)前硬盤或分區(qū);
- {c34b751a-ff09-11d9-9e6e-0030482375e7} : 類似于這個(gè)格式的GUID指其他安裝了操作系統(tǒng)的硬盤或分區(qū)。
(注:這只是個(gè)例子,具體數(shù)字根據(jù)硬盤或分區(qū)參數(shù)會(huì)有相應(yīng)變化,但均會(huì)類似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。 BCDEDIT命令 - bcdedit /? : 顯示命令幫助
- bcdedit.exe /? CREATESTORE : 顯示命令參數(shù)“ CREATESTORE ”的詳細(xì)信息,——當(dāng)然,“ CREATESTORE ”也只是示例,使用中對(duì)其他任何可用參數(shù)也均可使用類似格式查看該參數(shù)的具體說明。
- bcdedit 或 bcdedit /enum all : 顯示Vista和Windows 7系統(tǒng)當(dāng)前的啟動(dòng)設(shè)置數(shù)據(jù),這時(shí)系統(tǒng)中所有安裝了操作系統(tǒng)的硬盤或分區(qū)均會(huì)顯示相應(yīng)的 GUID 標(biāo)識(shí),如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。
使用BCDEdit備份與恢復(fù)啟動(dòng)選項(xiàng) 在對(duì)Vista和Windows 7的啟動(dòng)選項(xiàng)修改之前,最好先對(duì)其備份,以防萬一操作失誤或其他故障導(dǎo)致系統(tǒng)無法啟動(dòng)。 - bcdedit /export “D:\BCD Backup\Bcd Backup” : 將啟動(dòng)設(shè)置備份到D盤 “BCD Backup” 目錄下;
- bcdedit /import “D:\BCD Backup\Bcd Backup” : 恢復(fù)之前備份在D盤 “BCD Backup”目錄下啟動(dòng)選項(xiàng)。
下面詳細(xì)介紹使用BCDEdit修改啟動(dòng)選項(xiàng)的常用命令格式: - bcdedit /set {legacy} Description “Windows XP Professional SP2” : 修改上一代操作系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容,比如說我們也可將其修改為“Vista天地專用XP SP2”之類。注意,命令中的引號(hào)不可省略;
- bcdedit /set {current} description “Vista和Windows 7 Build 5270 x86″ : 修改當(dāng)前啟動(dòng)硬盤或分區(qū)上的操作系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容。注意,當(dāng)前分區(qū)上的操作系統(tǒng)可能為Vista和Windows 7,也可以是其他系統(tǒng),當(dāng)然,命令中的引號(hào)也不可省略;
- bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Vista和Windows 7 Build 5270 x64” : 修改安裝于其他硬盤或分區(qū)的系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容,使用這項(xiàng)命令時(shí)一定要注意該硬盤/分區(qū)的GUID輸入正確,相應(yīng)的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”命令查看。
- bcdedit /default {current} : 將當(dāng)前啟動(dòng)硬盤/分區(qū)中的操作系統(tǒng)設(shè)置為默認(rèn)啟動(dòng)的系統(tǒng);
- bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 設(shè)置指定GUID上的操作系統(tǒng)為默認(rèn)啟動(dòng)的系統(tǒng);
- bcdedit /default {legacy} : 設(shè)置上一代Windows 系統(tǒng)Windows XP為默認(rèn)啟動(dòng)的系統(tǒng);
- bcdedit /displayorder : 設(shè)置啟用菜單中各項(xiàng)的顯示順序,如:
bcdedit.exe /displayorder {legacy} {current} 將首先顯示W(wǎng)indows XP,然后再顯示默認(rèn)啟動(dòng)的系統(tǒng)如Vista和Windows7 - bcdedit /timeout 15 : 將默認(rèn)的啟動(dòng)菜單顯示時(shí)間30秒更改為15秒,當(dāng)然,您可以將這個(gè)時(shí)間修改為任何您希望的數(shù)值。
使用BCDEdit修復(fù)硬盤/分區(qū)結(jié)構(gòu)錯(cuò)誤 在對(duì)啟動(dòng)選項(xiàng)的修改過程中,如添加或刪除某個(gè)硬盤/分區(qū)時(shí),可能會(huì)因操作中的不慎導(dǎo)致硬盤/分區(qū)結(jié)構(gòu)的混亂,除了采用恢復(fù)修改前的備份方法外,也可以首先使用BCDEdit來嘗試一下修復(fù)。 具體方法如下: - X:\>X:\boot\fixntfs.exe -lh -all : 這時(shí)的“ X: ”指引導(dǎo)目錄 “boot” 所在的硬盤/分區(qū);
- bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這里的“ X: ”的GUID須與指定值不同,同時(shí),運(yùn)行該命令后,必須接著運(yùn)行下面的osdevice命令;
- bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這個(gè)命令必須與上面的device命令配對(duì)使用,同時(shí)“ X: ”的GUID須與指定值不同。
這樣經(jīng)過設(shè)置后就可以正常啟動(dòng)到win7下了.
|