Solução de problemas avançada para a ID do Evento 41: "O sistema foi reiniciado sem desligar de maneira limpa primeiro"

Observação

Usuários Domésticos: Este artigo é destinado ao uso por agentes de suporte e profissionais de TI. Se você estiver procurando mais informações sobre mensagens de erro de tela azul, visite Solucionar problemas de erros na tela azul.

A maneira preferida de desligar o Windows é selecionar Iniciar e selecionar uma opção para desativar ou desligar o computador. Quando você usa esse método padrão, o sistema operacional fecha todos os arquivos e notifica os serviços e aplicativos em execução para que eles possam gravar quaisquer dados não salvos em disco e liberar quaisquer caches ativos.

Se o computador for desligado inesperadamente, o Windows registrará a ID do Evento 41 na próxima vez que o computador for iniciado. O texto do evento se assemelha às seguintes informações:

Event ID: 41  
Description: The system has rebooted without cleanly shutting down first.

Esse evento indica que alguma atividade inesperada impediu que o Windows fechasse corretamente. Esse desligamento pode ser causado por uma interrupção no fornecimento de energia ou por um erro De parar. Se possível, o Windows registra quaisquer códigos de erro à medida que é desligado. Durante a fase do kernel da próxima inicialização do Windows, o Windows verifica esses códigos e inclui quaisquer códigos existentes nos dados de evento da ID do evento 41.

EventData  
BugcheckCode 159  
BugcheckParameter1 0x3  
BugcheckParameter2 0xfffffa80029c5060  
BugcheckParameter3 0xfffff8000403d518  
BugcheckParameter4 0xfffffa800208c010  
SleepInProgress false  
PowerButtonTimestamp 0Converts to 0x9f (0x3, 0xfffffa80029c5060, 0xfffff8000403d518, 0xfffffa800208c010)  

Como usar a ID do evento 41 quando você solucionar problemas de um desligamento ou reinicialização inesperado

Por si só, a ID do evento 41 pode não conter informações suficientes para definir explicitamente o que ocorreu. Normalmente, você também precisa considerar o que estava ocorrendo no momento do desligamento inesperado (por exemplo, o fornecimento de energia falhou). Use as informações neste artigo para identificar uma abordagem de solução de problemas apropriada para suas circunstâncias:

  • Cenário 1: o computador é reiniciado por causa de um erro stop e a ID do evento 41 contém um código Stop error (bug marcar)
  • Cenário 2: o computador é reiniciado porque você pressionou e segurou o botão de energia
  • Cenário 3: o computador não responde ou é reiniciado aleatoriamente e a ID do Evento 41 não está registrada ou a ID do evento 41 lista valores de código de erro de zero

Cenário 1: o computador é reiniciado por causa de um erro stop e a ID do evento 41 contém um código Stop (bug marcar)

Quando um computador é desligado ou reinicia por causa de um erro stop, o Windows inclui os dados de erro Parar na ID do Evento 41 como parte de mais dados de evento. Essas informações incluem o código de erro Parar (também chamado de código de marcar de bug), conforme mostrado no exemplo a seguir:

EventData  
BugcheckCode 159  
BugcheckParameter1 0x3  
BugcheckParameter2 0xfffffa80029c5060  
BugcheckParameter3 0xfffff8000403d518  
BugcheckParameter4 0xfffffa800208c010  

Observação

A ID do evento 41 inclui o código marcar de bug no formato decimal. A maioria da documentação que descreve códigos de marcar de bugs refere-se aos códigos como valores hexadecimal em vez de valores decimais. Para converter decimal em hexadecimal, siga estas etapas:

  1. Selecione Iniciar, digite calc na caixa Pesquisa e selecione Calculadora.
  2. Na janela Calculadora , selecione Exibir>Programador.
  3. No lado esquerdo da calculadora, verifique se Dec está realçado.
  4. Use o teclado para inserir o valor decimal do código marcar de bugs.
  5. No lado esquerdo da calculadora, selecione Hex.
    O valor que a calculadora exibe agora é o código hexadecimal.

Ao converter um bug marcar código no formato hexadecimal, verifique se a designação "0x" é seguida por oito dígitos (ou seja, a parte do código após o "x" inclui zeros suficientes para preencher oito dígitos). Por exemplo, 0x9F normalmente é documentado como 0x0000009f e 0xA é documentado como 0x0000000A. No caso dos dados de evento de exemplo neste artigo, "159" se converte em 0x0000009f.

Depois de identificar o valor hexadecimal, use as seguintes referências para continuar a solução de problemas:

