Existem várias ramificações com "ControlSet" em seus nomes em HKEY_LOCALMACHINE\SYSTEM
.
Quais são as diferenças fundamentais entre a maneira como o Windows usa essas 3 chaves?
HKLM\System\ControlSet001
HKLM\System\ControlSet002
HKLM\System\CurrentControlSet
fonte
O Windows mantém pelo menos duas
ControlSet
entradas no registro. Você provavelmente teráControlSet001
e um (ou possivelmente ambos) deControlSet002
ouControlSet003
.Não há diferença significativa entre estes; eles mantêm informações vitais sobre o hardware, serviços e outras configurações do sistema necessárias para inicializar e executar o sistema, e geralmente são idênticos.
O
CurrentControlSet
item é o mais fácil de descrever: ele é simplesmente mapeado para o queControlSet###
você estiver usando no momento, exatamente comoHKEY_CURRENT_USER
é mapeado para o usuário daHKEY_USERS
filial que está ativo no momento. Naturalmente, todas as alterações que você fizerCurrentControlSet
serão gravadas no conjunto para o qual são mapeadas.O motivo de você ter vários conjuntos de controle é que, quando você altera a forma como o sistema funciona, especialmente o hardware, existe uma possibilidade que pode não funcionar. Se houvesse apenas uma cópia das informações necessárias para inicializar e falhar, você estaria com problemas porque exigiria muito trabalho (e pelo menos SO separado, se não um sistema inteiro) para tentar consertar as coisas . Em vez disso, são feitas alterações em um conjunto de controle e, se o Windows não puder inicializar com êxito, você poderá reiniciar usando o outro conjunto de controle de pré-alteração. Dessa forma, pelo menos você volta a funcionar rapidamente, para poder usar o sistema (e a Internet) para descobrir qual era o problema.
Quando você não consegue inicializar corretamente, as alterações são gravadas para a outra cópia, mantendo-se assim até à data (creio que acontece no desligamento ou em algum momento, apenas não imediatamente após a inicialização aparentemente bem sucedida, uma vez que pode ou não ter foi realmente bem sucedido).
Algumas pessoas interpretam mal os dois conjuntos de controle como sendo o "normal" e o "backup". Isso é verdade em um sentido, no entanto, na realidade, você pode estar inicializando a partir de qualquer um. Não há conjunto primário ou secundário e eles podem ser alternados. Em outras palavras, se você normalmente usado
ControlSet001
, em seguida, teve um arranque falhado, agora você pode estar usandoControlSet002/003
normalmente até a próxima vez que você tem um arranque falhado em que ponto você iria voltar.fonte