bcdedit修複windows7的啟動

來源:互聯網
上載者:User

XP的開機檔案就三個NTLDR,NTDETECT.COM,BOOT.INI,其中NTLDR是啟動的ID,也是xp的啟動引導檔案,boot.ini是啟動設定檔;

 

windows7 的有點不一樣,

Bootmgr : windows nt6 系列的引導管理器,位於主啟用分區內,屬於系統隱藏檔案

Bootsect.bak: bootsect.bak 是該使用中的磁碟分割的前 16 個扇區的備份檔案,所以它的大小是 8KB, 就是 pbr 的備份。

/boot/[ 語言 ]/bootmgr.exe.mui: 在主要磁碟分割 boot 目錄下包括 24 個語言的 BOOTMGR.EXE.MUI ,用來和 bootmgr 組合形成啟動菜單
/boot/bcd:相當於 xp 時代的 boot.ini ,不過 bcd 是基於資料庫的,不是基於文本的,也是為了安全性考慮吧。微軟專門提供了一個修改 bcd 的程式 bcdeit 來修改相應的參數
/boot/bcd.log&bcd.log1&bcd.log2 : log 檔案,具體幹嘛的未知。
/boot/bootstat.dat : 引導時候用來記錄引導狀態的資料檔案
/boot/ memtest.exe :記憶體測試載入器

 

 

下面轉一下,如何編輯bcdedit修複倒序裝雙系統的文章

 

 

