天天看點

bcd 初始化庫系統卷失敗_Windows系統引導過程以及多系統引導原理系統啟動的兩種引導方式多系統啟動原理名詞解釋

系統啟動的兩種引導方式

計算機系統引導方式主要有兩種:一種是傳統的BIOS模式,另一種是新型UEFI(全稱統一的可擴充固件接口)模式。UEFI啟動也可以看作是Bios的更新版。不同模式對應不同的磁盤分區類型,BIOS隻可以識别MBR分區;而UEFI可同時識别MBR分區和GPT分區,是以在UEFI下可以啟動不同磁盤類型中的作業系統。

bcd 初始化庫系統卷失敗_Windows系統引導過程以及多系統引導原理系統啟動的兩種引導方式多系統啟動原理名詞解釋

BIOS晶片

  • BIOS+MBR引導過程

BIOS引導過程:開機自檢>BIOS>MBR(主引導記錄)–>DPT(磁盤分區表)>PBR(分區引導記錄)> Bootmgr(引導管理器)/NTLDR>BCD(從vista開始的引導配置資料)/boot.ini(XP 引導配置檔案)>Winload.exe>核心加載 >windows vista+/windows xp

bcd 初始化庫系統卷失敗_Windows系統引導過程以及多系統引導原理系統啟動的兩種引導方式多系統啟動原理名詞解釋
  1. 開機自檢,BIOS先要對CPU初始化,然後跳轉到BIOS啟動處進行POST自檢,(此過程如有嚴重錯誤,則電腦會用不同的報警聲音提醒),接下來采用讀中斷的方式加載各種硬體,完成硬體的初始化。
  2. 讀入MBR(主引導記錄),MBR主要功能是在分區表(DPT)中尋找可引導的活動分區(也叫激活主分區),并找到該分區的引導扇區(分區的第一個扇區)中的分區引導記錄(PBR),載入PBR中的啟動管理器(bootmgr.exe或NTLDR)。注意:MBR磁盤分區格式下,一個磁盤隻允許有一個分區是活動的,是以啟動檔案(bootmgr、BCD)必須存放在活動的主分區内,這樣才能找到系統載入程式。
  3. 啟動管理器讀取該分區boot檔案夾裡的啟動配置文本BCD(或根目錄下boot.ini),然後根據啟動設定檔案定位并加載二級引導載入程式winload.exe來加載OS核心。如果有多個系統,啟動配置檔案就會有多個啟動項,相應的bootmgr也會提供選擇菜單,然後則根據使用者選擇來決定加載哪個系統的Winload(多系統引導選擇)。
  • UEFI+GPT 引導過程

UEFI引導過程:開機>UEFI>GPT分區表>ESP分區(也稱EFI分區)>efiMicrosoftbootbootmgfw.efi>efiMicrosoftBCD>Windowssystem32winload.efi。此過程沒有MBR參與。

bcd 初始化庫系統卷失敗_Windows系統引導過程以及多系統引導原理系統啟動的兩種引導方式多系統啟動原理名詞解釋
  1. 開機啟動自檢,執行UEFI初始化子產品;
  2. UEFI執行後,會進行CPU、北橋、南橋及存儲器初始化工作,當這部分裝置就緒後,緊接着它就載入UEFI驅動執行環境(Driver Execution Environment,簡稱DXE)。當DXE被載入時,系統就可以加載硬體裝置的UEFI驅動程式了。DXE使用了枚舉的方式加載各種總線及裝置驅動,UEFI驅動程式可以放置于系統的任何位置,隻要保證它可以按順序被正确枚舉。借助這一點,我們可以把衆多裝置的驅動放置在磁盤的UEFI專用分區中(ESP分區),當系統正确加載這個磁盤後,這些驅動就可以被讀取并應用了。在這個特性的作用下,即使新裝置再多,UEFI也可以輕松地一一支援,由此克服了傳統BIOS捉襟見肘的情形。UEFI能支援網絡裝置并輕松聯網,原因就在于此。
  3. 從EFI分區找到啟動管理器(efiMicrosoftbootbootmgfw.efi)。
  4. 啟動管理器導入EFI分區BCD檔案(efiMicrosoftBCD),然後根據其配置内容加載引導加載程式winload.efi(C:Windowssystem32winload.efi)來加載OS核心。如果BCD中有多個配置項,則會讓使用者選擇要啟動的系統。如果有多個系統,啟動設定檔案就會有多個啟動項,相應的bootmgr也會提供選擇菜單,然後則根據使用者選擇來決定加載哪個系統的Winload(多系統引導原理)。
