日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

win7 bcdedit

發布時間:2024/1/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win7 bcdedit 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?BCD(Boot Configuration Date)即系統引導配置數據,這是從Windows Vista開始才引入的。我們知道,在Windows Vista/Server 2008中BootManager組件負責系統的初始化和引導工作,而與之相匹配系統的引導數據就存儲在BCD中。相信大家非常關心Windows 7下的BCD數據管理吧,下面筆者和大家一道就這方面進行一番探討。

1、BCD數據管理工具

也許最常用也最熟悉的系統引導管理就是系統高級引導菜單了,在Windows 7下也不例外。當系統發生引導故障時,為了成功進入系統或者進行排錯我們會選擇在系統啟動的過程中按下F8鍵進入高級引導選項菜單,并從這個菜單中選擇一種高級啟動模式進行引導嘗試。在此可供我們選擇的引導方式主要有安全模式、啟用引導日志、最近一次正確配置、目錄服務還原模式以及禁用驅動程序前面強制等。需要說明的是,索然這些高級模式會暫時性地修復操作系統的啟動方式,以幫助故障的解決和診斷,但是這些模式并不會對引導配置或者BCD存儲做出任何永久性的修改。所以,系統高級引導菜單并不是有效的BCD數據管理工具。和此前的Windows系統類似,在Windows 7中可用于修改引導配置和管理BCD存儲的工具主要有“啟動和故障恢復”控制臺,系統配置使用工具(msconfig.exe),以及比較高級的BCD編輯器(bcdedit.exe)。本文就以這三個工具為例說說BCD數據的管理。(圖1)

2、用“啟動和故障恢復”控制臺實施系統引導配置

?

在Windows 7的“啟動和故障恢復”控制臺中我們可以配置系統啟動過程中的基本選項,可以使用這些選項設置默認的操作系統、可用操作系統選擇菜單的顯示時間,以及在需要的時恢復選項的顯示時間。無論是否需要將計算機引導到不同的操作系統,都可以通過優化這些設置減少系統啟動所需的時間,并加速系統的啟動過程。

