Como obter mais informações do BSOD não informativo do Windows 8?

25

A Tela Azul da Morte do Windows 8 é diferente da das versões anteriores do Windows:

Windows 8 BSOD

Para descobrir o que causou o problema, você precisa anotar ou lembrar o termo de pesquisa que ele apresenta. Os dois termos de pesquisa que vi sugeridos até agora são
SYSTEM_SERVICE_EXCEPTIONe HAL_INITIALIZATION_FAILED.

Embora seja bom não ter que olhar para uma tela azul cheia de texto, o BSOD anterior era mais informativo que o BSOD do Windows 8, pois continha um código de erro detalhado (informações para fins de diagnóstico coletadas quando o sistema operacional executava um bug) check), o que poderia levá-lo mais perto de rastrear a raiz do problema.

Como posso obter mais informações sobre o erro que o Windows 8 encontrou para rastrear a raiz do problema?

amiregelz
fonte
1
Nas versões anteriores do Windows, o evento era registrado na categoria "sistema". HAL_INITIALIZATION_FAILED é um alias (uma constante nomeada) para o código de erro. O antigo BSOD deu a constante e seu valor, mas eles são a mesma coisa.
24512 horatio
O BSOD criará um arquivo de despejo no disco rígido, na raiz de C: ou em C: \ Windows \ minidump, e veja esta página para analisar o arquivo de despejo ... support.microsoft.com/kb/315263
Moab
Verifique C:\Windows\MEMORY.DMPo arquivo mais recente em `C: \ Windows \ Minidumps`; se for o primeiro, veja se é viável enviá-lo em um arquivo zip / rar / 7z, se for o último, basta carregá-lo, pois será bem pequeno. Estamos felizes em dar uma olhada em você ...
Tamara Wijsman

Respostas:

10

Ignorando o nome típico do BSOD, eles são mais formalmente chamados de Verificações de Bug. Para procurar o que realmente significa um determinado código BSOD , você pode procurá-lo em Referência de Código de Verificação de Bug .

Bug Verifique 0x3B: SYSTEM_SERVICE_EXCEPTIONe 0x5C: HAL_INITIALIZATION_FAILEDpareça familiar para você, você pode lê-los lá, mas detalharei coisas que podem parecer pouco claras para alguém que não faz depuração ou programação de driver de baixo nível.

SYSTEM_SERVICE_EXCEPTION

A descrição na página é:

Isso indica que ocorreu uma exceção durante a execução de uma rotina que faz a transição de código não privilegiado para código privilegiado.

Isso acontece quando algum código do seu sistema tenta executar outro código de maior privilégio, quando isso ocorre sem elevação de privilégios, significa que o código não privilegiado violaria a segurança. Isso geralmente é o que um driver com defeito faz, mas também pode ser um rootkit sob a forma de um driver que esbarra em alguma forma de proteção.

Isso não significa que devemos excluir outros possíveis erros, como corrupção de memória, que podem ser vistos ao investigar o despejo de memória para ver se o comportamento aponta para um driver ou é mais aleatório. Mesmo que o despejo de memória fosse aleatório, não seria necessário apontar para uma memória ruim, mas poderia novamente ser o resultado de um driver corrompendo a memória. Portanto, fazer um teste de memória é útil para verificar se há memória ruim para ter uma idéia mais clara se estivermos nesse caminho.

HAL_INITIALIZATION_FAILED

A descrição na página é:

Isso indica que a inicialização do HAL falhou.

Sim, foi tudo o que ela disse. Estudar o que é o HAL seria o próximo passo lógico para entender o que está acontecendo aqui. Em resumo, esta parte da seção "Em sistemas operacionais" ajuda a:

Uma camada de abstração de hardware (HAL) é uma camada de abstração, implementada em software, entre o hardware físico de um computador e o software que é executado nesse computador. Sua função é ocultar diferenças de hardware da maioria do kernel do sistema operacional, para que a maior parte do código no modo kernel não precise ser alterada para ser executada em sistemas com hardware diferente.

Em um PC, o HAL pode basicamente ser considerado o driver da placa-mãe e permite que instruções de linguagens de computador de nível superior se comuniquem com componentes de nível inferior, como diretamente com o hardware.

Sim, ainda é muito longo. Mas aponta algumas causas possíveis mais interessantes: hardware com defeito, código de abstração, drivers da placa-mãe / chipset ou outros drivers. Percorrer essas possíveis causas para trás nos permite ver nível por nível onde o problema pode estar; e, para isso, precisamos novamente inspecionar o despejo de memória.

Inspecionando um despejo de memória ?!

Conforme indicado nos comentários, você pode visitar este URL para obter algumas instruções básicas, embora eu sugira fazer o upload do dump, se possível, para que possamos verificá-lo. Eu geralmente uso o WinDBG da Ferramenta de Depuração para Windows para fazer isso. Como alternativa, você pode usar o Instant Online Crash Dump Analyzer on-line da OSR Online, embora isso não permita que você inspecione outras coisas além da análise genérica do despejo de memória. Assim, depois de obter o despejo de memória, informe-nos ...

Tamara Wijsman
fonte
1

Você também pode se livrar da nova mensagem :-( tela azul e restaurar a tela antiga de verificação de erros, como o XP e o W7.

Primeiro, verifique se o KB2929742 já está instalado.

Em seguida, abra o editor de registro no Windows e edite esta chave

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ CrashControl

Crie um novo Dword "DisplayParameters" e defina-o como 1.

Defina "AutoReboot" para 0

Reinicie o PC para que as alterações entrem em vigor. Da próxima vez que o BSOD for, ele exibirá mais informações na tela azul e permanecerá na tela bsod até forçar o desligamento.

Moab
fonte