行業資(zī)訊
   
Windows 7引導故障修複(BCD和MBR)
發布時間:2011-11-9
浏覽人數:1873

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

  可以把這個過程簡單地概括爲:BIOS-->MBR-->DPT-->pbr--> Bootmgr-->bcd-->Winload.exe-->内核加載 -->整個windows7系統

  本文就來說一(yī)說MBR-->DPT-->pbr--> Bootmgr-->bcd這一(yī)段可能出現的故障的解決。

  mbr出現問題,主要是mbr代碼被改寫,因爲被改寫的代碼不同,所以出錯信息也各不相同。比如我(wǒ)們裝了windows7與ubuntu雙系統,ubuntu改寫了mbr,在我(wǒ)們把ubuntu所在的分(fēn)區格式化後,既進不了windows7,也進不了ubuntu,開(kāi)機的時候會出現如圖的錯誤提示:

  解決的辦法就是重寫mbr。對于重寫mbr,我(wǒ)們所熟知(zhī)的是在dos下(xià)用fdisk /mbr命令進行重寫。fdisk /mbr所重寫的mbr與xp是兼容的,但是,與windows7已經不那麽兼容了。實踐表明:用fdisk /mbr命令重寫windows7的mbr後,需要重建bcd,否則不能正常啓動windows7。有網友指出,這裏面的原因是fdisk /mbr命令改寫了mbr中(zhōng)的硬盤簽名。一(yī)般的分(fēn)區工(gōng)具都是可以重寫mbr的,比如diskgenius,它所重寫的mbr與windows7是兼容的。也可以用bootrec /fixmbr命令重寫。要運行 Bootrec.exe 工(gōng)具,必須啓動 Windows RE。爲此,請按照下(xià)列步驟操作:

  插入windows 7安裝光盤,從光盤啓動電腦,在光盤啓動完成後,按下(xià)shift f10鍵,調出cmd命令提示符。在cmd命令提示符中(zhōng)輸入:bootrec /fixmbr 回車(chē)。這樣也就重寫了mbr。

  分(fēn)區表存在問題,對于這個問題,限于篇幅,不做詳細探讨。

  系統盤不是活動的主分(fēn)區,這種情形隻要用分(fēn)區工(gōng)具(比如diskgenius)把系統盤設爲活動的主分(fēn)區即可。

  pbr出現問題,主要是pbr代碼被改寫,因爲被改寫的代碼不同,所以出錯信息也不相同。比如WINDOWS7系統的活動分(fēn)區,卻被寫入了适合于XP的pbr,簡單的解決辦法就是用bootrec /fixboot命令重寫pbr:

  插入windows7安裝光盤,從光盤啓動,在光盤啓動完成後,按下(xià)shift f10鍵,調出cmd命令提示符。在命令提示符中(zhōng)輸入:bootrec /fixboot 回車(chē)。這樣也就重建了活動分(fēn)區的pbr。

  這裏面還有一(yī)個常用的命令也要提一(yī)下(xià),這就是bootsect:

  插入windows7安裝光盤,從光盤啓動,在光盤啓動完成後,按下(xià)shift f10鍵,調出cmd命令提示符。在cmd命令提示符中(zhōng)輸入:bootsect /nt60 sys /mbr

  回車(chē)。這個命令會改寫活動分(fēn)區的pbr,并同時會改寫mbr,使得mbr和pbr适合于windows7和vista。

  bootsect.exe程序位于windows7安裝光盤的boot目錄下(xià),可以把這個文件提取出來,在xp下(xià)的命令行可以運行這個程序,也可以在 winpe下(xià)的命令行運行這個程序,因而這個程序在使用時很方便。而bootrec.exe命令的使用就沒這麽方便了。所以BOOTSECT命令被應用得更爲廣泛一(yī)些。

  另外(wài)有一(yī)個要點需要指出,vista的安裝光盤裏面的boot文件夾也存在着這個小(xiǎo)工(gōng)具,但vista的bootsect命令沒有/mbr參數,因而它隻能改寫pbr,而不能改寫mbr,這是必須要注意的。實踐表明:把一(yī)個硬盤的mbr清零,然後運行windows7的bootsect命令,确實可以發現 mbr被恢複正常。這也就表明了windows7的bootsect命令的确能夠重寫mbr。

  另外(wài),bootsect命令也可以重寫xp的mbr和pbr,而這也是bootrec命令所做不到的。xp的恢複控制台用fixmbr命令改寫mbr,用 fixboot命令改寫pbr。

  如果是引導文件的問題,一(yī)般可以用bcdboot命令重新寫入引導文件:

  插入windows7安裝光盤,從光盤啓動,在光盤啓動完成後,按下(xià)shift f10鍵,調出cmd命令提示符。在命令提示符中(zhōng)輸入:

  bcdboot x:windows /s x:

  注意,這前一(yī)個x:是windows7的windows文件夾所在的盤,一(yī)般是c:,如果你的不是c盤,請改爲對應的盤符。這後一(yī)個x:是活動主分(fēn)區的盤符所在,一(yī)般也是c盤。所以這個命令一(yī)般的寫法是:


bcdboot c:windows /s c:

  但需要注意,在windows re環境下(xià)所看到的盤符與你在windows7下(xià)所看到的盤符未必一(yī)樣。所以需要首先用dir /a命令确認各盤是否正确。

  比如:

  cd /d c:

  dir /a

  這兩個命令的作用是,首先進入c:盤的根目錄,然後顯示c盤根目錄下(xià)的所有文件和文件夾,根據所顯示的文件或者文件夾,可以判斷這個盤具體(tǐ)是你在 windows7下(xià)所看到的哪一(yī)個盤。

  windows7的引導文件主要是bootmgr和boot文件夾裏面的文件,而boot文件夾裏面的文件主要是bcd文件。bcdboot命令會在指定的分(fēn)區内重新寫入全部windows7的引導文件。

  如果隻是bcd文件有問題,則可以用bootrec命令重建bcd:

  插入windows7安裝光盤,從光盤啓動,在光盤啓動完成後,按下(xià)shift f10鍵,調出cmd命令提示符。在命令提示符中(zhōng)輸入:

  bootrec /RebuildBcd

  這個命令如果搜到沒有寫入bcd的windows7或者vista的操作系統,會提示你是否寫入,按提示輸入Y也就會寫入了的。

  或者用bcdedit命令手動改寫bcd,但操作要複雜(zá)得多。


 

新聞資(zī)訊
聯系我(wǒ)們

聯系電話(huà):020-87518715

聯系郵箱:services@picusit.com

公司名稱:鄭州易科計算機服務有限公司

公司地址:廣州市天河區龍口西路100号中(zhōng)明大(dà)廈1601

熱線咨詢電話(huà):

020-87518715

公司地址:
廣州市天河區龍口西路100号中(zhōng)明大(dà)廈1601
手機掃碼查看更多
如有問題咨詢請及時與我(wǒ)們溝通,我(wǒ)們會爲您詳細解答!
Copyright © 鄭州易科計算機服務有限公司 地址:廣州市天河區龍口西路100号中(zhōng)明大(dà)廈1601

網站首頁

公司介紹

服務項目

成功案例

技術動态

聯系方式