Windows注册表中的多个ControlSet之间有什么区别?


11

下有多个分支,其名称中带有“ ControlSet” HKEY_LOCALMACHINE\SYSTEM

Windows使用这三个键的方式之间的根本区别是什么?

HKLM\System\ControlSet001
HKLM\System\ControlSet002
HKLM\System\CurrentControlSet

Answers:


8

微软说最好用KB100010

回到Windows(我认为是95),您可以将任何驱动程序/硬件组件设置为仅在特定设置模式下工作,该模式在用户启动时可以选择。

默认情况下,

\ ControlSet001-上一次启动

\ ControlSet002-已知的正确设置

\ CurrentControlSet-当前启动

编辑-

看来这只是最近才取出来的,自95年以来,我个人从未使用过它,但是,我找到了一个不错的网站,可以从Windows XP中向您展示它

从系统属性:

在此处输入图片说明

从设备管理器中:

在此处输入图片说明


Win95,您很老....;->我很老,但刚开始使用W98SE,然后在XP之后不久,我就错过了美好的一天。
摩押

@Moab-如果可以的话,为-1 ...我还没那么老!...刚开始时还很年轻!
William Hilsum

3
是的,应该对我的评论投下反对票。–
摩押

1
@Moab-更新了非常好的链接和图片!
William Hilsum

4

Windows ControlSet在注册表中至少维护两个条目。你将有可能ControlSet001和一个(或可能两者)ControlSet002ControlSet003

两者之间没有显着差异。它们包含有关系统硬件,服务以及引导和运行系统所需的其他系统设置的重要信息,并且通常是相同的。

CurrentControlSet项目最容易描述:它被简单地映射到ControlSet###您当前正在使用的HKEY_CURRENT_USER任何用户,就像如何映射到该HKEY_USERS分支中当前处于活动状态的任何用户。自然,您所做的任何更改CurrentControlSet都将写入到其映射到的集合中。

之所以拥有多个控件集,是因为当您更改系统功能(尤其是硬件)的方式时,有可能无法正常工作。如果即使引导仅需要一份信息副本,它也会失败,那么您将很麻烦,因为它需要大量的工作(并且至少需要单独的OS,如果不是整个系统)来修复问题。 。而是对一个控件集进行了更改,如果Windows无法成功启动,则可以使用另一项更改前的控件集重新启动。这样,至少您可以重新启动并快速运行,以便可以使用系统(和Internet)找出问题所在。

当你管理的正确引导,更改写入到另一个副本,从而保持其最新的(我相信这发生在关机或在某些时候,只是没有一个看似成功启动后,因为它可能会或可能不会有实际成功)。

有人误认为这两个控制集是“正常的”和“备份的”。从某种意义上说这是正确的,但是实际上,您可能从这两者中启动。没有主要或次要设置,可以循环使用。换句话说,如果您通常使用ControlSet001,然后启动失败,那么您现在可以ControlSet002/003正常使用,直到下次启动失败时才可以切换回原来的状态。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.