直接用bcdedit創建bootmgr數據庫和修復啟動菜單


直接用bcdedit創建bootmgr數據庫和修復啟動菜單

使用下面方法之前需要bcdedit和bootsect兩條命令,這兩條命令可以到vista或者windows 7安裝光盤上獲得。bootsect.exe文件在vista和windows 7的安裝光盤的boot目錄下,而bcdedit.exe文件可以在安裝了vista系統或者windows 7系統的電腦上的%windir%\system32目錄下獲得,當然也可以使用imagex命令掛載vista或者windows 7安裝光盤里source\install.wim文件,然后到windows\system32下也能找到bcdedit命令。至於imagex命令可以到微軟官方下載WAIK工具包。

1、創建BCD數據庫

將安裝光盤上的boot文件夾和bootmgr文件一起復制到c盤,然后刪除C:\Boot\bcd文件。配置 BCD 存儲在此步驟中,使用 BCDEdit 新建名為 BCD 的啟動配置文件。BCD 替換 Boot.ini。BCDEdit 是旨在管理 BCD 存儲的命令行工具。Windows PE 和 Windows Vista 中都提供 BCDEdit。例如,進入bcdedit所在目錄執行如下命令:

Bcdedit /createstore c:\BCD

bcdedit /import c:\bcd

Bcdedit /create {bootmgr} /d "Boot Manager"

Bcdedit /set {bootmgr} device boot

bcdedit /set {bootmgr} locale en-US //可以不設置,默認為英文

2、添加Windows XP啟動菜單:

bcdedit /create {ntldr} /d " Windows XP Professional"

bcdedit /set {ntldr} path \ntldr

bcdedit /set {ntldr} device partition=c:

bcdedit /displayorder {ntldr} -addlast

3、添加Windows 7啟動菜單

Bcdedit /create /d " Windows 7 Ultimate " -application osloader

這條命令完后會返回一個GUID值,如:{faef23c1-6efe-11de-b779-b2c7bec45a2c}

The entry {uid} was successfully created.

接下來{uid}這個GUID值就表示是Windows 7的菜單項。

Bcdedit /set {uid} osdevice partition=E:

Bcdedit /set {uid} device partition=E:

Bcdedit /set {uid} path \windows\system32\winload.exe

Bcdedit /set {uid} systemroot \windows

Bcdedit/displayorder {uid} -addlast

4、添加PE 1.0啟動菜單

bcdedit /copy {ntldr} /d "Windows PE"

//The entry {uid} was successfully

bcdedit /set {uid} path \LDRXPE

bcdedit /set {uid} device partition=c:

bcdedit /displayorder {uid} -addlast

5、添加Ubuntu9.04啟動菜單

下載grub4dos軟件包,提取文件grldr 和grldr.mbr拷貝到C盤根目錄

bcdedit /create /d "GRUB MENU" /application bootsector #建立一個名稱為“GRUB MENU”,實模式啟動扇區的啟動項

生成{ID}復制下來

bcdedit /set {ID} device partition=c: #設置引導扇區文件所在的分區,grldr.mbr所在分區

bcdedit /set {ID} path \grldr.mbr #指定引導扇區文件的路徑和文件名

bcdedit /displayorder {ID} /addlast #增加這個Ubuntu的菜單項到末尾。

下面修改menu.lst,就行了。

附:我的Ubuntu9.04 menu.lst

title      Ubuntu 9.04, kernel 2.6.28-12-generic

root      ()/ubuntu/disks

kernel    /boot/vmlinuz-2.6.28-12-generic root=UUID=2414A33A14A30DBC loop=/ubuntu/disks/root.disk ro quiet splash

initrd    /boot/initrd.img-2.6.28-12-generic

6、設置默認的啟動條目和選擇時間

Bcdedit /default {uid}

bcdedit /timeout 7

7、修改啟動參數模式

bootsect /nt: (nt52是用ntldr方式啟動,即XP啟動菜單方式啟動;nt60則是使用VISTA新式的bootmgr啟動菜單。)

本篇文章來源於 Linux公社網站(www.linuxidc.com)  原文鏈接:http://www.linuxidc.com/Linux/2013-11/92756.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM