登錄檔 ControlSet001、ControlSet002以及CurrentControlSet 詳解

遇见、發表於2024-09-12

登錄檔HKLM\system注意 登錄檔項包含windows啟動的三個控制元件組(額外還可能存在一個備份控制元件組)。在初始狀態下。它們各自是ControlSet001、ControlSet002以及CurrentControlSet。這些控制元件組中包括了作業系統配置的資訊,比方服務、驅動、系統控制、列舉資訊等等。

預設情況下,ControlSet001是系統真實的配置資訊。可是為了避免序號混亂,windows啟動時會從ControlSet001複製一份副 本,作為作業系統當前的配置資訊。也就是CurrentControlSet。

我們對於計算機配置所作的改動都是直接寫入到 CurrentControlSet,在重新啟動過程中。windows會用CurrentControlSet的內容覆蓋掉ControlSet001。以保證這兩個控制元件組一致。

當作業系統每成功啟動一次(指成功登入),它都將CurrentControlSet和ControlSet001中的資料複製到 ControlSet002中。這樣,ControlSet002就成了“近期一次成功啟動的配置資訊”(非常熟悉吧?在啟動windows前按下F8所調出的選單中有這個選項)。所以我們一般系統登錄檔中都僅僅是有這三個控制元件組,而且序號都是current、001和002。

可是,這個順序和數目不是一成不變的。改變就發生在使用過“近期一次的正確配置”之後。這個時候,系統會把002當作系統真實的配置資訊。而001這個存在問題的控制元件組會被備份封存起來。系統啟動時會從002複製副本到current。

啟動成功後又會把002和current的資訊複製一份到一個新的控制元件組作為新的“近期一次的正確配置”,也就是003。

這個時候系統就存在4個控制元件組:current、002、003和備份的001,這裡的001是一個存在問題的組,除非我們想把系統恢復到上次使用“近期一次正確配置”之前的狀態,否則001的內容將不再被使用。
轉載自:(https://blog.csdn.net/yangowen/article/details/129062138)

相關文章