Windows XP 系統(tǒng)啟動過程概述

從按下計算機(jī)開關(guān)啟動計算機(jī),到登入到桌面完成啟動,一共經(jīng)過了以下幾個階段:
1. 預(yù)引導(dǎo)(Pre-Boot)階段;
2. 引導(dǎo)階段;
3. 加載內(nèi)核階段;
4. 初始化內(nèi)核階段;
5. 登陸。
每個啟動階段的詳細(xì)介紹
a) 預(yù)引導(dǎo)階段
在按下計算機(jī)電源使計算機(jī)啟動,并且在Windows XP專業(yè)版操作系統(tǒng)啟動之前這段時間,我們稱之為預(yù)引導(dǎo)(Pre-Boot)階段,在這個階段里,計算機(jī)首先運(yùn)行Power On Self Test(POST),POST檢測系統(tǒng)的總內(nèi)存以及其他硬件設(shè)備的現(xiàn)狀。如果計算機(jī)系統(tǒng)的BIOS(基礎(chǔ)輸入/輸出系統(tǒng))是即插即用的,那么計算機(jī)硬件設(shè)備將經(jīng)過檢驗以及完成配置。計算機(jī)的基礎(chǔ)輸入/輸出系統(tǒng)(BIOS)定位計算機(jī)的引導(dǎo)設(shè)備,然后MBR(Master Boot Record)被加載并運(yùn)行。在預(yù)引導(dǎo)階段,計算機(jī)要加載Windows XP的NTLDR文件。
b) 引導(dǎo)階段
Windows XP Professional引導(dǎo)階段包含4個小的階段。
首先,計算機(jī)要經(jīng)過初始引導(dǎo)加載器階段(Initial Boot Loader),在這個階段里,NTLDR將計算機(jī)微處理器從實模式轉(zhuǎn)換為32位平面內(nèi)存模式。在實模式中,系統(tǒng)為MS-DOS保留640kb內(nèi)存,其余內(nèi)存視為擴(kuò)展內(nèi)存,而在32位平面內(nèi)存模式中,系統(tǒng)(Windows XP Professional)視所有內(nèi)存為可用內(nèi)存。接著,NTLDR啟動內(nèi)建的mini-file system drivers,通過這個步驟,使NTLDR可以識別每一個用NTFS或者FAT文件系統(tǒng)格式化的分區(qū),以便發(fā)現(xiàn)以及加載Windows XP Professional,到這里,初始引導(dǎo)加載器階段就結(jié)束了。
接著系統(tǒng)來到了操作系統(tǒng)選擇階段,如果計算機(jī)安裝了不止一個操作系統(tǒng)(也就是多系統(tǒng)),而且正確設(shè)置了boot.ini使系統(tǒng)提供操作系統(tǒng)選擇的條件下,計算機(jī)顯示器會顯示一個操作系統(tǒng)選單,這是NTLDR讀取boot.ini的結(jié)果。(至于操作系統(tǒng)選單,由于暫時條件不夠,沒辦法截圖,但是筆者模擬了一個)
在boot.ini中,主要包含以下內(nèi)容:
[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)表示分區(qū)。NTLDR就是從這里查找Windows XP Professional的系統(tǒng)文件的位置的。(*本文不會更詳細(xì)地講解boot.ini的組成結(jié)構(gòu),因為其與本主題關(guān)系不大,如果想了解,可以到一些專門的網(wǎng)站處查詢相關(guān)信息。)如果在boot.ini中只有一個操作系統(tǒng)選項,或者把timeout值設(shè)為0,則系統(tǒng)不出現(xiàn)操作系統(tǒng)選擇菜單,直接引導(dǎo)到那個唯一的系統(tǒng)或者默認(rèn)的系統(tǒng)。在選擇啟動Windows XP Professional后,操作系統(tǒng)選擇階段結(jié)束,硬件檢測階段開始。
在硬件檢測階段中,ntdetect.com將收集計算機(jī)硬件信息列表并將列表返回到NTLDR,這樣做的目的是便于以后將這些硬件信息加入到注冊表HKEY_LOCAL_MACHINE下的hardware中。
硬件檢測完成后,進(jìn)入配置選擇階段。如果計算機(jī)含有多個硬件配置文件列表,可以通過按上下按鈕來選擇。如果只有一個硬件配置文件,計算機(jī)不顯示此屏幕而直接使用默認(rèn)的配置文件加載Windows XP專業(yè)版。
引導(dǎo)階段結(jié)束。在引導(dǎo)階段,系統(tǒng)要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可選的)。
c) 加載內(nèi)核階段
在加載內(nèi)核階段,ntldr加載稱為Windows XP內(nèi)核的ntokrnl.exe。系統(tǒng)加載了Windows XP內(nèi)核但是沒有將它初始化。接著ntldr加載硬件抽象層(HAL,hal.dll),然后,系統(tǒng)繼續(xù)加載HKEY_LOCAL_MACHINE\system鍵,NTLDR讀取select鍵來決定哪一個Control Set將被加載??刂萍邪O(shè)備的驅(qū)動程序以及需要加載的服務(wù)。NTLDR加載HKEY_LOCAL_MACHINE\system\service\…下start鍵值為0的最底層設(shè)備驅(qū)動。當(dāng)作為Control Set的鏡像的Current Control Set被加載時,ntldr傳遞控制給內(nèi)核,初始化內(nèi)核階段就開始了。
d) 初始化內(nèi)核階段
在初始化內(nèi)核階段開始的時候,彩色的Windows XP的logo以及進(jìn)度條顯示在屏幕中央,在這個階段,系統(tǒng)完成了啟動的4項任務(wù):
內(nèi)核使用在硬件檢測時收集到的數(shù)據(jù)來創(chuàng)建了HKEY_LOCAL_MACHINE\HARDWARE鍵。
內(nèi)核通過引用HKEY_LOCAL_MACHINE\system\Current的默認(rèn)值復(fù)制Control Set來創(chuàng)建了Clone Control Set。Clone Control Set配置是計算機(jī)數(shù)據(jù)的備份,不包括啟動中的改變,也不會被修改。
系統(tǒng)完成初始化以及加載設(shè)備驅(qū)動程序,內(nèi)核初始化那些在加載內(nèi)核階段被加載的底層驅(qū)動程序,然后內(nèi)核掃描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\…下start鍵值為1的設(shè)備驅(qū)動程序。這些設(shè)備驅(qū)動程序在加載的時候便完成初始化,如果有錯誤發(fā)生,內(nèi)核使用ErrorControl鍵值來決定如何處理,值為3時,錯誤標(biāo)志為危機(jī)/關(guān)鍵,系統(tǒng)初次遇到錯誤會以LastKnownGood Control Set重新啟動,如果使用LastKnownGood Control Set啟動仍然產(chǎn)生錯誤,系統(tǒng)報告啟動失敗,錯誤信息將被顯示,系統(tǒng)停止啟動;值為2時錯誤情況為嚴(yán)重,系統(tǒng)啟動失敗并且以LastKnownGood Control Set重新啟動,如果系統(tǒng)啟動已經(jīng)在使用LastKnownGood值,它會忽略錯誤并且繼續(xù)啟動;當(dāng)值是1的時候錯誤為普通,系統(tǒng)會產(chǎn)生一個錯誤信息,但是仍然會忽略這個錯誤并且繼續(xù)啟動;當(dāng)值是0的時候忽略,系統(tǒng)不會顯示任何錯誤信息而繼續(xù)運(yùn)行
Session Manager啟動了Windows XP高級子系統(tǒng)以及服務(wù),Session Manager啟動控制所有輸入、輸出設(shè)備以及訪問顯示器屏幕的Win32子系統(tǒng)以及Winlogon進(jìn)程,初始化內(nèi)核完畢。
相關(guān)文章
WinXP登錄失敗提示:未授予用戶在此計算機(jī)上的請求登陸類型怎么辦?
WinXP登錄失敗提示:“未授予用戶在此計算機(jī)上的請求登陸類型”怎么辦?今天我們就來看看詳細(xì)的解決過程2023-08-16xp系統(tǒng)我的文檔在哪? WinXP系統(tǒng)下我的文檔打不開怎么辦?
xp系統(tǒng)我的文檔在哪?winxp系統(tǒng)中的我的文檔打不開,可能是權(quán)限出現(xiàn)了變化,下面我們就來看看WinXP系統(tǒng)下我的文檔打不開怎么辦?2023-08-16winXP系統(tǒng)如何快速升級到Windows8系統(tǒng)?
XP系統(tǒng)如何快速升級到Win8系統(tǒng)?當(dāng)我們使用XP系統(tǒng)的電腦時,想要升級到Win8系統(tǒng),這時我們該怎么做呢,讓我們一起看下文尋找解決的方法吧2020-12-24- 如何解決WinXP系統(tǒng)LOL安全證書不可用?最近有不少XP系統(tǒng)的用戶,向小編反應(yīng)LOL安全證書不可用該怎么解決,下面就由小編帶領(lǐng)大家來解決問題2020-12-22
- 如何恢復(fù)XP系統(tǒng)本地連接?最近有不少XP系統(tǒng)的用戶,在使用電腦的時候遇到了這樣的問題本地連接不見了,那么如何恢復(fù)呢。下面就由小編為大家解決問題2020-12-11
如何解決WinXP系統(tǒng)記事本亂碼?解決WinXP系統(tǒng)記事本亂碼的教程
如何解決WinXP系統(tǒng)記事本亂碼?相信很多WinXP系統(tǒng)用戶都有因為設(shè)置不當(dāng)導(dǎo)致記事本亂碼而煩惱過,那么如何解決這一問題呢,讓我們一起來看看吧2020-12-08WinXP系統(tǒng)網(wǎng)頁不能復(fù)制粘貼的教程
怎么解決WinXP系統(tǒng)網(wǎng)頁不能復(fù)制粘貼?windows xp系統(tǒng),在使用電腦的時需要復(fù)制粘貼這個功能,但是有時候我們在WinXP系統(tǒng)網(wǎng)頁不能完成復(fù)制粘貼,該如何解決這一問題,下面小編2020-12-07- 如何解決winxp系統(tǒng)oracle無法使用?很多電腦用戶不知道oracle的話,就需要開啟oracle服務(wù),但是如何開啟oracle服務(wù)呢,下面小編帶領(lǐng)大家學(xué)習(xí)一下2020-12-07
怎么解決winXP出現(xiàn)“數(shù)據(jù)執(zhí)行保護(hù)”?
怎么解決XP出現(xiàn)"數(shù)據(jù)執(zhí)行保護(hù)"?最近有很多小伙伴向小編反應(yīng)使用xp系統(tǒng)過程中,總是會彈出"數(shù)據(jù)執(zhí)行保護(hù)",那么我們該如何解決這一問題呢,下面小編為2020-12-07winxp超級管理員賬戶消失了怎么辦? winxp管理員賬戶恢復(fù)的技巧
winxp超級管理員賬戶消失了怎么辦?最近遇到一個問題,winxp創(chuàng)建新賬戶后超級管理員賬戶消失了,該怎么辦呢?下面我們就來看看winxp管理員賬戶恢復(fù)的技巧,需要的朋友可以2020-08-19