Cenário 2: o computador é reiniciado porque você pressionou e segurou o botão de energia

Como esse método de reiniciar o computador interfere na operação de desligamento do Windows, recomendamos que você use esse método somente se não tiver alternativa. Por exemplo, talvez você precise usar essa abordagem se o computador não estiver respondendo. Quando você reinicia o computador pressionando e segurando o botão de energia, o computador registra uma ID de Evento 41 que inclui um valor não zero para a entrada PowerButtonTimestamp .

<EventData>
<Data Name="BugcheckCode">0</Data>
<Data Name="BugcheckParameter1">0x0</Data>
<Data Name="BugcheckParameter2">0x0</Data>
<Data Name="BugcheckParameter3">0x0</Data>
<Data Name="BugcheckParameter4">0x0</Data>
<Data Name="SleepInProgress">0</Data>
<Data Name="PowerButtonTimestamp">131728546170882432</Data>
<Data Name="BootAppStatus">0</Data>
</EventData>

Para obter ajuda ao solucionar problemas de um computador sem resposta, consulte Ajuda do Windows. Considere procurar ajuda usando palavras-chave como "enforcar", "responder" ou "tela em branco".

Cenário 3: o computador não responde ou é reiniciado aleatoriamente e a ID do Evento 41 não é registrada ou a entrada da ID do Evento 41 ou lista valores de código de erro de zero

Este cenário inclui as seguintes circunstâncias:

  • Você desliga a energia de um computador sem resposta e reinicia o computador.
    Para verificar se um computador não responde, pressione a tecla caps lock no teclado. Se a luz de bloqueio caps no teclado não for alterada quando você pressionar a tecla de bloqueio Caps , o computador poderá não responder (também conhecido como travamento rígido).
  • O computador é reiniciado, mas não gera a ID do evento 41.
  • O computador reinicia e gera a ID do Evento 41, mas os valores BugcheckCode e PowerButtonTimestamp são zero.

Nesses casos, algo impede que o Windows gere códigos de erro ou escreva códigos de erro em disco. Algo pode bloquear o acesso de gravação ao disco (como no caso de um computador sem resposta) ou o computador pode desligar muito rapidamente para gravar os códigos de erro ou até mesmo detectar um erro.

As informações na ID do Evento 41 fornecem alguma indicação de onde começar a verificar problemas:

  • A ID do evento 41 não é registrada ou o código marcar de bugs é zero. Esse comportamento pode indicar um problema de fornecimento de energia. Se a energia de um computador for interrompida, o computador poderá ser desligado sem gerar um erro De parar. Se ele gerar um erro Parar, talvez não termine de escrever os códigos de erro em disco. Na próxima vez que o computador for iniciado, ele pode não registrar a ID do evento 41. Ou, se isso acontecer, o código marcar de bugs será zero. As seguintes condições podem ser a causa:

    • No caso de um computador portátil, a bateria foi removida ou drenada.
    • No caso de um computador de área de trabalho, o computador foi desconectado ou sofreu uma interrupção de energia.
    • A fonte de alimentação está com falta de potência ou falha.
  • O valor do PowerButtonTimestamp é zero. Esse comportamento poderá ocorrer se você desconectou a energia de um computador que não estava respondendo à entrada. As seguintes condições podem ser a causa:

    • Um processo do Windows bloqueou o acesso de gravação ao disco e você desligou o computador pressionando e segurando o botão de energia por pelo menos quatro segundos.
    • Você desconectou a energia para um computador sem resposta.
  • Falha na gravação do arquivo de despejo e todos os valores são Zero. Por exemplo:

    <EventData>
    <Data Name="BugcheckCode">0</Data>
    <Data Name="BugcheckParameter1">0x0</Data>
    <Data Name="BugcheckParameter2">0x0</Data>
    <Data Name="BugcheckParameter3">0x0</Data>
    <Data Name="BugcheckParameter4">0x0</Data>
    <Data Name="SleepInProgress">0</Data>
    <Data Name="PowerButtonTimestamp">0</Data>
    <Data Name="BootAppStatus">0</Data>
    </EventData>
    

    No entanto, há uma ID do evento 46 registrada pelo volmgr : falha na inicialização do despejo de falhas!. Esse evento poderá ocorrer se o computador for iniciado sem um arquivo de despejo configurado. O arquivo de despejo padrão é o arquivo de página.

    Captura de tela do log de eventos.

    Portanto, quando você tem um caso com uma reinicialização inesperada e a ID do evento 41 tem todo o valor como 0, marcar se você tiver uma ID de evento 46 por volmgr. Nesse caso, marcar a configuração do pagefile. Reinicializações inesperadas ainda podem acontecer devido a uma verificação de bugs, mas o sistema não pode gravar o tipo de verificação de bugs no evento ID 41 e também não pôde gerar um despejo de memória. Consulte ID do evento 46 ao iniciar um computador

Normalmente, os sintomas descritos nesse cenário indicam um problema de hardware. Para ajudar a isolar o problema, siga as seguintes etapas:

  • Desabilitar o overclocking. Se o computador tiver o overclocking habilitado, desabilite-o. Verifique se o problema ocorre quando o sistema é executado na velocidade correta.
  • Verifique a memória. Use um verificador de memória para determinar a integridade e a configuração da memória. Verifique se todos os chips de memória são executados na mesma velocidade e se cada chip está configurado corretamente no sistema.
  • Verifique a fonte de alimentação. Verifique se a fonte de alimentação tem potência suficiente para lidar adequadamente com os dispositivos instalados. Se você adicionou memória, instalou um processador mais recente, instalou mais unidades ou adicionou dispositivos externos, esses dispositivos podem exigir mais energia do que a fonte de alimentação atual pode fornecer consistentemente. Se o computador registrou a ID do evento 41 porque a energia do computador foi interrompida, considere obter uma UPS (fonte de alimentação ininterrupta), como uma fonte de alimentação de backup de bateria.
  • Verifique se há superaquecimento. Examine a temperatura interna do hardware e marcar para quaisquer componentes de superaquecimento.
  • Se o computador for um computador físico, ele poderá ter sido reiniciado por um software ASR (Recuperação Automática do Servidor) que detectou que o computador não está respondendo.
  • Se o sistema estiver em execução em uma VM (máquina virtual Hyper-V) e não fizer parte de um ambiente clusterizado, o sistema poderá ter sido reiniciado pelo recurso de pulsação do Hyper-V. Se esse recurso estiver habilitado e o host não detectar uma pulsação da VM (talvez porque não seja responsiva), o Hyper-V reiniciará a VM.
  • Se o problema ocorrer em um ambiente clusterizado do Hyper-V, o problema poderá estar relacionado à opção Habilitar monitoramento de pulsação para a máquina virtual . Consulte Arquivo de despejo de memória corrompido ao tentar obter um arquivo de despejo de memória completo de uma máquina virtual que está em execução em um ambiente de cluster.
  • Se o problema ocorrer com uma VM VMWare, ele poderá estar relacionado ao recurso de pulsação no VMWare ou a VM faz parte de algum cluster de terceiros.
  • Verifique se há qualquer evento suspeito antes do tempo de desligamento (obtido da ID do evento 6008) no log do aplicativo e do sistema.

Se você executar essas verificações e ainda não conseguir isolar o problema, defina o sistema como sua configuração padrão e verifique se o problema ainda ocorre.

Observação

Se você vir uma mensagem de erro Parar que inclui um bug marcar código, mas a ID do evento 41 não incluir esse código, altere o comportamento de reinicialização do computador. Para fazer isso, siga estas etapas:

  1. Clique com o botão direito do mouse em Meu Computador e selecione Propriedades>Configurações avançadas> do sistemaAvançado.
  2. Na seção Inicialização e Recuperação , selecione Configurações.
  3. Desmarque a caixa reiniciar automaticamente marcar.

Mais informações

Detalhes sobre a ID do evento 41

O erro da ID do evento do Kernel Power 41 ocorre quando o computador é desligado ou reinicia inesperadamente. Quando um computador baseado no Windows é iniciado, um marcar é executado para determinar se o computador foi desligado de forma limpa. Caso contrário, uma mensagem de ID 41 de evento do Kernel Power será gerada.

Uma ID do evento 41 é usada para relatar que algo inesperado aconteceu que impediu o Windows de desligar corretamente. Pode haver informações insuficientes para definir explicitamente o que aconteceu. Consulte Kernel Power Event ID 41 para obter mais informações.

  • Nome do log: Sistema
  • Produto: Sistema Operacional Windows
  • ID: 41
  • Fonte: Microsoft-Windows-Kernel-Power
  • Nível: crítico
  • Versão: 6.1
  • Mensagem: o sistema foi reiniciado sem desligar de maneira limpa primeiro. Esse erro poderá ser causado se o sistema parar de responder, falhar ou perder energia inesperadamente.

Observação

