segunda-feira, 27 de abril de 2009

O papel dos ControlSets no Registro.



 
 

Enviado para você por Penha através do Google Reader:

 
 

via Geringonças e Gambiarras de Jefferson em 16/04/09

ControlSets são chaves no Registro que contém cópias paralelas de praticamente toda a configuração de hardware do Windows. Podem existir vários ControlSets (são geralmente dois), mas apenas um ControlSet está ativo em uma determinada sessão do Windows.

Pontos importantes:

  • Valores na chave HKLM\System\Select é que determinam qual o papel de cada ControlSet;
  • CurrentControlSet é apenas um atalho para o ControlSet apontado pelo valor Current. A chave CurrentControlSet não existe físicamente e por isso geralmente não aparecerá em procedimentos offline de edição do Registro;
No gráfico abaixo eu tento mostrar como os ControlSets se relacionam com os valores na chave Select:



É o ControlSet apontado por LastKnownGood que é carregado quando escolhemos a opção "última configuração válida" no menu de inicialização do XP:



Outros pontos importantes:
  • Embora geralmente CurrentControlSet aponte para ControlSet001 isso não é garantido. Se o atalho CurrentControlSet estiver aparecendo, use-o. Se não estiver, não assuma que deve editar este ou aquele ControlSet. É necessário sempre consultar os valores na chave Select para não piorar as coisas ou perder tempo;
  • No dia-a-dia os ControlSets tem conteúdo idêntico, pois a cada boot bem sucedido o ControlSet Current é copiado para o ControlSet LastKnownGood. É apenas "na hora do pau" que seus conteúdos podem ser diferentes;

"Última configuração válida" muitas vezes é capaz de resolver os problemas de inicialização provocados por instalação mal sucedida de hardware. Mas infelizmente o mesmo programa mal comportado que bagunça a chave apontada por CurrentControlSet também tem o poder (e a audácia), de mexer também em LastKnownGood. Nem sempre isso é feito com más intenções: quem programou o instalador pode simplesmente não saber o papel dos diferentes ControlSets ou da chave Select e racionalizar que "na dúvida, é melhor alterar todos".

Na verdade, sem saber disso aqui você pessoalmente pode fazer uma caca dessas editando o Registro. Você sabe que precisa alterar um determinado valor e, encontrando o mesmo valor nos dois ControlSets, edita ambos. No próximo boot se você fez besteira, sente os efeitos de uma dupla besteira.

A Navalha de Hanlon resume esse tipo de coisa: "Nunca atribua à malícia o que pode ser adequadamente explicado pela estupidez."

Seja lá qual foi a intenção, na hora do pau escolher "Última configuração válida" acaba não surtindo qualquer efeito.

 
 

Coisas que você pode fazer a partir daqui:

 
 
TwitThis
Share |

0 comentários:

;

Pesquisa na WEB

Carregando...

assine o feed

siga no Twitter

Postagens

acompanhe

Comentários

comente também