Estou tentando depurar uma máquina com Windows 7 que não está iniciando o Windows. A animação de carregamento do Windows é reproduzida, a tela fica preta e o cursor aparece no centro. Eu posso mover o cursor, mas nada mais acontece.
A sequência de autenticação segura (Ctrl-Alt-Delete) não faz nada. Não há tela de boas-vindas, nenhuma conta parece ser carregada. O modo de segurança também não funciona, se comporta da mesma maneira que o modo normal.
Anexei um depurador do kernel através da porta 1394 e o WinDbg no meu host está funcionando bem. Eu posso analisar os processos / threads em execução no destino durante a tela preta.
Encontrei um ótimo artigo descrevendo o processo de inicialização do Windows 7 aqui: http://www.techsupportalert.com/content/windows-7-startup.htm
Todos os SMSS.exe, CSRSS.exe, WinInit.exe, LSASS.exe e LSM.exe parecem estar carregados.
WinLogon também é carregado. É suposto iniciar o processo LogonUI.exe, mas nunca o faz. Segundo o artigo, o WinLogon deve carregar o UXinit.dll, mas nunca o faz. Posso encontrar este módulo carregado em outros PCs que tenho, mas, de acordo com o WinDbg, ele nunca é carregado no WinLogon na minha máquina de destino.
Verifiquei o rastreamento de pilha de todos os threads (~ 4) dentro do WinLogon durante a tela preta e parece que não há nada pendente. O segmento que parece ser o segmento "principal" parece executar um loop em uma função chamada WaitForLSMStart para sempre, o que eu pensei que era o problema, mas o LSM.exe está carregado e eu notei esse loop em execução no WinLogon em outras máquinas ativas em execução. Eu acredito que isso tem algo a ver com serviços de terminal?
Parece-me que algo está errado dentro do Winlogon que impede que ele inicie o processo LogonUI, e não consigo descobrir o que.
Alguma ideia?
Respostas:
Observe a configuração do Winlogon existente
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
e compare-a com um sistema em funcionamento. Especificamente, há umUIHost
valor que deve ser vinculadologonui.exe
eNotify
subchave que lista outras DLLs carregadas em determinados horários.Se as entradas estiverem corretas,
logonui.exe
ou alguma DLL da qual ela depende pode estar corrompida.O comandante do ERD (agora chamado MsDaRT) pode ajudá-lo a explorar o sistema offline e pode consertar isso (ele possui um assistente para "corrigir automaticamente problemas de inicialização" com funcionalidade não especificada).
fonte