bcdedit.exe是vista系統內建的一個命令列工具,用來定製windows boot manager,它位於v:/windows/system32目錄下。bcdedit.exe的功能強大,參數非常多,VistaBootPro和Easybcd這類工具就是圖形化的bcdedit,它們實現的功能bcdedit都可以實現。在一些情況下,上述工具無法達到目的,而bcdedit.exe卻能夠得心應手。因此有必要對bcdedit.exe這個系統內建的命令列工具進行瞭解。bcdedit.exe的參數非常多,協助文檔有很複雜,很多人因此對它棄而不用。但實際上大部分人只需掌握它的很少幾個用法即可。

      下面我用一個執行個體來講解bcdedit.exe的常用功能。

      一個秘密:bcdedit不但能對系統bcd(boot configuration
      data)進行操作,它也能對檔案bcd進行操作。作為新手,你不應該去貿然改動你的系統bcd(這很可能導致你丟失引導菜單甚至再無法啟動電腦)。因此,下面的執行個體中我只對一個檔案bcd進行操作,全部完成後再將該檔案bcd匯入到系統bcd中。對檔案bcd和系統bcd的操作方法是完全一致的(實際上系統bcd也是一個檔案,大家用bcdedit查看c:/boot/bcd的內容就知道了)

      作業環境:C盤裝xp,D盤裝vista,之後c盤的xp又被重裝,因此原啟動菜單丟失,現在開機只能進xp了。為了方便,我將d:/windows/system32/bcdedit.exe複製到了c:/下,cmd視窗改變當前路徑到c:/。預料的bcd資訊應該是這樣的
      Windows Boot Manager
      --------------------
      Identifier:          {bootmgr} //這個不是菜單,而是主入口,一個BCD有且只有一個{bootmgr}
      Type:                10100002
      Device:                 partition=C: //這個說明BOOT MANAGER的BCD資訊在C盤?
      Description:          Wolf Boot Manager
      Display order:       {ntldr}   //功能表項目排列順序,第一個功能表項目
                           {882e394a-f543-11db-8ee8-00105ccdeb8f} //第二個功能表項目
      Windows Legacy OS Loader
      ------------------------
      Identifier:          {ntldr}   //XP它用NTLDR這個程式進行引導
      Type:                10300006
      Device:                 partition=C: //XP在C盤
      Path:                /ntldr   //引導程式是/ntldr
      Description:          Wolf XP   //該菜單顯示的文字
      Windows Boot Loader
      -------------------
      Identifier:          {882e394a-f543-11db-8ee8-00105ccdeb8f}
      //這串數字是電腦產生的,是唯一的
      Type:                10200003
      Device:                 partition=D: //VISTA在D盤
      Path:                /windows/system32/winload.exe
      //VISTA引導程式是/windows/system32/winload.exe
      Description:          Wolf Vista //該菜單顯示的文字
      Windows device:       partition=D:
      Windows root:           /windows
      簡單講解,上面只有3個入口(Entry),每個入口又有細分,最關鍵的是Identifier,很多人看不明白
      在BCD中,每個入口的唯一標識就是這個Identifier(簡稱Id)。
      上面有個三個Id:
      {bootmgr}
      {ntldr}
      {882e394a-f543-11db-8ee8-00105ccdeb8f}
      我們要修改已經產生的入口,必須指定其Id。修改都是針對具體的Id進行的,後面我們會看到
      為什麼上面3個Id中,前兩個不像最後一個也由一大串數字組成呢?這也是新手最容易誤解的原因。
      我只能告訴你{bootmgr}和{ntldr}其實是保留的Id,其中{bootmgr}是一個合理的BCD中必須有的ID,{ntldr}這個ID則用來存放XP這一類的老系統的引導菜單資訊。
      下面我們一步一步來產生上面的bcd資訊
      由於我們還沒有一個檔案bcd,因此我們先建立一個,命令如下
      bcdedit /createstore bcdwolf
      該命令建立一個空的bcd檔案c:/bcdwolf;有了這個空bcd檔案,我們就對它進行操作
      C:/bcdedit /store c:/bcdwolf /create {ntldr} /d "Wolf XP"
      說明:如果在bcdedit後面不加這個store參數,則是對系統bcd進行操作;加了則是對指定的檔案bcd進行操作。
      上述命令在c:/bcdwolf檔案的BCD資訊中建立菜單Wolf XP
      /store參數指對c:/bcdwolf進行操作,而不是對系統bcd
      /create參數指建立一個新菜單
      {ntldr}是固定ID,凡在vista之前的作業系統菜單都用這個Id,如果你需要建立一個能引導XP的功能表項目,就一定請用這個ID,不能指定為其他的或者像VISTA菜單那樣讓電腦為你產生隨機ID
      /d參數是指定該菜單顯示的文字
      C:/bcdedit /store c:/bcdwolf /create /d "Wolf Vista" /application osloader
      The entry {882e394a-f543-11db-8ee8-00105ccdeb8f} was successfully created.
      建立菜單Wolf Vista
      由於是vista系統的菜單,參數改變為/application osloader
      Vista和Vista之前的系統,菜單建立方式是不同的
      C:/bcdedit /store c:/bcdwolf /create {bootmgr} /d "Wolf Boot Manager"
      The entry {bootmgr} was successfully created.
      建立{bootmgr}入口,這個是主入口,不是菜單,建立的所有菜單都在這個入口中管理
      C:/bcdedit /store c:/bcdwolf /enum all
      顯示我們建立的c:/bcdwolf的內容
      Windows Boot Manager
      --------------------
      Identifier:          {bootmgr}
      Type:                10100002
      Description:          Wolf Boot Manager
      Windows Boot Loader
      -------------------
      Identifier:          {882e394a-f543-11db-8ee8-00105ccdeb8f}
      Type:                10200003
      Description:          Wolf Vista
      Windows Legacy OS Loader
      ------------------------
      Identifier:          {ntldr}
      Type:                10300006
      Description:          Wolf XP
      設定{bootmgr}入口的device值
      C:/bcdedit /store c:/bcdwolf /set {bootmgr} device partition=c:
      操作成功完成。
      設定{ntldr}入口的device值,這裡實際是xp所在分區,它在c盤
      C:/bcdedit /store c:/bcdwolf /set {ntldr} device partition=c:
      操作成功完成。
      設定{ntldr}入口的path值,這裡指定引導程式所在路徑,xp是在c:/ntldr
      C:/bcdedit /store c:/bcdwolf /set {ntldr} path /ntldr
      操作成功完成。
      設定{882e394a-f543-11db-8ee8-00105ccdeb8f}入口的device值
      說明:{882e394a-f543-11db-8ee8-00105ccdeb8f}是菜單“Wolf Vista”的全域Id,這個Id是自動產生的,vista在d盤
      C:/bcdedit /store c:/bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} device partition=d:
      操作成功完成。
      設定{882e394a-f543-11db-8ee8-00105ccdeb8f}入口的path值,應該在d:/windows/system32/winload.exe
      C:/bcdedit /store c:/bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f}
      path /windows/system32/winload.exe
      操作成功完成。
      將id為{ntldr}的菜單追加到多重菜單的最後
      C:/bcdedit /store c:/bcdwolf /displayorder {ntldr} /addlast
      操作成功完成。
      將id為{882e394a-f543-11db-8ee8-00105ccdeb8f}的菜單(即Wolf Vista)追加到多重菜單的最後
      C:/bcdedit /store c:/bcdwolf /displayorder
      {882e394a-f543-11db-8ee8-00105ccdeb8f} /addlast
      操作成功完成。
      設定{882e394a-f543-11db-8ee8-00105ccdeb8f}的windows device為d盤
      C:/bcdedit /store c:/bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f}
      osdevice partition=d:
      操作成功完成。
      設定{882e394a-f543-11db-8ee8-00105ccdeb8f}的windows root為/windows
      C:/bcdedit /store c:/bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f}
      systemroot /windows
      操作成功完成。
      查看結果
      C:/bcdedit /store c:/bcdwolf
      Windows Boot Manager
      --------------------
      Identifier:          {bootmgr}
      Type:                10100002
      Device:                 partition=C:
      Description:          Wolf Boot Manager
      Display order:       {ntldr}
                           {882e394a-f543-11db-8ee8-00105ccdeb8f}
      Windows Legacy OS Loader
      ------------------------
      Identifier:          {ntldr}
      Type:                10300006
      Device:                 partition=C:
      Path:                /ntldr
      Description:          Wolf XP
      Windows Boot Loader
      -------------------
      Identifier:          {882e394a-f543-11db-8ee8-00105ccdeb8f}
      Type:                10200003
      Device:                 partition=D:
      Path:                /windows/system32/winload.exe
      Description:          Wolf Vista
      Windows device:       partition=D:
      Windows root:           /windows
      再增加一點內容,設定等待時間為30秒
      C:/bcdedit /store c:/bcdwolf /timeout 30
      操作成功完成。
      將{882e394a-f543-11db-8ee8-00105ccdeb8f}設定為預設菜單
      C:/bcdedit /store c:/bcdwolf /default {882e394a-f543-11db-8ee8-00105ccdeb8f}
      操作成功完成。
      最後來看看
      C:/bcdedit /store c:/bcdwolf
      Windows Boot Manager
      --------------------
      Identifier:          {bootmgr}
      Type:                10100002
      Device:                 partition=C:
      Description:          Wolf Boot Manager
      Default:             {default}
      Display order:       {ntldr}
                           {default}
      Timeout:             30
      Windows Legacy OS Loader
      ------------------------
      Identifier:          {ntldr}
      Type:                10300006
      Device:                 partition=C:
      Path:                /ntldr
      Description:          Wolf XP
      Windows Boot Loader
      -------------------
      Identifier:          {default}
      Type:                10200003
      Device:                 partition=D:
      Path:                /windows/system32/winload.exe
      Description:          Wolf Vista
      Windows device:       partition=D:
      Windows root:           /windows
      =======================================
      你可以將檔案BCD匯入系統BCD
      bcdedit /import c:/bcdwolf
      你也可以備份系統BCD到檔案
      bcdedit /export e:/bcdbak

      ========================
      整個過程是這樣的:
      先用/create 建立3個入口
      再用/set 設定每個入口下面具體的值,比如device, path等等
      最後用/displayorder 將建好的每個入口(功能表項目)一個一個加入到引導菜單中
      其他還可以用/timeout 設定等待時間
      以及用/default 設定預設菜單
      上面操作中的“入口”,實際都是用花括弧中的Id來表示的

      ==================================
      設定好系統BCD之後,重啟電腦,並不能保證成功進行多重開機。因為BCD要起作用還必須依賴於C:/BOOT檔案夾及C:/BOOTMGR這個檔案。其中C:/BOOTMGR是真正的開機引導程式,而C:/BOOT檔案夾中有一個名為BCD的檔案(大家可以用bcdedit
      /store c:/boot/bcd /enum all查看內容),以及一個FONT子檔案夾,裡面含有字型檔,估計是用於開機引導菜單的顯示。

 

本文來自:

http://blog.sina.com.cn/s/blog_63a5b36a0100fwpq.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.