bcd 初始化庫系統卷失敗_Windows系統引導過程以及多系統引導原理系統啟動的兩種引導方式多系統啟動原理名詞解釋

在GPT磁盤格式下,windows系統的啟動檔案和啟動配置檔案(bootmgfw.efi、BCD)是存放在一個不可見的FAT格式的分區裡的(也叫ESP分區或EFI分區)。

多系統啟動原理

多系統啟動(以Windows系統為例)中,BIOS+MBR和UEFI+GPT的引導方法基本上是一樣的,都是通過啟動配置檔案(BCD或boot.ini)來顯示啟動菜單,當使用者選中其中某個啟動項後,啟動管理器會加載不同分區的Winload以啟動此分區下的作業系統。

以下是通過BOOTICE修改啟動配置檔案(BCD),添加多系統啟動項:

bcd 初始化庫系統卷失敗_Windows系統引導過程以及多系統引導原理系統啟動的兩種引導方式多系統啟動原理名詞解釋

名詞解釋

BIOS:基本輸入輸出系統(Basic Input Output System)。它是一組固化到計算機主機闆上一個ROM晶片上的程式,它儲存着計算機最重要的基本輸入輸出的程式、開機後自檢程式和系統自啟動程式,它可從CMOS中讀寫系統設定的具體資訊。完成硬體的初始化後,開始讀入磁盤中的主引導記錄(MBR)。

MBR:主引導記錄(Master Boot Record)是位于磁盤最前邊的一段引導(Loader)代碼,主要有啟動代碼、硬碟分區表和結束标志字三部分組成。它負責磁盤作業系統(DOS)對磁盤進行讀寫時分區合法性的判别、分區引導資訊的定位,硬碟的主引導記錄(MBR)是不屬于任何一個作業系統的,它先于所有的作業系統而被調入記憶體,并發揮作用,然後才将控制權交給主分區(活動分區)内的作業系統。

DPT:磁盤分區表(Disk Partition Table)屬于主引導記錄中的第二部分,占據主引導扇區的64個位元組(偏移01BEH--偏移01FDH),可以對四個分區的資訊進行描述,其中每個分區的資訊占據16個位元組。

PBR:分區引導記錄 (Partition Boot Record)可以加載該分區的io.sys (dos / win9x) 或 ntldr(win2000 xp 2003) 或 bootmgr (vista/win2008/win7/win10 )。

bootmgr:啟動管理器(Boot Manager),是在Windows Vista、Windows 7、windows 8/8.1和windows 10中使用的新的啟動管理器,以代替Windows NT系列作業系統(Windows XP、Windows 2003)中的啟動管理器——NTLDR。

NTLDR:是一個隐藏的、隻讀的系統檔案,位置在系統盤的根目錄,功能是讀取boot.ini,之後裝載所選作業系統。是windows nt 4.0/windows 2000/windows xp/windows server 2003的引導檔案。

BCD:啟動設定資料(Boot Configuration Data) ,BCD是作業系統中的啟動設定資料,在有vista或windows7的多重作業系統中,系統通過bootmgr程式導入BCD檔案完成啟動菜單的引導。可以在進階 系統設定-啟動和故障恢複 中調整開機預設作業系統和等待時間。

boot.ini:啟動配置檔案,Windows NT、Windows 2000、Windows XP、Windows Server 2003主要依賴Boot.ini檔案來确定計算機在引導過程中顯示的可供選取的作業系統類别、等待時間等。

UEFI:統一的可擴充固件接口(Unified Extensible Firmware Interface), 這種接口用于作業系統自動從預啟動的操作環境,加載到一種作業系統上。

GPT:GUID磁盤分區表(GUID Partition Table)是一個實體硬碟的分區表的結構布局的标準。用于替代BIOS系統存儲邏輯塊位址和大小資訊的主開機紀錄(MBR)分區表。

繼續閱讀