網際論壇 - 軟體綜合研討 - 〔分享〕Windows XP Professional電腦啟動過程概述
» 遊客:  註冊 | 登錄 | 會員 | 幫助
 

免費線上小說
動漫分類 : 最新上架熱門連載全本小說最新上架玄幻奇幻都市言情武俠仙俠軍事歷史網游競技科幻靈異 ... 更多小說

作者:
標題: 〔分享〕Windows XP Professional電腦啟動過程概述 上一主題 | 下一主題
  TCG
  區版主 
  論壇我最老,人老心未老。


 
  積分 14326
  發文 895
  註冊 2005-8-31
  狀態 在線
#1  〔分享〕Windows XP Professional電腦啟動過程概述

Windows XP Professional電腦啟動過程概述

從按下電腦開關啟動電腦,到登入到桌面完成啟動,一共經由了以下幾個階段:
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專業版。
引導階段結束。在引導階段,系統要用到的檔案一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可選的)。
.
c) 加載內核階段
在加載內核階段,ntldr加載稱為Windows XP內核的ntokrnl.exe。系統加載了Windows XP內核但是沒有將它起始化。接著ntldr加載硬體抽像層(HAL,hal.dll),然後,系統繼續加載HKEY_LOCAL_MACHINE\system鍵,NTLDR讀取select鍵來決定哪一個Control Set將被加載。控制集中內含裝置的驅動程式以及需要加載的服務。NTLDR加載HKEY_LOCAL_MACHINE\system\service\...下start鍵值為0的最底層裝置驅動。當作為Control Set的對映的Current Control Set被加載時,ntldr傳遞控制給內核,起始化內核階段就開始了。
.
d) 起始化內核階段
在起始化內核階段開始的時候,彩色的Windows XP的logo以及進度條顯示在螢幕中央,在這個階段,系統完成了啟動的4項任務:
? 內核使用在硬體檢驗時收集到的資料來建立了HKEY_LOCAL_MACHINE\HARDWARE鍵。
? 內核通過引用HKEY_LOCAL_MACHINE\system\Current的預設值複製Control Set來建立了Clone Control Set。Clone Control Set群組態是電腦資料的備份,不內含啟動中的改變,也不會被修改。
? 系統完成起始化以及加載裝置驅動程式,內核起始化那些在加載內核階段被加載的底層驅動程式,然後內核掃瞄HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start鍵值為1的裝置驅動程式。這些裝置驅動程式在加載的時候便完成起始化,若果有錯誤發生,內核使用ErrorControl鍵值來決定如何處理,值為3時,錯誤標誌為危機/關鍵,系統初次遇到錯誤會以LastKnownGood Control Set重新啟動,若果使用LastKnownGood Control Set啟動仍然產生錯誤,系統報告啟動失敗,錯誤訊息將被顯示,系統停止啟動;值為2時錯誤情況為嚴重,系統啟動失敗並且以LastKnownGood Control Set重新啟動,若果系統啟動已經在使用LastKnownGood值,它會忽略錯誤並且繼續啟動;當值是1的時候錯誤為普通,系統會產生一個錯誤訊息,但是仍然會忽略這個錯誤並且繼續啟動;當值是0的時候忽略,系統不會顯示任何錯誤訊息而繼續執行
? Session Manager啟動了Windows XP進階子系統以及服務,Session Manager啟動控制所有輸入、輸出裝置以及訪問顯示器螢幕的Win32子系統以及Winlogon進度,起始化內核完畢。
.
e) 登陸
? Winlogon.exe啟動Local Security Authority,同時Windows XP Professional歡迎螢幕或是登陸對話框顯示,這時候,系統還可能在後台繼續起始化剛才沒有完成的驅動程式。
?提示輸入有效的使用者名或密碼。
?Service Controller最後執行以及掃瞄HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives來檢查是否還有服務需要加載,Service Controller尋找start鍵值為2或更高的服務,服務按照start的值以及DependOnGroup和DepandOnService的值來加載。
.
只有使用者成功登陸到電腦後,Windows XP的啟動才被認為是完成,在成功登陸後,系統複製Clone Control Set到LastKnownGood Control Set,完成這一步驟後,系統才意味著已經成功引導了




春有百花秋有月夏有涼風冬有雪若無閒事掛心頭便是人間好時節!部落格http://tw.myblog.yahoo.com/jw!ka8oBNqLHQP2uH53B_9i
非以役人,乃役於人。己所不欲,勿施於人。
2005-10-12 11:46 AM
查看資料  發送郵件  發短消息   編輯文章  引用回覆
  ltj33
  進階會員 
 


  積分 2963
  發文 153
  註冊 2005-9-7
  狀態 離線
#2  

感謝詳細解說
受益良多


2005-10-14 04:56 AM
查看資料  發短消息   編輯文章  引用回覆
  c2546321
  進階會員 
 



  積分 2488
  發文 428
  註冊 2005-9-7
  狀態 離線
#3  

感謝詳細解說
受益良多


2005-10-30 12:51 AM
查看資料  發短消息   編輯文章  引用回覆
  scw
  中級會員 
 



  積分 1023
  發文 145
  註冊 2005-9-9
  狀態 離線
#4  

受益良多,感謝您的提供,謝謝分享。

2005-10-31 08:23 PM
查看資料  發送郵件  發短消息   編輯文章  引用回覆
  imbb0312
  一般會員 
 



  積分 304
  發文 39
  註冊 2006-5-12
  狀態 離線
#5  謝了 一直不太了解XP啟動

我跟一般人一樣 只會用啦 對於啟動好多迷思


謝謝啦  ,我會花時間多讀二遍的


2008-2-19 12:31 PM
查看資料  發短消息   編輯文章  引用回覆
  dede122008
  禁止來訪 
 



  積分 79
  發文 13
  註冊 2008-1-5
  狀態 離線
#6  

very good!!!!!!!!!!!!!!!!

2008-2-24 11:21 PM
查看資料  發送郵件  發短消息   編輯文章  引用回覆
  牛果
  基本會員 
 



  積分 81
  發文 28
  註冊 2005-9-8
  狀態 離線
#7  

那登錄之後進入個人帳號後的動作(個人設定)等好久就不知系統再幹嘛!
因為每次我開機都要等很久,哪位大大指點、指點,有沒有辦法看到或知道它們在甚麼。


2008-9-24 03:17 PM
查看資料  發送郵件  發短消息   編輯文章  引用回覆
  buysoon2005
  一般會員 
 



  積分 406
  發文 45
  註冊 2005-9-15
  來自 宜蘭
  狀態 離線
#8  

真是太厲害了,一定了解xp很徹底

2011-9-2 01:34 PM
查看資料  發送郵件  發短消息   編輯文章  引用回覆

可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題

論壇跳轉選單: