Quais são as diferenças entre os vários ControlSets no registro do Windows?

11

Existem várias ramificações com "ControlSet" em seus nomes em HKEY_LOCALMACHINE\SYSTEM .

Quais são as diferenças fundamentais entre o modo como o Windows usa essas 3 chaves?

HKLM\System\ControlSet001
HKLM\System\ControlSet002
HKLM\System\CurrentControlSet
    
por Moab 03.02.2011 / 23:56

2 respostas

8

A Microsoft diz que é melhor em KB100010

Voltando ao Windows (eu acho 95), você poderia configurar qualquer componente de driver / hardware para funcionar apenas em um determinado modo de configuração, que era selecionável pelo usuário na inicialização.

Por padrão, você tem

\ ControlSet001 - Última inicialização

\ ControlSet002 - Configurações boas conhecidas

\ CurrentControlSet - inicialização atual

Editar -

Parece que isso só foi retirado recentemente, eu pessoalmente nunca usei isso desde 95, no entanto, eu encontrei um bom site que pode mostrar isso do Windows XP .

Das propriedades do sistema:

Eapartirdogerenciadordedispositivos:

    
por 04.02.2011 / 00:02
4

O Windows mantém pelo menos duas ControlSet entradas no registro. Você provavelmente terá ControlSet001 e um (ou possivelmente ambos) de ControlSet002 ou ControlSet003 .

Não há diferença significativa entre estes; eles armazenam informações vitais sobre o hardware, os serviços e outras configurações do sistema necessárias para inicializar e executar o sistema e são geralmente idênticos.

O item CurrentControlSet é o mais fácil de descrever: ele é simplesmente mapeado em qualquer ControlSet### que você esteja usando atualmente, assim como HKEY_CURRENT_USER é mapeado para qualquer usuário da ramificação HKEY_USERS atualmente ativa. Naturalmente, todas as alterações feitas em CurrentControlSet serão gravadas no conjunto para o qual ele está mapeado.

O motivo pelo qual você tem vários conjuntos de controles é que, quando você faz uma alteração na forma como o sistema funciona, especialmente no hardware, existe a possibilidade de que isso não funcione. Se houvesse apenas uma cópia das informações necessárias para inicializar e falhasse, você estaria com problemas porque exigiria muito trabalho (e pelo menos um sistema operacional separado, se não um sistema inteiro) para tentar consertar as coisas. . Em vez disso, as alterações são feitas em um conjunto de controle e, se o Windows não puder inicializar com êxito, você poderá reinicializar usando o outro conjunto de controle de pré-alteração. Dessa forma, pelo menos, você volta a trabalhar rapidamente para poder usar o sistema (e a Internet) para descobrir qual era o problema.

Quando você faz consegue inicializar corretamente, as alterações são gravadas na outra cópia, mantendo-a atualizada (acredito que aconteça no desligamento ou em algum momento; apenas não imediatamente após uma inicialização aparentemente bem-sucedida, uma vez que pode ou não ter realmente sido bem-sucedida).

Algumas pessoas interpretam erroneamente os dois conjuntos de controle como sendo o "normal" e o "backup one". Isto é verdade em certo sentido, no entanto, na realidade, você pode estar iniciando a partir de qualquer um. Não há conjunto primário ou secundário e podem ser alternados. Em outras palavras, se você usou normalmente ControlSet001 , então teve uma inicialização com falha, agora você pode estar usando ControlSet002/003 normalmente até a próxima vez que tiver uma falha na inicialização, no ponto em que você retornaria.

    
por 19.09.2011 / 21:26