對於Win7系統,傳統的按下電源按鈕開機流程是這樣的:
第一步:查找硬盤上的主引導記錄(MBR),接著MBR讀取硬盤分區表(DPT)。
第二步:找到活動主分區,讀取活動主分區的分區引導記錄,記者根據引導記錄查找該分區個目錄下的BOOTMGR。
第三步:BOOTMGR讀取bootbcd文件並根據bcd記錄列出操作系統啟動菜單,接著加載winload.exe,然後通過加載Win7內核。
第四步:加載必需的硬件和服務,進入Win7桌面。
從上面的啟動流程我們可以知道,第一步和第二步是操作系統啟動之前的硬件讀取,這和操作系統版本沒有關系,對於第三步,Win8啟動內核和Win7大致相同。因此Win8急速開機的秘密就在於啟動的第四步(這也是整個開機過程中最費時間步驟),這就是Win8新增的混合啟動技術(HybridBoot)。
Win8引入的混合啟動技術,是通過睡眠技術的擴展而實現。傳統的休眠是指系統自動將內存中的數據全部轉存為休眠文件(即C:hiberfil.sys)。接著會切斷所有設備的供電進入休眠狀態。恢復操作時系統讀取上次轉存到C:hiberfil.sys文件中的數據,讀取完畢即恢復原來的操作狀態。
Win8的睡眠則做了進一步的改進,但我們在Win8選擇睡眠關機時(單機關機菜單電源按鈕即可),Win8會將系統大部分的核心系統,如驅動、系統服務等壓縮寫入內存,然後通過處理用戶數據寫入休眠文件hiberfil.sys中(也就是用戶目前工作狀態,如開著的Word文檔),將Metro程序寫入交換文件中(即Win8新增的C:swapfile.sys,以為Metro程序會自動掛起到後台運行)。當數據全部寫入完成後,Windows通知固件進行關機。這樣當我們下次按下電源鍵時(前提是查找電源沒有斷開,電腦仍然在通電狀態下),系統會直接通過喚醒系統內存來啟動上次寫入的數據,再讀取休眠文件和交換文件,然後將上次關機的狀態呈現,這就是Win8的混合啟動技術。如下圖所示:
很顯然,Win8混合啟動的極速是依賴上一次的睡眠關機而存在的,這種新技術從上一次的關機開始就為下次開機做了准備(省去了系統內核、硬件以及各項服務初始化所需要的時間)。由於內存的讀寫速度很快,而其中保存的是上次已經進入系統後的成功加載的數據(比如自動啟動的服務、加載項的硬件設備)、所以Win8的混合技術啟動所花的時間實際上是“讀取內存數據+讀取休眠文件和交換時間文件的時間”。對於開機時間的定義大多是指按下電源鍵到出現桌面的時間(不包括啟動程序所花的時間),Win8混合啟動時間主要是指讀取內存數據所花的時間。由於內存的讀寫速度較快,因此對於配置較高的電腦,這個內存讀取時間(8秒)是很有可能的,這也是Win8發布會上台式機8秒開機的秘密所在!
如下圖所示是Win7和Win8開機速度的對比圖:
注:更多精彩教程請關注三聯電腦教程欄目,三聯電腦辦公群:189034526歡迎你的加入