快速開機一般只能透過最佳化系統,減少服務載入和程式載入來達到提高開機速度的目的。一般不會對電腦有什麼危害。下邊我著重說一下,快速關機的原理和危害。現在有好多快速關機的方法,比如任務管理器加上CTRL鍵什麼的,這樣子對電腦還有有壞處的,非正常的關機都會對電腦造成傷害,可能一次兩次看不出來,但是長期如此,傷害就是會看出來的。所以我推薦除了緊急情況使用快速關機,其他都不要用。Windows的正常關機涉及到多個元件和多個過程。我 們來看一下它的基本過程。
①使用者發起關機指令後,發起關機指令的程式會通知 Windows子系統CSRSS.EXE,CSRSS.EXE收到通知後會和 Winlogon.EXE做一個數據交換,接著由Winlogon.EXE通知 CSRSS.EXE開始關閉系統的流程。
②CSRSS.EXE收到Winlogon.EXE的通知後,會依次查詢擁 有頂層視窗的使用者程序,讓這些使用者程序退出。如果某一個使用者 程序在一個預設的超時時間5000毫秒(可以透過修改登錄檔鍵值 HKEY_CURRENT_USERControl PanelDesktop HungAppTimeout設定超時時間)內沒有退出的話,Windows會顯示 一個結束任務對話方塊用於詢問使用者是否結束這個任務。預設情況 下這個對話方塊會一直顯示而不會自動關閉。 對於控制檯程式來說,基本情況類似,只不過Windows使 用HKEY_CURRENT_USERControl PanelDesktop WaitToKillAppTimeout來設定超時時間。
③接著是輪到終止系統程序了。系統程序包括SMSS.EXE 、Winlogon.EXE、Lsass.EXE等。Windows在終止系統程序的時候 並不像終止使用者程序那樣如果無法在規定時間內終止則提示使用者 ,而是跳過這個程序,去執行下一個系統程序的終止操作。使用 的超時時間和第2步使用的時間相同。 上述3個步驟是整個Windows關機過程中最耗費時間的一 段,大多數關機緩慢的原因都是因為這3個步驟引起的。完成前3 個步驟後,進入關機操作的第4個階段,這也是最後一個階段。
④Winlogon.EXE呼叫一個原生API函式NtShutdownSystem()來 命令系統執行後面的掃尾工作。在這個階段裡,Windows執行子 系統會完成最後的關機操作,例如:裝置驅動在這個階段裡完成 一些驅動設定的特殊操作;也是在這個階段,配置管理系統將被 修改過的登錄檔資料回寫到磁盤裡面。等除了電源管理以外的全 部子系統完成退出以後,電源管理完成最後的操作:如重啟、關 機等。 看來Windows關機過程還挺複雜的。我也試用了劉凱讀者 所說的軟體SuperFast Shutdown(http://www.xp- smoker.com/installations/superfast.zip),確實會讓關機速 度加快。另外我們知道按Ctrl鍵的同時,再單擊任務管理器視窗 中的選單“關機→關閉”命令時,系統也會被快速關閉。它們又 是如何實現快速關機的目的呢? 我分析了一下SuperFast Shutdown,它是用Visual Basic編寫的。經過分析後得出一個令人驚訝的結論:SuperFast Shutdown首先使用RtlAdjustPrivilege()提升自己的許可權,然後 直接呼叫NtShutdownSystem() 函式來完成關機過程。也就是說它跳過了最為耗費時間的前3個 步驟而直接進入第4個步驟,因此能夠很快關機。 利用Ctrl鍵配合任務管理器的快速關機技巧類似於 SuperFast Shutdown的原理,即透過省略一些步驟來加快關機的 速度。 原來它們之所以能快速關機是因為投機取巧,跳過了一 些步驟。我記得當初使用Ctrl鍵配合任務管理器的關機技巧時, 關機速度是快了,不過卻出現過Office各元件中的個性設定丟失 等莫名其妙的問題,這些問題和快速關機有關嗎? 毫無疑問,利用前面的方法快速關機很容易導致你所說 的那些問題。這是因為在前3個步驟中,有一個讓程序正常退出 的過程。
快速開機一般只能透過最佳化系統,減少服務載入和程式載入來達到提高開機速度的目的。一般不會對電腦有什麼危害。下邊我著重說一下,快速關機的原理和危害。現在有好多快速關機的方法,比如任務管理器加上CTRL鍵什麼的,這樣子對電腦還有有壞處的,非正常的關機都會對電腦造成傷害,可能一次兩次看不出來,但是長期如此,傷害就是會看出來的。所以我推薦除了緊急情況使用快速關機,其他都不要用。Windows的正常關機涉及到多個元件和多個過程。我 們來看一下它的基本過程。
①使用者發起關機指令後,發起關機指令的程式會通知 Windows子系統CSRSS.EXE,CSRSS.EXE收到通知後會和 Winlogon.EXE做一個數據交換,接著由Winlogon.EXE通知 CSRSS.EXE開始關閉系統的流程。
②CSRSS.EXE收到Winlogon.EXE的通知後,會依次查詢擁 有頂層視窗的使用者程序,讓這些使用者程序退出。如果某一個使用者 程序在一個預設的超時時間5000毫秒(可以透過修改登錄檔鍵值 HKEY_CURRENT_USERControl PanelDesktop HungAppTimeout設定超時時間)內沒有退出的話,Windows會顯示 一個結束任務對話方塊用於詢問使用者是否結束這個任務。預設情況 下這個對話方塊會一直顯示而不會自動關閉。 對於控制檯程式來說,基本情況類似,只不過Windows使 用HKEY_CURRENT_USERControl PanelDesktop WaitToKillAppTimeout來設定超時時間。
③接著是輪到終止系統程序了。系統程序包括SMSS.EXE 、Winlogon.EXE、Lsass.EXE等。Windows在終止系統程序的時候 並不像終止使用者程序那樣如果無法在規定時間內終止則提示使用者 ,而是跳過這個程序,去執行下一個系統程序的終止操作。使用 的超時時間和第2步使用的時間相同。 上述3個步驟是整個Windows關機過程中最耗費時間的一 段,大多數關機緩慢的原因都是因為這3個步驟引起的。完成前3 個步驟後,進入關機操作的第4個階段,這也是最後一個階段。
④Winlogon.EXE呼叫一個原生API函式NtShutdownSystem()來 命令系統執行後面的掃尾工作。在這個階段裡,Windows執行子 系統會完成最後的關機操作,例如:裝置驅動在這個階段裡完成 一些驅動設定的特殊操作;也是在這個階段,配置管理系統將被 修改過的登錄檔資料回寫到磁盤裡面。等除了電源管理以外的全 部子系統完成退出以後,電源管理完成最後的操作:如重啟、關 機等。 看來Windows關機過程還挺複雜的。我也試用了劉凱讀者 所說的軟體SuperFast Shutdown(http://www.xp- smoker.com/installations/superfast.zip),確實會讓關機速 度加快。另外我們知道按Ctrl鍵的同時,再單擊任務管理器視窗 中的選單“關機→關閉”命令時,系統也會被快速關閉。它們又 是如何實現快速關機的目的呢? 我分析了一下SuperFast Shutdown,它是用Visual Basic編寫的。經過分析後得出一個令人驚訝的結論:SuperFast Shutdown首先使用RtlAdjustPrivilege()提升自己的許可權,然後 直接呼叫NtShutdownSystem() 函式來完成關機過程。也就是說它跳過了最為耗費時間的前3個 步驟而直接進入第4個步驟,因此能夠很快關機。 利用Ctrl鍵配合任務管理器的快速關機技巧類似於 SuperFast Shutdown的原理,即透過省略一些步驟來加快關機的 速度。 原來它們之所以能快速關機是因為投機取巧,跳過了一 些步驟。我記得當初使用Ctrl鍵配合任務管理器的關機技巧時, 關機速度是快了,不過卻出現過Office各元件中的個性設定丟失 等莫名其妙的問題,這些問題和快速關機有關嗎? 毫無疑問,利用前面的方法快速關機很容易導致你所說 的那些問題。這是因為在前3個步驟中,有一個讓程序正常退出 的過程。