В разделе . имеется несколько ветвей, в названии которых есть «ControlSet» HKEY_LOCALMACHINE\SYSTEM
.
В чем принципиальные различия между тем, как Windows использует эти три клавиши?
HKLM\System\ControlSet001
HKLM\System\ControlSet002
HKLM\System\CurrentControlSet
решение1
Microsoft лучше всего это охарактеризовала вКБ100010
Возвращаясь к Windows (кажется, 95), можно было настроить любой драйвер/аппаратный компонент на работу только в определенном режиме настроек, который пользователь мог выбрать при запуске.
По умолчанию у вас есть
\ControlSet001 - Последняя загрузка
\ControlSet002 - Известные правильные настройки
\CurrentControlSet - Текущая загрузка
Редактировать --
Похоже, его убрали совсем недавно, я лично им не пользовался с 95 года, однако я нашелхороший сайт, который может показать вам это из Windows XP.
Из свойств системы:
А из диспетчера устройств:
решение2
Windows поддерживает по крайней мере две ControlSet
записи в реестре. У вас, скорее всего, будет ControlSet001
и одна (или обе) из ControlSet002
или ControlSet003
.
Существенной разницы между ними нет; они содержат важную информацию об оборудовании вашей системы, службах и других системных настройках, необходимых для загрузки и работы системы, и в целом идентичны.
Элемент CurrentControlSet
описать проще всего: он просто отображается на то, что ControlSet###
вы используете в данный момент, так же, как HKEY_CURRENT_USER
отображается на то, какой пользователь из HKEY_USERS
ветви в данный момент активен. Естественно, любые изменения, которые вы вносите, CurrentControlSet
будут записаны в набор, на который он отображается.
Причина, по которой у вас есть несколько наборов управления, заключается в том, что когда вы вносите изменения в работу системы, особенно в оборудование, есть вероятность, что это может не сработать. Если бы была только одна копия информации, необходимая для загрузки, и она бы не загрузилась, то у вас были бы проблемы, потому что потребовалось бы много работы (и по крайней мере отдельная ОС, если не целая система), чтобы попытаться исправить ситуацию. Вместо этого изменения вносятся в один набор управления, и если Windows не может успешно загрузиться, вы можете перезагрузиться, используя другой, предизмененный набор управления. Таким образом, по крайней мере, вы быстро вернетесь к работе, чтобы вы могли использовать систему (и Интернет), чтобы выяснить, в чем была проблема.
Когда тыделатьудается правильно загрузиться, изменения записываются в другую копию, таким образом поддерживая ее актуальность (я думаю, это происходит при выключении или в какой-то момент; простонетсразу после, казалось бы, успешной загрузки, поскольку она может быть, а может и не бытьна самом делебыли успешными).
Некоторые люди неправильно интерпретируют два набора управления как «обычный» и «резервный». Это верно в некотором смысле, однако на самом деле вы можете загружаться с любого из них. Не существует первичного или вторичного набора, и их можно циклически переключать. Другими словами, если вы обычно использовали ControlSet001
, а затем произошла неудачная загрузка, теперь вы можете использовать его ControlSet002/003
нормально до следующего раза, когда у вас произойдет неудачная загрузка, после чего вы переключитесь обратно.