依據下面的操作步驟可進入Windows 7的“啟動和故障恢復”控制臺:右鍵單擊桌面上的“計算機”圖標選擇“屬性”,在系統屬性窗口中單擊左窗格中任務下的“高級系統設置”鏈接。在系統屬性對話框的“高級”選項卡下,單擊“啟動和故障恢復”選項下的“設置”按鈕就會進入如圖2所示的“啟動和故障恢復”控制臺。在控制臺中,我們可以選擇默認的啟動的操作系統,在安裝了多個操作系統的計算機上,單擊“默認操作系統”下列列表即可選擇希望默認啟動的操作系統,如果只安裝了一個系統則當前系統就是默認的啟動的系統。選中“顯示操作系統列表的時間”復選框,并在右側的文本框中輸入要使用的時間(以秒為單位),即可設置操作系統選擇列表的顯示時間。為了加速系統的啟動速度,如果計算機中只有一個系統可以將其設置為“0”,這樣就不會顯示啟動菜單直接引導默認系統。另外,在“啟動和故障恢復”控制臺中可設置系統發生故障時的后續操作。因為這部分內容與BCD的關系不大,而且已經有作者對此做了非常深入的解析(鏈接是http://winsystem.ctocio.com.cn/Longhorn/88/8850588_1.shtml),所以就此略過。(圖2)

3、用“系統配置工具”管理系統引導配置

?

通過“系統配置工具(msconfig.exe)”,我們可以在Windows 7中調整計算機的啟動方式。通常情況下,高級用戶使用該工具進行系統故障的排錯和診斷。例如,作為排錯的一部分,可與配置計算機使用診斷啟動模式,只加載最基本的驅動和服務。

依次點擊“開始”→“運行”輸入msconfig.exe回車后可啟動“系統配置工具”,該工具提供了很多選項,應該說是我們管理BCD最方便的工具。在“常規”選項卡下可用于配置系統的啟動方式,以及是否需要將系統啟動到排錯和診斷模式下。通過使用這些選項,可以選擇進行常規啟動、診斷啟動或選擇性啟動。

?

在重啟計算機并解決問題后,需要再次打開系統配置工具,并在“常規”選項卡中選中“正常啟動”單選按鈕。(圖3)

?


??? 圖3 系統配置工具(msconfig.exe)

在“系統配置工具”的“啟動”選項卡下可用于控制特定啟動過程的工作方式。在此我們可以配置計算機啟動到某種安全啟動模式下,并可選擇其他選項,例如無GUI啟動等。如果在排錯后發現需要保留這些設置,則可以選中“使所有啟動設置成為永久設置”復選框,以便將這些設置保存到引導配置啟動項中。(圖4)


??? 圖4 “系統配置工具”的“啟動”選項卡 另外,在“啟動”選項頁面中還有一個“高級選項”按鈕,單擊該按鈕可進入“啟動高級選項”對話框。在此,除了可以鎖定PCI、檢測HAL以及啟用 測試,還可以使用高級選項實現某些特殊應用。

?

(1).指定操作系統可以使用的處理器數量。在多處理器的系統中通常會發生某些莫名的故障,如果我們要進行排錯以了解該故障是否是由此引起的,可以使用該選項。

(2).設定操作系統可以使用的內存最大數量。如果我們懷疑某些系統引導問題是有安裝了額外的內存引起的,則可以使用該選項。比如,系統本來是2GB的內存,如果在安裝了另外的一條2GB內存后導致系統不能引導,為了判斷是否是有這條額外的內存導致了上述故障,我們就可以暫時限制系統只能使用2048MB的內存。(圖5)


??? 圖5 高級啟動管理

如果懷疑安裝到計算機上的某個服務導致系統引導故障,可以在“系統配置工具”的“常規”選項卡下選擇診斷或者選擇性啟動模式的方式進行判斷。如果確信是某服務導致了啟動故障,那么可以在“服務”選項卡下禁用該服務。在禁用后問題不再發生,應該可以確認是該服務的問題,那么我們就可永久性地禁用該服務或更新該服務。同理,如果懷疑某個在啟動時自動運行的程序導致了系統引導故障,那么可以通過“啟用”選項卡下的設置來進行排錯。(圖6)

圖6 系統配置 4、用“BCD編輯器”管理系統引導配置

?

對于高級系統用戶來說,利用“BCD編輯器”來管理系統引導配置是最靈活的。BCD編輯器(bcdedit.exe)是一個高級命令行工具,可用于查看和設置系統引導環境的配置。不過,需要主要的是,在使用bededit.exe對BCD進行修改之前最后做好系統的備份,以免無操作造成系統引導故障。下面筆者列舉Windows 7下bededit.exe的幾個應用實例。

(1).查看BCD項

打開命令提示符,在其中輸入并執行bededit.exe命令就會顯示系統的BCD信息。不過,對于一般用戶這些信息比較難懂,筆者做以說明。在計算機中包含系統和非系統的BCD存儲,系統的BCD存儲中包含了操作系統的引導項以及相關的引導信息,bededit.exe工具的操作就是對系統BCD的操作。由于筆者的計算機上只有一個系統,如圖所示其BCD存儲只有兩個項:一個對應了Windows啟動管理器,一個對應了Windows啟動加載器。在此,Windows啟動管理器會調用啟動加載器,然后啟動加載器會使用winload.exe引導Windows 7。Windows啟動管理器和Windows啟動加載器對應的BCD項具有類似的屬性,這些屬性定義了系統的BCD環境。需要注意的是,Windows7 BCD文件比Windows Vista和Windows Server2008多出了 recoverysequence和recoveryenabled兩個屬性。 此外,其中類似 {ba50c1f0-3752-11de-90d5-cdf8d52a3222}的字符串標識符,以便被系統引用。需要說明的是,如果計算機中安裝了其他Windows系統,我們會看到每一個系統都有其對于的BCD項。(圖7)


??? 圖7 查看BCD項

(2).創建BCD

通過使用BCD編輯器,我們可以

?

?

創建非系統的BCD存儲。在命令行下執行下面格式的命令“bcdedit /createstore storepath”,其中/createstore是參數,表示創建BCD存儲,而storepath就是你希望創建非系統存儲的文件的時間保存位置。例如我們執行命令“bcdedit /createstore d:\ctocio\bcd”即可。(圖8)

?

圖8 創建BCD
? (3).導入、導出BCD

?

利用bcdeidt.exe命令我們可以導入或者導出BCD存儲,要導出系統的BCD存儲中的內容到特定文件需要使用“/export”參數。在命令行下執行命令“bcdedit /export storepath”,storepath就是用于保存系統BCD存儲內容的實際文件路徑,例如執行命令“bcdedite /export d:\ctocio\backup”就會將系統的BCD信息保存到d:\ctocio\backup文件中。如果要還原系統的BCD信息,我們可以通過bcdedit.exe的“/import”參數將BCD備份導入進來。其命令格式為“bcdedicdt /import importpath”,其中importpath為保存了BCD信息的文件夾的實際路徑。例如執行命令“bcdedit /import d:\ctocio\backup”就可將剛才備份的BCD信息重新導入進來。(圖9)

圖9 導入、導出BCD

(4).顯示Windows 7隱藏的BCD項目

默認情況下我們在命令行下執行bcdedit.exe是不能顯示所有的BCD項的,Windows 7隱藏了某些BCD項目。如果要查看被隱藏的BCD項目,我們需要執行命令打開顯示開關將其顯示出來。假如當前系統的標識符是{ba50c1f0-3752-11de-90d5-cdf8d52a3222},在命令行下依次執行命令“bcdedit /displayorder {ba50c1f0-3752-11de-90d5-cdf8d52a3222} /addfirst”和“bcdedit /displayorder {ba50c1f0-3752-11de-90d5-cdf8d52a3222} /addfirst”。這樣當我們重新執行bcdedit.exe時就會顯示Windows 7中被隱藏的BCD項目。同時,當重啟Windows 7時就會在開機菜單中出現Ramdisk Options選項,這是Windows7集成的Windows Recovery Environment,該選項在系統修復/恢復是非常有用。(圖10)

圖10 顯示Windows 7隱藏的BCD項目 (5).快速添加系統菜單

?

安裝多系統的用戶,往往會因為系統安裝次序不夠科學而造成系統啟動選擇菜單不全或者有誤,此時我們需要手動添加系統菜單項。下面分別說說如何利用bcdedit.exe命令添加Windows XP啟動菜單項和Windows 7啟動菜單項。

假設Windows XP系統安裝在C盤,在Windows 7中添加其系統啟動菜單項可以依次執行下面的命令或者將其保存為一個批處理文件(bat或者cmd文件)。

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

bcdedit /set {ntldr} device partition=C:

bcdedit /set {ntldr} path \ntldr

bcdedit /displayorder {ntldr} /addfirst

同樣我們假設Windows 7安裝在C盤,其語言版本為簡體中文版,系統標識符為{ba50c1f0-3752-11de-90d5-cdf8d52a3222},要添加其系統啟動菜單項依次執行下面的命令或者將其保存為一個批處理文件(bat或者cmd文件)。

set id={ba50c1f0-3752-11de-90d5-cdf8d52a3222}

bcdedit /create %id% /d "Windows 7" /application osloader

bcdedit /set %id% locale zh-cn

bcdedit /set %id% device partition=C:

bcdedit /set %id% osdevice partition=C:

bcdedit /set %id% path \Windows\system32\winload.exe

bcdedit /set %id% inherit {bootloadersettings}

bcdedit /set %id% systemroot \windows

bcdedit /set %id% nx OptOut

bcdedit /displayorder %id% /addfirst

(圖11)

圖11 快速添加系統菜單


??? (6).更改系統顯示順序

如果要更改系統引導管理器中諸如Windows 7、Windows Vista、Windows Server 2008、Windows XP在操作系統選擇菜單上的顯示順序,我們可以通過bcdedit.exe的“/displayorder”參數來實現。其命令格式是“bcdedit /displayorder id1 id2 id3 ... idn”,其中id1是顯示在第一位的操作系統對于的操作系統對應的系統標識符,id2是顯示在第二位的操作系統對應的系統標識符,依次類推。比如我們執行命令“bcdedit /displayorder {ba50c1f0-3752-11de-90d5-cdf8d52a3222} {d6be0d13-413a-11de-b285-b6ee0ebcf10e}”則第一項系統標識符對于的系統會第一個顯示。另外,我們還可以使用“/addfirst”參數配合“/displayorder”參數設置某系統為第一項,比如執行“bcdedit /displayorder {ba50c1f0-3752-11de-90d5-cdf8d52a3222} /addfirst”。此外執行命令“bcdedit /displayorder {ba50c1f0-3752-11de-90d5-cdf8d52a3222} /addlast”則該系統成為最后一項。(圖12)

圖12 更改系統顯示順序
???

(7).其他BCD管理

除了上面比較常用的BCD管理外,筆者再列舉幾個比較有用的bcdedit命令參數。執行命令“bcdedit /default {d6be0d13-413a-11de-b285-b6ee0ebcf10e}”將該操作系統標識符對應才操作系統設置為默認引導系統。執行“bcdedit /timeout 10”,將系統啟動菜單停留的時間設置為10秒。另外,在特殊情況下我們需要將從特定系統引導一次,然后恢復為默認的引導順序。這是我們需要用到bcdedit的“/bootsequence”參數。例如,執行命令“bcdedit /bootsequence {d6be0d13-413a-11de-b285-b6ee0ebcf10e}”,這樣當計算機重啟時系統就會從該系統引導,當下次重啟計算機時就恢復從默認的系統進行引導。(圖13)

圖13 其他BCD管理

總結:上面筆者以Windows 7系統為例,演示了利用“啟動和故障恢復”控制臺、“系統配置工具”、BCD編輯器這三個工具配置和管理系統BCD數據的主要技術細節。雖然上面的演示是在Windows 7中進行的,但其中大多數同樣實用于Windows Vista和Windows Server 2008系統,希望本文能夠對大家有所幫助。

bcdedit /createstore bcdwolf bcdedit /store c:\bcdwolf /create {ntldr} /d "Wolf XP"
bcdedit /store c:\bcdwolf /create /d "Wolf Vista" /application osloader
bcdedit /store c:\bcdwolf /create {bootmgr} /d "Wolf Boot Manager" bcdedit /store c:\bcdwolf /enum all bcdedit /store c:\bcdwolf /set {bootmgr} device partition=c:
bcdedit /store c:\bcdwolf /set {ntldr} device partition=c:
bcdedit /store c:\bcdwolf /set {ntldr} path \ntldr
bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} device partition=d:
bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} path \windows\system32\winload.exe bcdedit /store c:\bcdwolf /displayorder {ntldr} /addlast
bcdedit /store c:\bcdwolf /displayorder {882e394a-f543-11db-8ee8-00105ccdeb8f} /addlast
bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} osdevice partition=d:
bcdedit /store bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} systemroot \windows bcdedit /store bcdwolf bcdedit /store bcdwolf /timeout 30
你可以將文件BCD導入系統BCD
bcdedit /import c:\bcdwolf
你也可以備份系統BCD到文件
bcdedit /export e:\bcdbak
set id={6f37abb4-c304-11df-9a57-fd184207b197}
bcdedit /createstore c:\bcdwolf
bcdedit /store c:\bcdwolf? /set {6f37abb4-c304-11df-9a57-fd184207b197} /d "Windows 7 old" /application osloader bcdedit /store c:\bcdwolf /set {6f37abb4-c304-11df-9a57-fd184207b197} locale zh-cn
bcdedit /store c:\bcdwolf /set %id% device partition=C:
bcdedit /store c:\bcdwolf /set %id% osdevice partition=C:
bcdedit /store c:\bcdwolf /set %id% path \Windows.old\Windows\system32\winload.exe
bcdedit /store c:\bcdwolf /set %id% inherit {bootloadersettings}
bcdedit /store c:\bcdwolf /set %id% systemroot \Windows.old\Windows
bcdedit /store c:\bcdwolf /set %id% nx OptOut
bcdedit /store c:\bcdwolf /displayorder %id% /addfirst
bcdedit /store c:\bcdwolf /default {6f37abb4-c304-11df-9a57-fd184207b197} bcdedit /displayorder {6f37abb4-c304-11df-9a57-fd184207b197} /addfirst
bcdedit? /set {6f37abb4-c304-11df-9a57-fd184207b197} systemroot \Windows.old\Windows

轉載于:https://my.oschina.net/YcOk14itqTKB/blog/8024

總結

以上是生活随笔為你收集整理的win7 bcdedit的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。