佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > windows7系統(tǒng)引導故障的解決修復mbr圖文教程

windows7系統(tǒng)引導故障的解決修復mbr圖文教程

熱門標簽:科大訊飛語音識別系統(tǒng) 呼叫中心案例 萬科 硅谷的囚徒呼叫中心 電話機器人搭建 電銷機器人源碼 電銷機器人 鐵路電話系統(tǒng)

windows7的啟動過程的常識:電腦加電后,首先是啟動BIOS程序,BIOS自檢完畢后,找到硬盤上的主引導記錄MBR,MBR讀取DPT(分區(qū)表),從中找出活動的主分區(qū),然后讀取 活動主分區(qū)的PBR(分區(qū)引導記錄,也叫dbr,究竟該叫什么,網(wǎng)絡上爭論未休,我們姑且叫它pbr吧),PBR再搜尋分區(qū)內(nèi)的啟動管理器文件 BOOTMGR,在BOOTMGR被找到后,控制權(quán)就交給了BOOTMGR。BOOTMGR讀取ootcd文件(BCD=Boot Configuration Data ,也就是“啟動配置數(shù)據(jù)”,簡單地說,windwows7下的bcd文件就相當于xp下的boot.ini文件),如果存在著多個操作系統(tǒng)并且選擇操作系 統(tǒng)的等待時間不為0的話,這時就會在顯示器上顯示操作系統(tǒng)的選擇界面。在我們選擇啟動WINDOWS7后,BOOTMGR就會去啟動盤尋找 WINDOWSsystem32winload.exe,然后通過winload.exe加載windows7內(nèi)核,從而啟動整個windows7系 統(tǒng)。

可以把這個過程簡單地概括為:BIOS-->MBR-->DPT-->pbr--> Bootmgr-->bcd-->Winload.exe-->內(nèi)核加載 -->整個windows7系統(tǒng)本文就來說一說MBR-->DPT-->pbr--> Bootmgr-->bcd這一段可能出現(xiàn)的故障的解決。mbr出現(xiàn)問題,主要是mbr代碼被改寫,因為被改寫的代碼不同,所以出錯信息也各不相同。比如我們裝了windows7與ubuntu雙系 統(tǒng),ubuntu改寫了mbr,在我們把ubuntu所在的分區(qū)格式化后,既進不了windows7,也進不了ubuntu,開機的時候會出現(xiàn)如圖的錯誤 提示:

[圖一]解決的辦法就是重寫mbr。對于重寫mbr,我們所熟知的是在dos下用fdisk /mbr命令進行重寫。fdisk /mbr所重寫的mbr與xp是兼容的,但是,與windows7已經(jīng)不那么兼容了。實踐表明:用fdisk /mbr命令重寫windows7的mbr后,需要重建bcd,否則不能正常啟動windows7。有網(wǎng)友指出,這里面的原因是fdisk /mbr命令改寫了mbr中的硬盤簽名。一般的分區(qū)工具都是可以重寫mbr的,比如diskgenius,它所重寫的mbr與windows7是兼容的。 也可以用bootrec /fixmbr命令重寫。要運行 Bootrec.exe 工具,必須啟動 Windows RE。為此,請按照下列步驟操作:插入windows 7安裝光盤,從光盤啟動電腦,在光盤啟動完成后,按下shift+f10鍵,調(diào)出cmd命令提示符。在cmd命令提示符中輸入:bootrec /fixmbr回車。這樣也就重寫了mbr。


[圖二]

分區(qū)表存在問題,對于這個問題,限于篇幅,不做詳細探討。系統(tǒng)盤不是活動的主分區(qū),這種情形只要用分區(qū)工具(比如diskgenius)把系統(tǒng)盤設為活動的主分區(qū)即可。pbr出現(xiàn)問題,主要是pbr代碼被改寫,因為被改寫的代碼不同,所以出錯信息也不相同。比如WINDOWS7系統(tǒng)的活動分區(qū),卻被寫入了適合于XP的 pbr,這樣開機的時候就會出現(xiàn)如圖的提示:


[圖三]

簡單的解決辦法就是用bootrec /fixboot命令重寫pbr:插入windows7安裝光盤,從光盤啟動,在光盤啟動完成后,按下shift+f10鍵,調(diào)出cmd命令提示符。在命令提示符中輸入:bootrec /fixboot回車。這樣也就重建了活動分區(qū)的pbr。這里面還有一個常用的命令也要提一下,這就是bootsect:插入windows7安裝光盤,從光盤啟動,在光盤啟動完成后,按下shift+f10鍵,調(diào)出cmd命令提示符。在cmd命令提示符中輸 入:bootsect /nt60 sys /mbr回車。這個命令會改寫活動分區(qū)的pbr,并同時會改寫mbr,使得mbr和pbr適合于windows7和vista。bootsect.exe程序位于windows7安裝光盤的boot目錄下,可以把這個文件提取出來,在xp下的命令行可以運行這個程序,也可以在 winpe下的命令行運行這個程序,因而這個程序在使用時很方便。而bootrec.exe命令的使用就沒這么方便了。

所以BOOTSECT命令被應用得 更為廣泛一些。另外有一個要點需要指出,vista的安裝光盤里面的boot文件夾也存在著這個小工具,但vista的bootsect命令沒有/mbr參數(shù),因而它只 能改寫pbr,而不能改寫mbr,這是必須要注意的。實踐表明:把一個硬盤的mbr清零,然后運行windows7的bootsect命令,確實可以發(fā)現(xiàn) mbr被恢復正常。這也就表明了windows7的bootsect命令的確能夠重寫mbr。另外,bootsect命令也可以重寫xp的mbr和pbr,而這也是bootrec命令所做不到的。xp的恢復控制臺用fixmbr命令改寫mbr,用 fixboot命令改寫pbr。

如果是引導文件的問題,一般可以用bcdboot命令重新寫入引導文件:插入windows7安裝光盤,從光盤啟動,在光盤啟動完成后,按下shift+f10鍵,調(diào)出cmd命令提示符。在命令提示符中輸入:bcdboot x:windows /s x:注意,這前一個x:是windows7的windows文件夾所在的盤,一般是c:,如果你的不是c盤,請改為對應的盤符。這后一個x:是活動主分區(qū)的盤 符所在,一般也是c盤。所以這個命令一般的寫法是:bcdboot c:windows /s c:但需要注意,在windows re環(huán)境下所看到的盤符與你在windows7下所看到的盤符未必一樣。所以需要首先用dir /a命令確認各盤是否正確。比如:cd /d c:dir /a這兩個命令的作用是,首先進入c:盤的根目錄,然后顯示c盤根目錄下的所有文件和文件夾,根據(jù)所顯示的文件或者文件夾,可以判斷這個盤具體是你在 windows7下所看到的哪一個盤。windows7的引導文件主要是bootmgr和boot文件夾里面的文件,而boot文件夾里面的文件主要是bcd文件。bcdboot命令會在指定 的分區(qū)內(nèi)重新寫入全部windows7的引導文件。如果只是bcd文件有問題,則可以用bootrec命令重建bcd:插入windows7安裝光盤,從光盤啟動,在光盤啟動完成后,按下shift+f10鍵,調(diào)出cmd命令提示符。在命令提示符中輸入:bootrec /RebuildBcd  這個命令如果搜到?jīng)]有寫入bcd的windows7或者vista的操作系統(tǒng),會提示你是否寫入,按提示輸入Y也就會寫入了的?;蛘哂胋cdedit命令手動改寫bcd,但操作要復雜得多。具體案例分析:

案例一:怪事,系統(tǒng)盤不是活動的主分區(qū)在網(wǎng)上看到一則求助,windows7系統(tǒng)運行正常,只是在磁盤管理中所看到的則是:系統(tǒng)盤不是活動的主分區(qū)。


[圖四]

我們在安裝了一鍵還原精靈裝機版后,在開機的時候按下F11鍵可以啟動一鍵還原程序。但我們在格式化系統(tǒng)盤后,在開機的時候仍是可以這樣操作的。而所謂的 pbr是高級格式化的時候產(chǎn)生的。這表明了,一鍵還原精靈的啟動代碼不是寫入了活動分區(qū)的pbr(如果是的話,在格式化的時候已經(jīng)被清除了),而是寫入了 MBR。通過在MBR中設定首先讀取一鍵還原精靈的隱藏分區(qū),然后才讀取活動的主分區(qū)。那么,現(xiàn)在我們所遇到的這種情形是不是也通過改寫mbr而指向特定 的分區(qū)?假設mbr沒有問題,那么問題就可能出在pbr(也就是所謂的dbr),win7的pbr中寫入的代碼應該是去找bootmgr,但如果這個代碼中規(guī)定了 要找的是另外的一個特殊的文件,而再通過這個文件去啟動另一個分區(qū)中的bootmgr,這樣就能實現(xiàn)把另一個不是活動的主分區(qū)變?yōu)橄到y(tǒng)盤的目的。通過上面的分析,我們可以得到結(jié)論:問題不是出在mbr,就是出在pbr,解決的辦法就是先試著重建mbr,如果不能解決,那就可以肯定問題出在pbr, 只要重建pbr就能解決問題的。

于是首先重建mbr,問題依舊,然后再重建pbr,問題果然得到解決。

案例二:開機的時候出現(xiàn):BOOTMGR is missingpress ctrl+alt+del to restart.翻譯成漢語就是:bootmgr缺失,按Ctrl + Alt + Del重新啟動這是很常見的故障。既然是bootmgr缺失,我們一般只要用bcdboot命令重建引導文件即可。這種情形產(chǎn)生的原因,一般可能有:bootmgr文件確實沒有了,這是最為常見的。一種則是由磁盤錯誤導致的,這種情形下,在winpe下運行一下 chkdsk /f命令也可能解決。有朋友使用 Diskeeper 對MFT碎片進行整理,開機的時候也出現(xiàn)了這個提示。估計可能是用DISKEEPER進行的MFT磁盤整理后,這或者是diskeeper的一個bug, 因而不建議用diskeeper進行mft碎片整理。一位網(wǎng)友因為好奇。把C盤設成了活動的(active partition )。

是這樣設置活動的:對計算機點右鍵-管理-硬盤管理。右鍵點C盤,設置為活動的???。怎么回事啊。重啟后居然無法啟動!顯示bootmgr is missing,Ctrl+Alt+Delete to restart。然后還是如此。這是從網(wǎng)上找到的一個案例,分析可以得出結(jié)論。他所裝的windows7應該存在著一個隱藏的“系統(tǒng)保留”分區(qū),這個隱藏的系統(tǒng)保留分區(qū)才是真正的活動主 分區(qū),而他的c盤則應該不是活動的。他把c盤設為活動,這也就意味著取消了“系統(tǒng)保留”分區(qū)的活動狀態(tài)。但引導文件是在“系統(tǒng)保留”分區(qū),而不是在c 盤,c盤變成了活動的主分區(qū),mbr就會啟動c盤的pbr,而c盤的pbr又會去c盤找bootmgr,但c盤沒有bootmgr,所以出錯也就是必然的 了。解決的辦法其實只要簡單地再把系統(tǒng)保留分區(qū)設為活動即可。這位朋友制造了問題,但好象并沒能最后解決問題。真所謂會者不難,難者不會。

