下有多個名稱中帶有“ControlSet”的分支HKEY_LOCALMACHINE\SYSTEM
。
Windows 使用這 3 個按鍵的方式有哪些根本差異?
HKLM\System\ControlSet001
HKLM\System\ControlSet002
HKLM\System\CurrentControlSet
答案1
微軟說最好的是KB100010
回到Windows(我認為是95),您可以將任何驅動程式/硬體組件設定為僅在某種設定模式下工作,該模式是用戶在啟動時可選擇的。
預設情況下,您有
\ControlSet001 - 上次啟動
\ControlSet002 - 已知的良好設置
\CurrentControlSet - 目前啟動
編輯 -
這個好像是最近才拿出來的,我個人從95年以後就沒用過,不過,我發現了一個可以向您展示 Windows XP 的好網站。
從系統屬性:
並從裝置管理員:
答案2
ControlSet
Windows在登錄中至少維護兩個條目。您可能會擁有ControlSet001
和 之一(或可能兩者)ControlSet002
或ControlSet003
。
這些之間沒有顯著差異;它們保存有關係統硬體、服務以及啟動和運行系統所需的其他系統設定的重要信息,並且通常是相同的。
該CurrentControlSet
項目是最容易描述的:它只是映射到您目前正在使用的任何項目,就像映射到分支目前處於活動狀態的任何使用者ControlSet###
一樣。當然,您所做的任何更改都會寫入其映射到的集合中。HKEY_CURRENT_USER
HKEY_USERS
CurrentControlSet
擁有多個控制集的原因是,當您變更系統的功能(尤其是硬體)時,可能會無法運作。如果啟動所需的資訊只有一份副本,並且失敗了,那麼您就會遇到麻煩,因為它需要大量工作(如果不是整個系統,至少需要單獨的作業系統)來嘗試修復問題。相反,會對一個控制集進行更改,如果 Windows 無法成功啟動,您可以使用另一個更改前的控制集重新啟動。這樣至少您可以快速恢復並運行,以便您可以使用系統(和互聯網)找出問題所在。
當你做設法正確啟動,更改將寫入另一個副本,從而保持最新(我相信它發生在關機或某個時刻;只是不是看似成功啟動後立即啟動,因為它可能會或可能不會實際上已成功)。
有些人將兩個控制集誤解為「正常控制集」和「備份控制集」。從某種意義上來說這是正確的,但實際上,您可能會從其中任何一個啟動。沒有主組或副組,可以循環使用。換句話說,如果您通常使用ControlSet001
,然後啟動失敗,您現在可能會ControlSet002/003
正常使用,直到下次啟動失敗,此時您將切換回來。