Windows XP是美國微軟公司研發(fā)的基于X86、X64架構(gòu)的PC和平板電腦使用的操作系統(tǒng),于2001年8月24日發(fā)布RTM版本,并于2001年10月25日開始零售。其名字中“XP”的意思來自英文中的“體驗(yàn)(Experience)”。該系統(tǒng)是繼Windows 2000及Windows ME之后的下一代Windows操作系統(tǒng),也是微軟首個(gè)面向消費(fèi)者且使用Windows NT5.1架構(gòu)的操作系統(tǒng)。
使用老機(jī)器和筆記本電腦的朋友,恐怕最難以忍受的是慢得讓人發(fā)瘋的系統(tǒng)啟動(dòng)過程吧。即使試遍了各種優(yōu)化秘籍,使用了所有優(yōu)化軟件,但Windows XP還是慢悠悠的開機(jī),慢騰騰的關(guān)機(jī),讓人沮喪不已。今天就給大家講解下WINDOWS啟動(dòng)和關(guān)機(jī)內(nèi)幕,學(xué)了本教程后,看看能否讓你的開關(guān)機(jī)有所加速.
WINDOWS的啟動(dòng)流程
第一:NTLDR的作用過程
1.首先機(jī)器POST----BIOS----MBR----BOOT SECTOR----os的引導(dǎo)程序 WINDOWS的引導(dǎo)程序是NTLDR注意這個(gè)文件其實(shí)是個(gè)可執(zhí)行文件,這里機(jī)器主要做的工作是:CPU從16的實(shí)模式到32的保護(hù)模式,啟用CPU的頁機(jī)制,如果磁盤是SCSI,則加載Ntbootdd.sys來訪問磁盤,否則用INT13來訪問。這里假如機(jī)器沒找到Ntldr這個(gè)文件,在FAT文件系統(tǒng)下,機(jī)器顯示"BOOT: Couldn't find NTLDRP",而在NTFS下顯示"NTLDR is missing"(這個(gè)沒有具體實(shí)驗(yàn)過,是書上這么說的)
2.NTLDR裝載后就先CLS屏幕,首先檢查根目錄下有沒有合法的Hiberfil.sys,這個(gè)文件的作用是機(jī)器休眠的時(shí)候把內(nèi)存中的所有信息保存到hiberfil.sys這個(gè)文件中,這個(gè)文件的大小始終和系統(tǒng)的物理內(nèi)存大小一致。如果希望回收這個(gè)空間,請(qǐng)打開“控制面板”下的“電源管理”,選擇“休眠”選項(xiàng)卡,去掉“啟用休眠”這一復(fù)選項(xiàng)的選中標(biāo)記,系統(tǒng)會(huì)自動(dòng)消除hiberfil.sys文件。如果有就快速啟動(dòng)到上次機(jī)器休眠的狀態(tài)。
3.接著處理Boot.ini,如果有多個(gè)的啟動(dòng)項(xiàng),那就顯示啟動(dòng)菜單(如果只有一個(gè)默認(rèn)的項(xiàng),那就是我們立即就可以看到WINDOWS的啟動(dòng)狀態(tài)條了) 處理BOOT.ini WINDOWS自帶的一個(gè)工具Bootcfg.exe,可以用這個(gè)工具修改,當(dāng)然也可以自己用記事本打開boot.ini來修改,boot.ini的一些參數(shù)會(huì)保存在注冊(cè)表HKLM\System\CurrentControlSet\Control\SystemStartOptions下。關(guān)于 boot.ini里面的參數(shù)大家可以去查閱資料。
4.下面就是NTLDR調(diào)用執(zhí)行Ntdetect.com,作用是檢測(cè)的一些基本設(shè)備和配置信息 信息包括:CMOS里的時(shí)間日期信息,總線類型,磁盤的大小,類型,數(shù)目,輸入設(shè)備的信息,并口的信息,顯卡的類型,這些信息收集后保存在HKLM\ HARDWARE\DESCRIPTION下面。接著就2000版本下顯示“Starting Windows”進(jìn)程條,而在xp,2003下是顯示W(wǎng)INDOWS的LOGO
5.在顯示進(jìn)程條的過程中,機(jī)器實(shí)際上是在加載系統(tǒng)相應(yīng)的內(nèi)核和HAL文件,一般是Ntoskrnl.exe 和Hal.dll這2個(gè)文件,如果這個(gè)過程中發(fā)現(xiàn)找不到文件,則會(huì)顯示"Windows could not start because the following file was missing or corrupt"這個(gè)信息。然后讀取注冊(cè)表SYSTEM HIVE(Windows\System32\Config\System),來決定需要加載的設(shè)備驅(qū)動(dòng),這些設(shè)備驅(qū)動(dòng)都在 SERVICE_BOOT_START (0)里面
6.然后加載Ntoskrnl.exe,這樣NTLDR的使命就結(jié)束了。
第二 Ntoskrnl.exe的作用過程這里主要分2個(gè)階段來初始化內(nèi)核,最后創(chuàng)建the Session Manager subsystem (Smss)進(jìn)程。
第三 Smss的作用過程
1.創(chuàng)建LPC port對(duì)象,為MSDOS定義符號(hào)連接,例如COM1、LPT1,假如安裝有Terminal Services,則創(chuàng)建\Sessions目錄
2.運(yùn)行注冊(cè)表里HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute定義的程序,一般默認(rèn)的是運(yùn)行Autochk
3.執(zhí)行HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations表鍵中的延遲,刪除,改名操作
4.加載HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs 初始化paging files和注冊(cè)表
5.創(chuàng)建系統(tǒng)環(huán)境變量,這些定義在HKLM\System\CurrentControlSet\Session Manager\Environment
6.加載和初始化WIN32子系統(tǒng)的內(nèi)核模塊Win32k.sys
7. 創(chuàng)建WIN32子系統(tǒng)服務(wù)器進(jìn)程,包括Csrss, 創(chuàng)建Winlogon進(jìn)程。 這里的2個(gè)進(jìn)程其中一個(gè)出現(xiàn)異常,那系統(tǒng)都會(huì)中斷
Windows XP服役時(shí)間長(zhǎng)達(dá)13年,產(chǎn)生的經(jīng)濟(jì)價(jià)值也較高。2014年4月8日,微軟終止對(duì)該系統(tǒng)的技術(shù)支持,但在此之后仍在一些重大計(jì)算機(jī)安全事件中對(duì)該系統(tǒng)發(fā)布了補(bǔ)丁。
|