分类: WINDOWS
2008-06-24 10:38:37
大部分情况下我们都是通过Windows自带的环境变量编辑器来修改系统环境变量,也可以通过Windows系统提供的path,set两个命令临时修改。
使用系统编辑器修改环境变量最终会反映到注册表中保存,我们知道环境变量分为两种,用户变量,以及系统变量,其存储的位置分别位于:
系统变量:
[HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment]
[HKLM\SYSTEM\ControlSet002\Control\Session Manager\Environment]
[HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
用户变量:
[HKCU\Environment]
其中HKLM = HKEY_LOCAL_MACHINE,HKCU = HKEY_CURRENT_USER
ControlSet001/ControlSet002/CurrentControlSet保存用于系统启动的重要配置信息,其中 CurrentControlSet指向ControlSet001,两者互相同步,每次针对两者中任意一个分支的修改都会立即复制到另外一个分支相对应 的键值中。
当系统启动时,会使用其中一个分支的信息以尝试启动系统,这个就是ControlSet001,如果启动成功,那么ControlSet001的信息会复制到ControlSet002中。如果启动失败,那么就不会发生这个复制过程。
当系统因某些原因无法启动时,我们通常会使用“Using the Last Known Good Configuration”来尝试启动系统,也就是“最后一次正确的配置”(启动时按住F8),这时系统使用的就是ControlSet002分支的配置信息。
上面仅针对Windows XP,其它版本的Windows系统应该都是类似的。