系統的啟動分三個步驟。第一個步驟從接通電源開始,系統BIOS對硬件設備進行例行的加電自檢,即所謂的POST(Power On Self Test)檢查,包括RAM檢查 軟硬驅和CD-ROM驅動器檢測等。接著,BIOS讀取活動分區主引導記錄MBR(Master Boot Record)的啟動裝載器。最後,當啟動裝載器初始化完成之後,操作系統啟動過程正式開始。啟動操作系統涉及到大量的任務,因此耗時也最長,典型的任務包括啟動操作系統內核 裝載磁盤卷 裝入設備驅動程序 讀取注冊信息 尋找新硬件設備 初始化顯示設備和顯示出用戶界面等。
同時,它還要連接網絡,以及實施各種用戶自定義的配置,例如安全配置等。Win XP通過與硬件更有效地協作,加速了啟動過程。
如果你正打算購買運行XP的新主板,可考慮該主板的BIOS是否支持SBFS,即Simple Boot Flag Specification,或“簡單引導標記規范”,這種BIOS能夠更好地與操作系統配合優化啟動速度,例如最大限度地降低BIOS內存檢測時間 不再為即插即用的操作系統初始化設備等等。
Win XP的NTLDR啟動裝載器也進行了優化。啟動裝載器的任務是讀取和裝入操作系統內核和相關系統文件。在Win XP中,啟動裝載器緩存了文件和目錄信息,只需一個I/O周期即可讀入系統文件,顯著地提高了裝入操作系統內核的速度。XP的內核也為提高啟動速度進行了優化,現在,磁盤I/O操作和設備初始化操作可在一定程度上交迭,即在讀取磁盤的同時檢測設備和把驅動程序裝入內存。另外,針對XP編寫的驅動程序必須做到,只有即將使用的設備才會被初始化。在XP中,網絡也在系統啟動的時候而不是以後初始化。
Win XP利用“預讀取”技術,在實際用到設備驅動程序 服務和shell程序之前裝入它們。預讀取技術的關鍵是學習以前的啟動過程,對於啟動過程中要用到的各種文件,優化其裝入模式。這種優化技術也被用到了應用軟件上,系統對每一個應用軟件的前幾次啟動情況進行分析,然後創建一個描述應用需求的虛擬“內存映像”,並把這些信息保存到WINDOWSPREFETCH文件夾。一旦建立了映像,應用軟件的裝入速度大大提高。XP的預讀取數據保存了最近8次系統啟動或應用軟件啟動的信息。
通過一個簡單的試驗可看出預讀取技術的作用:刪除WINDOWSPREFETCH目錄下與某個應用軟件對應的預讀取數據,然後看看有預讀取數據與無預讀取數據的差別。以Word為例,如果你以前沒有用過它,首先啟動幾次,再按正常方式使用它;然後,記錄從點擊圖標開始Word需要多長的啟動時間。接下來,刪除WINDOWSPREFETCH目錄下所有WINWORD.EXE.*.PF文件,再次點擊Word圖標啟動它,看看它需要多長的啟動時間。可以看到,兩次啟動之間的時間差非常大。不過不用擔心,Win XP將再次開始為Word收集預讀取數據,幾次啟動之後,Word啟動速度又會變得很快。對於啟動裝載器,也有作用原理類似的預讀取數據文件,但如果僅僅為了試驗,最好不要刪除它。
簡要說明一下PREFETCH文件夾下的文件的命名規則。如前所述,每一個應用(包括XP的啟動過程)都在PREFETCH目錄下有對應的預讀取文件,預讀取文件描述了應用啟動時各個模塊的裝載次序。預讀取文件的名字以應用執行文件的名字為基礎,加上一個“-”和描述執行文件完整路徑的十六進制值,再加上文件擴展名.PF,例如MMC.EXE-461B77C5.pf。但是,無論在哪一個系統上,XP啟動預讀取文件總是同一個名字,即NTOSBOOT-B00DFAAD.PF。
預讀取數據也為Win XP的磁盤整理工具提供幫助。有關最優預讀取次序的信息保存在WINDOWSPREFETCH目錄下的Layout.ini文件,你可以用記事本打開這個文件,看看Win XP認為應該怎樣安排文件在磁盤上的物理位置才能達到最快的啟動速度。磁盤整理工具轉移文件位置的依據正是在此。實際上,當Win XP覺察到計算機處於空閒狀態時,它會不失時機地運行磁盤整理工具並嘗試優化文件的位置。
Win XP具有緩沖網絡連接和配置的能力,這使得XP能夠比以前的Windows更快地響應網絡操作。默認情況下,Win XP優先使用緩沖的網絡視圖,而不是實時檢測到的網絡視圖。這就是說,當你打開網絡視圖時,Win XP顯示的實際上是以前緩沖的網絡視圖,同時它在後台嘗試建立連接。這種處理方式減少了網絡操作延遲時間,即使網絡上域 DHCP或DNS服務器出現故障也給用戶流暢的操作感覺。
下面我們來看看如果主板BIOS不支持SBFS規范,應當如何優化系統。由於不同廠商的BIOS菜單不盡相同,這裡只能給出要關注的幾個項目,BIOS實際顯示的菜單或選項名字可能有所出入:
啟用Quick POST(快速開機自檢)。此舉將禁止全面內存檢查 啟動Logo之類的操作。
禁用Boot up floppy seek(啟動時搜尋軟驅),搜尋軟驅會耗用一定的啟動時間。
調整啟動設備的次序,最好設置為“C only”(只從硬盤啟動)。這不僅提高了啟動速度(避免了系統檢查不可啟動的設備,如沒有軟盤的軟驅),而且也避免了系統從軟驅或其他設備啟動。有特殊需要時,例如無法用C盤啟動,再在BIOS中把啟動設備改為軟驅或CD-ROM之類的設備。
啟用PnP-OS(即插即用操作系統)。這個選項禁止BIOS檢測設備,把檢測設備的任務留給操作系統完成。對於主流的Windows操作系統,啟用該選項能夠顯著地減少啟動時間。
對於操作系統,提高啟動速度最重要的是禁止各種不必要的程序和服務自動啟動。Win XP提供了一個方便的工具:點擊“開始”菜單的“運行”,運行msconfig,然後禁止所有不必要的程序自動啟動。
最後推薦一個工具,它能夠分析 顯示和優化系統的啟動過程。這個工具是BootVis,你可從微軟下載中心搜索“BootVis”得到,因為下載Url很長,這裡就不再給出。下載好之後,解開壓縮,點擊BootVis.exe運行。關閉其他所有正在運行的軟件,選擇BootVis的菜單File>New>Next Boot+ Drivers Trace,系統將在15秒內重新啟動。重新啟動後,稍等,因為有一些文件要寫入磁盤——你可以看到相應的提示信息。這個過程結束後,BootVis再次啟動,顯示出圖一所示的圖表。有關這些圖表的詳細說明,可參看BootVis的幫助,這裡就不再說明。如果你不想了解BootVis的工作細節,那麼,只要知道這些圖表說明的是啟動過程中裝入各個部分所需時間,這就足夠了。
如果要優化系統,你應該重復執行上面的過程4-5次。完成後,選擇BootVis的菜單Trace>Optimize System,等待重新啟動。這一次的啟動時間將比以前要長得多。登錄Win XP後,立即進行磁盤整理。以後,你就可以好好享受深入優化啟動速度之後的感覺了。