在按下電腦電源使電腦啟動,並且在Windows XP專業版作業系統啟動之前這段時間,我們稱之為預引導(Pre-Boot)階段,在這個階段裡,電腦首先運行Power On Self Test(POST),POST檢測系統的總記憶體以及其他硬體裝置的現狀。
從按下電腦開關啟動電腦,到登入到案頭完成啟動,一共經過了以下幾個階段:
1. 預引導(Pre-Boot)階段;
2. 引導階段;
3. 載入核心階段;
4. 初始化核心階段;
5. 登陸。
每個啟動階段的詳細介紹
a) 預引導階段
在按下電腦電源使電腦啟動,並且在Windows XP專業版作業系統啟動之前這段時間,我們稱之為預引導(Pre-Boot)階段,在這個階段裡,電腦首先運行Power On Self Test(POST),POST檢測系統的總記憶體以及其他硬體裝置的現狀。如果電腦系統的BIOS(基礎輸入/輸出系統)是隨插即用的,那麼電腦硬體裝置將經過檢驗以及完成配置。電腦的基礎輸入/輸出系統(BIOS)定位電腦的引導裝置,然後MBR(Master Boot Record)被載入並運行。在預引導階段,電腦要載入Windows XP的NTLDR檔案。
b) 引導階段
Windows XP Professional引導階段包含4個小的階段。
首先,電腦要經過初始引導載入器階段(Initial Boot Loader),在這個階段裡,NTLDR將電腦微處理器從實模式轉換為32位平面記憶體模式。在實模式中,系統為MS-DOS保留640kb記憶體,其餘記憶體視為擴充記憶體,而在32位平面記憶體模式中,系統(Windows XP Professional)視所有記憶體為可用記憶體。接著,NTLDR啟動內建的mini-file system drivers,通過這個步驟,使NTLDR可以識別每一個用NTFS或者FAT檔案系統格式化的分區,以便發現以及載入Windows XP Professional,到這裡,初始引導載入器階段就結束了。
接著系統來到了作業系統選擇階段,如果電腦安裝了不止一個作業系統(也就是多系統),而且正確設定了boot.ini使系統提供作業系統選擇的條件下,電腦顯示器會顯示一個作業系統選單,這是NTLDR讀取boot.ini的結果。(至於作業系統選單,由於暫時條件不夠,沒辦法截圖,但是筆者類比了一個,見圖一。)
在boot.ini中,主要包含以下內容:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows 2000 Professional"
其中,multi(0)表示磁碟控制卡,disk(0)rdisk(0)表示磁碟,partition(x)表示分區。NTLDR就是從這裡尋找Windows XP Professional的系統檔案的位置的。(*本文不會更詳細地講解boot.ini的組成結構,因為其與本主題關係不大,如果想瞭解,可以到一些專門的網站處查詢相關資訊。)如果在boot.ini中只有一個作業系統選項,或者把timeout值設為0,則系統不出現作業系統選擇菜單,直接引導到那個唯一的系統或者預設的系統。在選擇啟動Windows XP Professional後,作業系統選擇階段結束,硬體檢測階段開始。
在硬體檢測階段中,ntdetect.com將收集電腦硬體資訊列表並將列表返回到NTLDR,這樣做的目的是便於以後將這些硬體資訊加入到註冊表HKEY_LOCAL_MACHINE下的hardware中。
硬體檢測完成後,進入配置選擇階段。如果電腦含有多個硬體設定檔列表,可以通過按上下按鈕來選擇。如果只有一個硬體設定檔,電腦不顯示此螢幕而直接使用預設的設定檔載入Windows XP專業版。