环境变量以及ControlSet

用户环境变量
HKEY_CURRENT_USER\Environment\
系统环境变量
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Session   Manager\Environment\path

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001下记录着“系统服务、驱动、系统控制、枚举信息”等的相关设置。那么ControlSet001、ControlSet002、ControlSet有什么区别呢?

          默认情况下:

          ControlSet001:系统真实的配置信息。

          CurrentControlSet:运行时配置。windows启动时会从ControlSet001复制一份副本,作为操作系统当前的配置信息,也就是CurrentControlSet。我们对于计算机配置所作的修改都是直接写入到 CurrentControlSet,在重启过程中,windows会用CurrentControlSet的内容覆盖掉ControlSet001,以 保证这两个控件组一致。

          ControlSet002:“最近一次成功启动的配置信息”。 当操作系统每成功启动一次(指成功登录),它都将CurrentControlSet和ControlSet001中的数据复制到 ControlSet002中。

当系统成功启动后,它将 CurrentControlSet 和 ControlSet001 中的数据复制到 ControlSet002;
“最后一次正确配置”启动使用 ControlSet002 中的配置;
使用“最近一次的正确配置”后,系统把 ControlSet002 当作系统真实的配置信息,而 ControlSet001 中的数据为存在问题的数据,一般不再使用;
系统启动时会从 ControlSet002 复制副本到 CurrentControlSet,启动成功后又会把 ControlSet002 和 CurrentControlSet 的信息复制到一份到一个新的控件--ControlSet003 作为下一次的“最近一次正确配置”。

[HKEY_LOCAL_MACHINE\SYSTEM\system\select] 下记录着下次将要使用的配置:

          “Current”数据项目表示 Windows XP 在这次启动过程中使用的控件组。
          “Default”数据项目表示 Windows XP 在下次启动时将使用的控件组,它与这次启动使用的控件组相同。
         “LastKnownGood ”数据项目表示您在启动过程中选择“最近一次的正确配置”时 Windows XP 将使用的控件组。
           “Failed”数据项表示 Windows XP 在其中保存失败启动产生的数据的控件组。 此控件组在用户第一次调用“最近一次的正确配置”选项之前并不实际存在。

原文地址:https://www.cnblogs.com/BeyondTechnology/p/1866676.html