ControlSet001、ControlSet002以及CurrentControlSet

 1.先說一下ControlSet幾個控件組之間的關係。
     在註冊表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的內容將不再被使用。
  HKLM/system註冊表項中還有一個select的子項,其中有幾個整數鍵,分別是:
“Current”數據項目表示 Windows XP 在這次啓動過程中使用的控件組。  
“Default”數據項目表示 Windows XP 在下次啓動時將使用的控件組,它與這次啓動使用的控件組相同。  
“LastKnownGood ”數據項目表示您在啓動過程中選擇“最近一次的正確配置”時 Windows XP 將使用的控件組。  
“Failed”數據項表示 Windows XP 在其中保存失敗啓動產生的數據的控件組。 此控件組在用戶第一次調用“最近一次的正確配置”選項之前並不實際存在。  
對應上面,系統默認時其順序是:001、001、002、無;
第一次使用“lastknowngood”後:002、002、003、001
第二次使用“lastknowngood”後:003、003、004、002(之前的備份001被002覆蓋掉,001組消失)
第三次使用“lastknowngood”後:004、004、001、003(002被003覆蓋,而當004要生成新的“lastknowngood”時,001正好可用,於是001重生,002消失)
     依此類推,第四次1、1、2、4,第五次2、2、3、1…………
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章