實現Windows Vista快速關機

2021-04-14 08:23:13 字數 1679 閱讀 6982

微軟的任何作業系統都有這個問題,關機的時候,只聽到硬碟狂想,不知道在忙什麼,關機速度超慢。即時到了現在最新版的windows vista系統,這個問題也能解決的了。

這主要和windows 系統自身的機制有關:windows在發出關機指令後,需要首先通知已載入有服務、應用程式和程序等,待其逐一關閉後才能進行系統關機或重啟的任務,此外,關機前要進行的操作還包括如清理頁面檔案等,需要對頁面檔案中的每個頁面執行物理寫入操作,從理論上講,這些過程是不可省略的,不然將影響系統的穩定性。

因此,對使用者而言,要加快windows vista的關機速度,在保證系統穩定性前提下可做的優化不是跳過類似的服務、應用程式或程序的關閉,而是通過盡量縮短關閉前的等待時間。那麼,在windows vista中,應如何操作呢?

同之前的windows系統一樣,我們可以通過修改登錄檔調整相應選項來實現。

縮短關閉服務前的等待時間

上面我們提到過,在windows vista的關機流程中,系統首先向已載入的服務發出關閉警告,然後等待這些服務自動關閉後給出的關閉訊號,如果在設定的等待時間期限後仍未收到關閉訊號,windows系統將相應的服務實施強行中止關閉。

要加快windows vista的關機速度,首先可以通過縮短系統預設的關閉服務等待時間來實現。開啟登錄檔編輯器,找到如下登錄檔項:

hkey_local_machine/system/currentcontrolset/control

在右面板中,可以看到乙個名為「waittokillservicetimeout」的登錄檔項,雙擊以修改它,將它的數值從預設的20000(單位為毫秒)調整到乙個較小的數值,如5000 甚至1000等,這樣,如果windows vista在設定的5秒(5000)或1秒(1000)內沒有收到服務關閉訊號,系統即會彈出乙個警告視窗,通知使用者該服務無法中止,並給出強制中止服務或繼續等待的選項等待使用者選擇。

縮短關閉應用程式與程序前的等待時間

與關閉服務前的等待時間類似,windows vista在強行關閉應用程式與程序前同樣有一段等待該程式或程序自行關閉的時間,只有超過該時限後,windows 系統才會將其強行中止。

因此,縮短預設關閉應用程式或進行等待時間,同樣能夠加快windows vista的關機速度。

設定方法同上面類似,在登錄檔中找到如下分支:

hkey_current_user/control panel/desktop

然後,在如下的登錄檔分支:

hkey_users/.default/control panel/desktop/

在關機或登出時自動中止應用程式或程序

找到如下的登錄檔分支:

hkey_current_user/control panel/desktop registry

可看到項中有一名為「autoendtasks」的登錄檔項,其預設值為「0」,將其修改為「1」即是讓windows vista自動終止所有的程序,而不再需使用者的確認。

以保證系統的穩定性為前提

以「waittokillservicetimeout」為例,windows 系統使用waittokillservicetimeout的目的是為了給相應服務一段緩衝時間,讓這些執行中的服務能夠將快取中的資料在系統關閉前寫回去,如果沒有保留足夠的緩衝時間,資料便可能丟失而造成無法預知的後果,因此,一般不要將其時長設定得過短,至於將其設為「0」則更是不恰當的。

這些修改方法同樣適用於windows 2000、 windows xp與 windows 2003。 

windows vista幾個概念

vista 下一代windows代號 wxf包括三個內容,都是vista的基於.net framework的基礎技術。wwf windows workflow foundation 工作流基礎庫。wpf windows presentation foundation vista的統一的表現層,基於d...

windows vista的符號鏈結

相信使用過unix的朋友都會對符號鏈結印象深刻,通過符號鏈結,可以方便地建立指向檔案系統中其他檔案的快捷方式,這在很多時候能夠給操作帶來極 大的便利。不過,在windows系統中,想要實現類似的功能則麻煩得多,雖然微軟自windows 2000開始,便為ntfs卷引入了對名為junction poi...

快排簡單實現

沒事再寫下經典的快排 感覺順手多了 還是比較懶,wiki 介紹如下 快速排序是一種 分而治之 各個擊破 的觀念。快速排序使用分治法 divide and conquer 策略來把乙個序列 list 分為兩個子串行 sub lists 步驟為 從數列中挑出乙個元素,稱為 基準 pivot 重新排序數列...