O tempo mostrado no arquivo .evtx é ajustado à hora do sistema. Verifique o fuso horário do servidor.

  • ID do evento 41: este evento indica que o Windows foi reiniciado sem um desligamento completo.
  • ID do evento 1074: esse evento é registrado quando um aplicativo é responsável pelo desligamento ou reinicialização do sistema. Ele também indica quando um usuário reiniciou ou desligou o sistema usando o menu Iniciar ou pressionando Ctrl+Alt+Del.
  • ID do evento 6006: este evento indica que o Windows foi adequadamente desativado.
  • ID do evento 6008: este evento indica um desligamento impróprio ou sujo. Ele é registrado quando o desligamento mais recente foi inesperado.

Pouco antes de o computador ser desligado, shutdown.exe registrará o evento de desligamento no log do Sistema Windows com uma ID do evento Source=User32 e 1074, juntamente com qualquer mensagem personalizada & código de razão.

O log de eventos é a única maneira de dizer que uma reinicialização disparada shutdown.exe está pendente. O evento também registra o nome de usuário e a data e hora em que o shutdown comando foi emitido.

Ao usar shutdown.exe para reiniciar um servidor, o processo de desligamento normalmente permitirá 30 segundos para garantir que cada serviço em execução tenha tempo para parar. Os serviços são desligados em ordem alfabética. Interromper os serviços manualmente em uma ordem específica com NET STOP ou SC pode ser um pouco mais rápido.

Arquivo de status de inicialização (do windows internals 6th)

O Windows usa um arquivo de inicialização status (%SystemRoot%\Bootstat.dat) para registrar o fato de que ele progrediu em vários estágios do ciclo de vida do sistema, incluindo inicialização e desligamento.

Isso permite que o Gerenciador de Inicialização, o carregador do Windows e a ferramenta Reparo de Inicialização detectem desligamento anormal ou falha ao desligar de forma limpa, a fim de oferecer as opções de inicialização de diagnóstico e recuperação do usuário, como o Modo Bom e Seguro Último Conhecido. Este arquivo binário contém informações por meio das quais o sistema relata o sucesso das seguintes fases do ciclo de vida do sistema:

  • Inicialização (a definição de uma inicialização bem-sucedida é a mesma usada para determinar a última status boa conhecida, que foi descrita anteriormente)
  • Break
  • Retomar de hibernar ou suspender

O arquivo de inicialização status também indica se um problema foi detectado na última vez que o usuário tentou inicializar o sistema operacional e as opções de recuperação mostradas, indicando que o usuário foi informado do problema e tomou medidas. As APIs da Biblioteca de Runtime (Rtl) no ntdll.dll contêm as interfaces privadas que o Windows usa para ler e gravar no arquivo. Assim como o BCD, ele não pode ser editado pelos usuários.

Sobre o desligamento

Quando um desligamento é iniciado, o Windows envia uma mensagem WM_QUERYENDSESSION para todos os aplicativos em execução que têm um thread de interface do usuário (interface do usuário). Esta mensagem pede que o aplicativo salve todos os dados não salvos e termine normalmente. Se o aplicativo não responder à mensagem dentro de um determinado limite de tempo, o Windows enviará uma mensagem de WM_ENDSESSION para o aplicativo, que encerra o aplicativo imediatamente.

Se todos os aplicativos responderem à mensagem WM_QUERYENDSESSION e terminarem normalmente, o Windows registrará um evento de desligamento limpo no log de eventos do Sistema. Se qualquer aplicativo não responder à mensagem ou terminar de forma anormal, o Windows registrará um evento de desligamento sujo no log de eventos do Sistema.

Os desligamentos inesperados são causados principalmente por componentes fora do sistema operacional.

Uma sujo desligamento é quando um sistema de computador é desligado sem passar pelo processo de desligamento adequado. Isso pode acontecer quando a energia é cortada repentinamente ou quando o computador é forçado a desligar segurando o botão de energia. Um desligamento sujo pode causar perda ou corrupção de dados e também pode levar a problemas de inicialização.

O registro de contagem de desligamento sujo é uma chave de registro no Registro do Windows que é usada para acompanhar o número de vezes que um sistema de computador foi desligado sem passar pelo processo de desligamento adequado. Essa chave pode ser útil ao solucionar problemas de inicialização para identificar se o sistema foi desligado incorretamente.

Você também pode limpar todos os valores (como DirtyShutdown, LastAliveStamp, TimeStampInterval) na seguinte chave do registro: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability. Isso pode ajudar a impedir que o Rastreador de Eventos de Desligamento apareça após um desligamento inesperado.