• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            無我

            讓內(nèi)心永遠(yuǎn)燃燒著偉大的光明的精神之火!
            靈活的思考,嚴(yán)謹(jǐn)?shù)膶崿F(xiàn)
            豪邁的氣魄、頑強的意志和周全的思考

            windows系統(tǒng)啟動過程原理全面分析 [轉(zhuǎn)]

            windows系統(tǒng)啟動過程原理全面分析

            http://blog.csdn.net/trypsin/archive/2009/08/20/4466373.aspx

            現(xiàn)在個人用的最多的就是windows XP,要正確使用Windows XP,一定要熟練掌握Windows XP的啟動原理。Windows XP的啟動過程所執(zhí)行的操作可以看成是一個操作系統(tǒng)整體環(huán)境的快照或縮影,了解了Windows XP的啟動原理,有助于深入了解Windows XP的多方面機制。

            正如很多人所經(jīng)常遇到的那樣,Windows XP并不是十全十美的,如果操作失誤,很可能導(dǎo)致Windows XP的各種故障。其中,啟動故障比較常見,也比較難于對付。因為,如果系統(tǒng)啟動不起來,對它的排錯也就無從談起。所以,熟練掌握對Windows XP啟動故障的排除,也是一個“菜鳥”必不可少的技能。 

            Windows XP是基于NT技術(shù)的操作系統(tǒng),它的啟動過程同Windows NT和Windows 2000基本相同,但是同DOS、Windows 3.X、Windows 9.X和Windows ME大相徑庭。Windows XP徹底拋棄了原先的基于字符的實模式環(huán)境,其啟動過程比較復(fù)雜。  一般來說,Windows XP的啟動過程,主要包括以下幾個步驟: 

            一、電源開啟自檢過程 

            在打開計算機電源時,首先開始電源啟動自檢過程。在BIOS中包含一些基本的指令,能夠幫助計算機在沒有安裝任何操作系統(tǒng)的情況下進(jìn)行基本的啟動。電源啟動自檢過程首先會從BIOS中載入必要的指令,然后進(jìn)行如下一系列的自檢操作: 
            進(jìn)行硬件的初始化檢查,例如檢查內(nèi)存的容量等。 


            驗證用于啟動操作系統(tǒng)的設(shè)備是否正常,例如,檢查硬盤是否存在等。


            從CMOS中讀取系統(tǒng)配置信息。  在完成了電源啟動的自檢之后,每個帶有固件的硬件設(shè)備,如顯卡和磁盤控制器,都會根據(jù)需要完成內(nèi)部的自檢操作。 

            二、初始化啟動過程

            在完成了電源啟動自檢過程之后,存儲在CMOS中的設(shè)置,例如磁盤的引導(dǎo)順序等,能夠決定由哪些設(shè)備來引導(dǎo)計算機。例如,可以設(shè)置磁盤的引導(dǎo)順序為首先通過A盤引導(dǎo),其次才通過C盤引導(dǎo),則系統(tǒng)會首先嘗試用A盤引導(dǎo)系統(tǒng),如果A盤存在并可引導(dǎo),則通過A盤引導(dǎo)。如果A盤不存在,則通過C盤引導(dǎo)系統(tǒng)。如果A盤存在,但不是引導(dǎo)盤,則系統(tǒng)地提示系統(tǒng)不可引導(dǎo)。 

            一般來說通常會使用硬盤引導(dǎo)。在進(jìn)行硬盤引導(dǎo)時,啟動過程通常按照如下的步驟進(jìn)行:
            系統(tǒng)首先檢測打開電源的硬盤。 若該硬盤是啟動盤,BIOS就將主引導(dǎo)記錄(Main Boot Record――MBR)中的引導(dǎo)代碼載入內(nèi)存。 
            接著,BIOS會將啟動過程的運行交給MBR來進(jìn)行。 
            計算機搜索MBR中的分區(qū)表,找出活動分區(qū)(Active Partition)。
            計算機將活動分區(qū)的第一個扇區(qū)中的引導(dǎo)代碼載入到內(nèi)存。 
            引導(dǎo)代碼檢測當(dāng)前使用的文件系統(tǒng)是否可用。 
            引導(dǎo)代碼查找ntldr文件,找到之后啟動它。 (該文件ntldr文件將來在登錄進(jìn)入windows系統(tǒng)之后C盤根目錄隱藏文件下找到)
            BIOS將控制權(quán)轉(zhuǎn)交給ntldr,由ntldr完成操作系統(tǒng)的啟動。 

              注意:這里簡單介紹一下MBR的概念。MBR位于啟動磁盤的第一個扇區(qū),其中主要包含引導(dǎo)代碼(Boot Code)和分區(qū)表(Partition Table)數(shù)據(jù)。引導(dǎo)代碼主要用于引導(dǎo)系統(tǒng)。而分區(qū)表則主要用于標(biāo)識基本分區(qū)和擴展分區(qū)。

            三、引導(dǎo)程序載入過程 

            本過程主要由ntldr 文件完成。Ntldr從引導(dǎo)分區(qū)載入啟動文件,然后完成如下一些任務(wù)。

             

            1、在基于X86CPU的系統(tǒng)下,設(shè)置CPU的運行使用32位的Flat內(nèi)存模式 。
            對基于X86CPU的計算機來說,第一次啟動的時候總是進(jìn)入所謂的實模式(RealMode)。在實模式下CPU的某些特性不能完全發(fā)揮,這是因為它要保證同8位或16位的CPU(如8086、8088)相兼容。實模式下由于系統(tǒng)規(guī)格的限制,無法對大容量內(nèi)存進(jìn)行直接存取,而必須通過分段的方式完成。對于32位的Windows XP來說,8位或16位的CPU顯然是無用的。 
            ntldr首先會將CPU切換到32位的模式,從而確保Windows XP的正常。在CPU的32位模式下,可以對大容量內(nèi)存進(jìn)行直接存取,而徹底拋棄了原先在8位或16位下分段存取內(nèi)存的不便。這也是為什么32位模式稱作Flat內(nèi)存模式的原因。

            2、啟動文件系統(tǒng)
            ntldr 中包含相應(yīng)的代碼,能夠幫助Windows XP完成對NTFS或FAT格式的磁盤進(jìn)行讀寫。從而能夠讀取、訪問和復(fù)制文件。


            3、讀取boot.ini 文件 
            在這一步中,ntldr 會分析boot.ini文件,確定操作系統(tǒng)分區(qū)所在的位置。
            對于單引導(dǎo)的系統(tǒng)來說,ntldr 會通過啟動ntdetect.com來初始化硬件檢測狀態(tài)。 
            對于多引導(dǎo)系統(tǒng)來說,首先由用戶在操作系統(tǒng)菜單中選擇要啟動的操作系統(tǒng)然后而由ntldr進(jìn)行相應(yīng)的操作。 
            如果用戶選擇啟動ntdetect.com來初始化硬件檢測狀態(tài)。 
            如果選擇啟動舊式的微軟操作系統(tǒng),如MS-DOS、Windows 9x/ME,ntldr會將從bootsect.dos文件中讀取MBR代碼,然后將控制權(quán)交給bootsect.dos中的MBR。 


            4、根據(jù)需要提供啟動菜單 
            在這一步,如果用戶按下F8鍵,則會顯示啟動菜單,允許用戶選擇不同的啟動方式,例如使用安全方式啟動,或是使用最后一次正確的配置啟動等。 


            5、檢測硬件和硬件配置 
            在這一步中,ntldr 啟動ntdetect.com文件進(jìn)行基本的設(shè)備檢查,然后將 boot.ini文件中的信息,以及注冊表中的硬件和軟件信息傳遞給ntoskrnl.exe 程序。 

            四、檢測和配置硬件過程 

            在處理完boot.ini文件之后,ntldr會啟動ntdetect.com程序。在基于X86的系統(tǒng)中,ntdetect.com會通過調(diào)用系統(tǒng)固件程序收集安裝的硬件信息,然后由ntdetect.com將這些信息傳遞送回ntldr。Ntldr獲取從ntdetect.com發(fā)來的信息后,將這些信息組織成為內(nèi)部的斷氣結(jié)構(gòu)形式,然后由ntldr 啟動ntoskrnl.exe ,并將這些信息發(fā)送給它。 

            Ntdetect.com 會收集如下類型的硬件信息: 
            系統(tǒng)固件信息,例如時間和日期等 
            總線適配器的類型 
            顯卡適配器的類型 
            鍵盤 
            通信端口 
            磁盤 
            軟盤 
            輸入設(shè)備,例如鼠標(biāo) 
            并口 
            安裝在ISA槽中的ISA設(shè)備 
            完成信息的檢測之后,Windows XP會在屏幕上顯示那個著名的Windows XP商標(biāo),并顯示一個滾動的,告訴用戶Windows 的啟動進(jìn)程。

            五、內(nèi)核加載過程

            在此過程中,ntldr實施下列一些功能。 
            1、將內(nèi)核(ntoskrnl.exe)和硬件抽象層(hal.dll)載入到內(nèi)存 
            2、加載控制集信息 
            在這一過程中,ntldr從注冊表中的HKEY_LOCAL-_MACHINE\SYSTEM位置加載相應(yīng)的控制集(Control Set)信息,并確定在啟動過程中要加載的設(shè)備驅(qū)動。 
            3、加載設(shè)備驅(qū)動程序和服務(wù) 
            在這一步中,系統(tǒng)會在BIOS的幫助下開始加載設(shè)備驅(qū)動程序,以及服務(wù)。 
            4、啟動會話管理器 
            完成上面的過程之后,內(nèi)核會啟動會話管理器(Session Manager),這是一個名為smss.exe 的程序,其作用表現(xiàn)如下: 

            (1)創(chuàng)建系統(tǒng)環(huán)境變量 

            (2)創(chuàng)建虛擬內(nèi)存頁面文件 

            六、用戶登錄過程 

            在這一過程中,Windows 子系統(tǒng)會啟動winlogon.exe,這是一個系統(tǒng)服務(wù),用于提供對Windows 用戶的登錄和注銷的支持。

            Winlogon.exe 可以完成如下一些工作: 

            啟動服務(wù)子系統(tǒng)(services.exe),也稱服務(wù)控制管理器(Service Control Manager, SCM)。 
            啟動本地安全授權(quán)(Local Security Authority , LSA)過程(lsass.exe)。 

            在開始登錄提示的時候,對Crtl+Alt+Del組合鍵進(jìn)行分析處理。
            一個圖形化的識別和認(rèn)證組件收集用戶的帳號和密碼,然后將這些信息安全地傳送給LSA以進(jìn)行認(rèn)證處理。如果用戶提供的信息是正確的,能夠通過認(rèn)證,就允許用戶對系統(tǒng)進(jìn)行訪問。
            要注意的是,如果您的計算機中,只有Administrator這一個用戶,那么在歡迎屏幕中就會顯示Administrator 用戶項。如果您的計算機中不僅有Administrator用戶,還有別的可以交互登錄的用戶,那么歡迎屏幕中就只顯示出Administrator之外的用戶,而不顯示Administrator用戶。 
            如果用戶希望以Administrator用戶登錄,該怎么辦呢?實際很簡單,直接在歡迎屏幕中按下兩次Crtl+Alt+Del組合鍵,即可打開標(biāo)準(zhǔn)的登錄窗口,可以再輸入Administrator 的用戶名和密碼,以便用最高管理員的身份登錄。

             

            七、即插即用設(shè)備的檢測過程 

            對即插即用設(shè)備的檢測,實際上是和登錄過程異步進(jìn)行的。由系統(tǒng)固件、硬件、設(shè)備驅(qū)動和系統(tǒng)特性決定了Windows XP如何對新設(shè)備進(jìn)行檢測和枚舉。當(dāng)即插即用組件正常工作后,Windows XP會對新設(shè)備進(jìn)行檢測,為它們分配系統(tǒng)資源,并在盡量不要用戶提供選擇的情況下,為新設(shè)備安裝一個合適版本的驅(qū)動程序。 

            至此,Windows XP已成功啟動!!!

             

            本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/trypsin/archive/2009/08/20/4466373.aspx

            posted on 2009-09-15 18:06 Tim 閱讀(618) 評論(0)  編輯 收藏 引用 所屬分類: 資源共享

            <2009年4月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            導(dǎo)航

            統(tǒng)計

            公告

            本博客原創(chuàng)文章,歡迎轉(zhuǎn)載和交流。不過請注明以下信息:
            作者:TimWu
            郵箱:timfly@yeah.net
            來源:www.shnenglu.com/Tim
            感謝您對我的支持!

            留言簿(9)

            隨筆分類(173)

            IT

            Life

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            亚洲精品美女久久久久99小说 | AV狠狠色丁香婷婷综合久久| 欧美精品久久久久久久自慰| 一本久久久久久久| 久久无码国产专区精品| 国产精品久久久久久影院| 四虎影视久久久免费观看| 国产午夜精品理论片久久影视| 久久久亚洲精品蜜桃臀| 久久精品草草草| 99久久精品免费看国产一区二区三区| 久久夜色精品国产亚洲| 久久久久99精品成人片欧美| 色综合合久久天天给综看| 久久久久国产精品| 久久夜色精品国产亚洲| 三级片免费观看久久| 国产激情久久久久影院小草 | 亚洲精品乱码久久久久久自慰| 国产精品综合久久第一页| 久久久无码精品亚洲日韩按摩| 久久久久久精品免费看SSS | 91亚洲国产成人久久精品| 99久久免费国产精精品| 亚洲日韩中文无码久久| 久久精品国产男包| 久久精品国产99久久久古代 | 久久狠狠色狠狠色综合| 国产亚洲精品美女久久久| 久久久一本精品99久久精品88 | 亚洲欧洲精品成人久久曰影片| 久久精品免费网站网| 久久国产成人午夜aⅴ影院| 久久精品免费网站网| 久久综合视频网站| 久久精品国产2020| 国产成人无码精品久久久性色| 无码人妻久久一区二区三区| 麻豆一区二区99久久久久| 国产精品久久网| 精品视频久久久久|