terça-feira, 27 de abril de 2010

Geringonças e Gambiarras: XP reiniciando sozinho pouco após exibir a tela de logon

Geringonças e Gambiarras: XP reiniciando sozinho pouco após exibir a tela de logon: "– Enviado usando a Barra de Ferramentas Google"

Essa foi a primeira vez que vi algo parecido. Após chegar à tela de Boas Vindas (Welcome Screen) esperando pelo nome e senha do usuário percebia-se uma grande atividade do HDD (até aí, normal) e após um intervalo variável de tempo a tela de Boas Vindas era apagada, o wallpaper da Compaq aparecia por alguns segundos e o Windows reiniciava sozinho, sem dar qualquer mensagem. A cliente me disse que o notebook ficava em loop aparentemente permanente, mas se você tivesse paciência eventualmente conseguia entrar no Windows. Segundo o testemunho, uma vez levou duas horas e em outra levou um dia inteiro. Estava de um jeito que ela deixou o notebook ligado (e logado) por dias com medo de não conseguir entrar de novo no Windows e atrapalhar seu trabalho, já que ela não estava conseguindo sincronizar um horário de visita comigo.

Não importava se você digitava a senha ou não, ou mesmo se apertava CTRL-ALT-DEL duas vezes para exibir a tela de logon clássica. Após um intervalo variável de tempo o Windows geralmente (mas nem sempre) reiniciava sozinho e sem explicação. Às vezes dava para achar que algo que você havia feito (ou deixado de fazer) permitira o logon, mas era apenas coincidência, porque fazendo ou não de novo, do mesmo jeito, o Windows ainda reinciava.

Só tinha um jeito de entrar nesse Windows que funcionava em todas as tentativas: o Modo de Segurança.

Depois de desativar a reinicialização automática, pude ver que havia uma mensagem de erro:

STOP: c000021a {Erro fatal do sistema}
O processo do sistema Windows Logon Process foi finalizado de forma inesperada com status de 0xc0000005 (0x00000000 0x00000000)
O sistema foi desligado

Pesquisando com a ajuda do Google encontrei várias pessoas com o mesmo problema, mas nenhuma solução clara. Então eu estudei cuidadosamente esta página da Microsoft sobre o problema e cheguei até o arquivo Drwtsn32.log, que estava com 57MB. Como eu não estava com o Large Text File Viewer à mão e o arquivo era relativamente pequeno, abri no Wordpad mesmo. Demorou, mas com alguma paciência consegui encontrar o cabeçalho do último erro (os destaques em negrito são meus):

Exceção de aplicativo:
Aplicativo: \??\C:\WINDOWS\system32\winlogon.exe (pid=756)
Data e hora: 13/6/2008 às 00:05:26.937
Número da exceção: c0000005 (violação de acesso)

*----> Informação do sistema <----*
Nome do computador: R4000
Nome de usuário: SYSTEM
Identificação de sessão de terminal: 0
Número de processadores: 1
Tipo de processador: x86 Family 15 Model 31 Stepping 0
Versão do Windows: 5.1
Versão atual: 2600
Service Pack: 2
Tipo atual: Uniprocessor Free
Empresa registrada:
Proprietário registrado: Luciana

*----> Lista de tarefas <----*
0 System Process
4 System
660 smss.exe
724 csrss.exe
756 winlogon.exe
772 avgrsx.exe
848 services.exe
860 lsass.exe
1000 Ati2evxx.exe
1028 svchost.exe
1036 logonui.exe
1160 svchost.exe
1200 svchost.exe
1268 svchost.exe
1380 svchost.exe
1632 GbpSv.exe
1760 drwtsn32.exe
A visão de Winlogon.exe e Gbpsv.exe (o famigerado G-Buster Browser Defense) no mesmo log de erro, mais a descrição dos possíveis motivos do erro dada pela MS me deram um estalo. Coloquei o HDD do cliente no meu desktop, dei boot por outro HDD e apaguei a pasta C:\Arquivos de Programas\Gbplugin (os arquivos desta pasta só podem ser apagados a partir de outra instalação do Windows).