Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows XP系統教程 >> XP系統應用技巧 >> WINDOWS啟動和關機流程大揭秘

WINDOWS啟動和關機流程大揭秘

日期:2017/1/24 21:57:25      編輯:XP系統應用技巧

  使用老機器和筆記本電腦的朋友,恐怕最難以忍受的是慢得讓人發瘋的系統啟動過程吧。即使試遍了各種優化秘籍,使用了所有優化軟件,但Windows XP還是慢悠悠的開機,慢騰騰的關機,讓人沮喪不已。今天就給大家講解下WINDOWS啟動和關機內幕,學了本教程後,看看能否讓你的開關機有所加速.

  WINDOWS的啟動流程

  第一:NTLDR的作用過程

  1.首先機器POST----BIOS----MBR----BOOT SECTOR----os的引導程序 WINDOWS的引導程序是NTLDR注意這個文件其實是個可執行文件,這裡機器主要做的工作是:CPU從16的實模式到32的保護模式,啟用CPU的頁機制,如果磁盤是SCSI,則加載Ntbootdd.sys來訪問磁盤,否則用INT13來訪問。這裡假如機器沒找到Ntldr這個文件,在FAT文件系統下,機器顯示"BOOT: Couldn't find NTLDRP",而在NTFS下顯示"NTLDR is missing"(這個沒有具體實驗過,是書上這麼說的)

  2.NTLDR裝載後就先CLS屏幕,首先檢查根目錄下有沒有合法的Hiberfil.sys,這個文件的作用是機器休眠的時候把內存中的所有信息保存到hiberfil.sys這個文件中,這個文件的大小始終和系統的物理內存大小一致。如果希望回收這個空間,請打開“控制面板”下的“電源管理”,選擇“休眠”選項卡,去掉“啟用休眠”這一復選項的選中標記,系統會自動消除hiberfil.sys文件。如果有就快速啟動到上次機器休眠的狀態。

  3.接著處理Boot.ini,如果有多個的啟動項,那就顯示啟動菜單(如果只有一個默認的項,那就是我們立即就可以看到WINDOWS的啟動狀態條了) 處理BOOT.ini WINDOWS自帶的一個工具Bootcfg.exe,可以用這個工具修改,當然也可以自己用記事本打開boot.ini來修改,boot.ini的一些參數會保存在注冊表HKLM\System\CurrentControlSet\Control\SystemStartOptions下。關於 boot.ini裡面的參數大家可以去查閱資料。

  4.下面就是NTLDR調用執行Ntdetect.com,作用是檢測的一些基本設備和配置信息 信息包括:CMOS裡的時間日期信息,總線類型,磁盤的大小,類型,數目,輸入設備的信息,並口的信息,顯卡的類型,這些信息收集後保存在HKLM\ HARDWARE\DESCRIPTION下面。接著就2000版本下顯示“Starting Windows”進程條,而在xp,2003下是顯示WINDOWS的LOGO

  5.在顯示進程條的過程中,機器實際上是在加載系統相應的內核和HAL文件,一般是Ntoskrnl.exe 和Hal.dll這2個文件,如果這個過程中發現找不到文件,則會顯示"Windows could not start because the following file was missing or corrupt"這個信息。然後讀取注冊表SYSTEM HIVE(Windows\System32\Config\System),來決定需要加載的設備驅動,這些設備驅動都在 SERVICE_BOOT_START (0)裡面

  6.然後加載Ntoskrnl.exe,這樣NTLDR的使命就結束了。

  第二 Ntoskrnl.exe的作用過程這裡主要分2個階段來初始化內核,最後創建the Session Manager subsystem (Smss)進程。

  第三 Smss的作用過程

  1.創建LPC port對象,為MSDOS定義符號連接,例如COM1、LPT1,假如安裝有Terminal Services,則創建\Sessions目錄

  2.運行注冊表裡HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute定義的程序,一般默認的是運行Autochk

  3.執行HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations表鍵中的延遲,刪除,改名操作

  4.加載HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs 初始化paging files和注冊表

  5.創建系統環境變量,這些定義在HKLM\System\CurrentControlSet\Session Manager\Environment

  6.加載和初始化WIN32子系統的內核模塊Win32k.sys

  7. 創建WIN32子系統服務器進程,包括Csrss, 創建Winlogon進程。 這裡的2個進程其中一個出現異常,那系統都會中斷 上一頁12下一頁共2頁

Copyright © Windows教程網 All Rights Reserved