案例三:開機的時候出現(xiàn):BOOTMGR is compressedPress Ctrl+Alt+Del to restart翻譯成漢語就是:bootmgr被壓縮,按Ctrl + Alt + Del重新啟動這種情形產(chǎn)生的原因是因為對系統(tǒng)盤進行了壓縮。奇怪的是,對于這種情形,我們用bcdboot命令重建引導文件卻并不能解決。但是,我們可以運行命令:compact /u /a /f /i /s c:*這樣可以使得問題得到解決。compact程序位于windowssystem32文件夾下,所以我們要先用CD命令進入windows system32目錄。這里是假設c:盤是bootmgr所在的盤,如果不是,要改為對應的盤符。網(wǎng)上有朋友用這個命令的時候并沒有解決問題,原因則在于,這位朋友所運行的命令是:compact /u /a /f /i /s c:沒有后面這個*,所以命令并沒有實現(xiàn)運行者的目的。從命令本身所提供的幫助說明來看,這個*似乎是沒有必要的,但實際操作表明,這個*是必須的。這個命令會把已經(jīng)壓縮的C盤文件完全解壓,真所謂解鈴還須系鈴人。注意,只運行命令:compact /u /a /f /i c:ootmgr并不能解決問題。有網(wǎng)友發(fā)現(xiàn),運行“Bootrec.exe /fixmbr、Bootrec /fixboot"然后重啟,這樣可以解決問題。測試表明,其實只需要運行Bootrec /fixboot這一個命令即可。這是另類的解決的辦法。猜想可能是,對驅(qū)動壓縮后,PBR中的BPB表并沒有隨之修改,所以BPB表中所記錄的分區(qū)信息 與實際的分區(qū)信息不一致。運行Bootrec /fixboot命令后重寫了bpb,這樣就使得二者變?yōu)榱艘恢?。實踐表明:用bootsect命令也能實現(xiàn)對這個問題的解決。有網(wǎng)友發(fā)貼,說是裝了xp與vista雙系統(tǒng),啟動vista系統(tǒng)出現(xiàn)了BOOTMGR is compressed ,于是他在xp下取消了系統(tǒng)盤的壓縮狀態(tài)。但這位網(wǎng)友的話未必可信,因為如果ntldr也被壓縮了的話,則xp啟動的時候會出現(xiàn):ntldr is compressedPress Ctrl+Alt+Del to restart除非這位朋友只壓縮了bootmgr,而沒有壓縮ntldr,但這一般不太可能。這種壓縮一般是對整個盤進行壓縮的時候產(chǎn)生的,如果壓縮指定文件的話,一 般不會有人去壓縮bootmgr和ntldr的。實踐表明,在windows7下,即便指定對整個的系統(tǒng)盤進行壓縮,一般也不能壓縮bootmgr的,會 提示拒絕訪問,但是,在開機的時候仍會出現(xiàn)出錯提示:bootmgr is compressed

案例四:先裝的windows7,后裝的linux,在linux系統(tǒng)出問題后,既進不了linux,也進不了windows7,這里面的原因是mbr和活動分區(qū) 的pbr被改寫。只要重建mbr和活動分區(qū)的pbr,也就可以進入windows7了。最簡單的辦法是用bootsect命令解決:bootsect /nt60 sys /mbr

案例五:先裝的windows7,后裝的xp,沒有了windows7的啟動項:

這個需要三步解決問題:

一、用bcdboot命令重建windows7的引導文件。

二、用bootsect命令恢復windows7的mbr和pbr

三、進入windows7后,用bcdedit命令添加xp的啟動項

標簽:株洲 呼和浩特 天門 黃石 南通 黔東 新余 六安

巨人網(wǎng)絡通訊聲明:本文標題《windows7系統(tǒng)引導故障的解決修復mbr圖文教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    巩义市| 镇江市| 万全县| 治县。| 新密市| 巩义市| 明光市| 论坛| 华坪县| 柳江县| 凉城县| 五河县| 崇州市| 左权县| 韶山市| 石嘴山市| 聊城市| 秦皇岛市| 和田市| 五大连池市| 志丹县| 视频| 祥云县| 巴中市| 加查县| 哈密市| 祁连县| 荣昌县| 黑山县| 报价| 咸丰县| 当雄县| 赫章县| 资溪县| 福建省| 南江县| 黑龙江省| 邻水| 临桂县| 宝鸡市| 西和县|