注册表ControlSet001、ControlSet002、CurrentControlSet三个项的作用及关系
系统注册表中的ControlSet详解
在注册表编辑时,我们经常会看到HKEY_LOCAL_MACHINE\SYSTEM下面有ControlSet001、ControlSet002、CurrentControlSet等几项。展开后发现这几个项的数据都差不多,那么这些项到底是用来做什么的呢?它们又有什么关联呢?下面我们就来详细解释一下。
ControlSet001、ControlSet002以及CurrentControlSet的作用是包含操作系统配置的信息,如服务、驱动、系统控制、枚举信息等。在默认情况下,ControlSet001是系统真实的配置信息。但为了避免混乱,Windows启动时会从ControlSet001复制一份副本作为操作系统当前的配置信息,即CurrentControlSet。我们对计算机配置所做的改动都是直接写入到CurrentControlSet,在重新启动过程中,Windows会用CurrentControlSet的内容覆盖掉ControlSet001,以保证这两个控件组的一致性。
每次操作系统成功启动(成功登录)后,系统会将CurrentControlSet和ControlSet001中的数据拷贝到ControlSet002中。这样,ControlSet002就成了“近期一次成功启动的配置信息”。系统注册表中通常只有这三个控件组,且序号为Current、001和002。但是,这个顺序和数量并非固定不变。改变发生在使用“近期一次的正确配置”之后,系统会将002视为系统真实的配置信息,而将存在问题的001备份封存起来。
系统启动时会从002复制副本到Current,启动成功后又会将002和Current的信息复制一份到一个新的控件组作为新的“近期一次的正确配置”,即003。这时系统就存在四个控件组:Current、002、003和备份的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消失)等等,依此类推。
通过上述解释,相信大家对系统注册表中的ControlSet有了更深的了解。希望本文能帮助您更好地理解系统注册表的知识。
常见问题
- crashdumps文件夹是什么,里面的DMP文件可以删除吗
- Win10专业版升级专业工作站版永久激活(图文详细教程)
- yundetectservice是什么?yundetectservice.exe进程如何禁止?
- Win10安装最新WDDM2.7驱动及开启硬件加速GPU计划教程
- win10系统驱动精灵提示系统自带驱动缺失|local print queue缺失怎么办?
- 如何在PE下给Win7注入USB3.0驱动使键盘鼠标能用?
- U盘中了recycler病毒怎么办?recycler病毒彻底清除方法
- 用Dism++整合补丁和驱动到Win7/Win10 ISO镜像挂载制作教程
- Msg3.0.db是什么?Msg3.0.db可以删除吗?如何瘦身?
- Dism++离线整合补丁更新到系统ISO镜像教程