Compartilhar via


Solução de problemas avançada para a ID do Evento 41: "O sistema foi reinicializado sem desligar corretamente 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 de tela azul.

A maneira preferida de desligar o Windows é selecionar Iniciar e, em seguida, selecionar uma opção para desligar 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 todos os dados não salvos no disco e liberar todos os caches ativos.

Se o computador for desligado inesperadamente, o Windows registrará a ID de Evento 41 na próxima vez que o computador for iniciado. O texto do evento é semelhante à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 fosse desligado corretamente. Esse desligamento pode ser causado por uma interrupção no fornecimento de energia ou por um erro de parada. Se possível, o Windows registra todos os códigos de erro ao ser desligado. Durante a fase de kernel da próxima inicialização do Windows, o Windows verifica esses códigos e inclui todos os 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 ao solucionar problemas de desligamento ou reinicialização inesperados

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 deve considerar o que estava ocorrendo no momento do desligamento inesperado (por exemplo, falha na fonte de alimentação). 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 devido a um erro de parada e a ID do evento 41 contém um código de erro de parada (verificação de bugs)
  • Cenário 2: o computador é reiniciado porque você pressionou e segurou o botão liga/desliga
  • Cenário 3: o computador não responde ou é reiniciado aleatoriamente e a ID do Evento 41 não está registrada ou a entrada da ID do Evento 41 lista valores de código de erro de zero

Cenário 1: o computador é reiniciado devido a um erro de parada e a ID do evento 41 contém um código de erro de parada (verificação de bugs)

Quando um computador é desligado ou reiniciado devido a um erro de parada, o Windows inclui os dados de erro de parada na ID do evento 41 como parte de mais dados de evento. Essas informações incluem o código de erro Stop (também chamado de código de verificação 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 de verificação de bugs no formato decimal. A maioria da documentação que descreve códigos de verificação de bugs refere-se aos códigos como valores hexadecimais em vez de valores decimais. Para converter decimal em hexadecimal, siga estas etapas:

  1. Selecione Iniciar, digite calc na caixa Pesquisar 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 de verificação de bugs.
  5. No lado esquerdo da calculadora, selecione Hex.
    O valor que a calculadora exibe agora é o código hexadecimal.

Ao converter um código de verificação de bugs para o 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" é convertido 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 liga/desliga

Como esse método de reinicialização do 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 seja necessário usar essa abordagem se o computador não estiver respondendo. Quando você reinicia o computador pressionando e segurando o botão liga/desliga, o computador registra uma ID de Evento 41 que inclui um valor diferente de 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 que não responde, consulte a Ajuda do Windows. Considere pesquisar assistência usando palavras-chave como "travar", "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

Esse cenário inclui as seguintes circunstâncias:

  • Você desliga a energia de um computador que não responde e reinicia o computador.
    Para verificar se um computador não está respondendo, pressione a tecla Caps lock no teclado. Se a luz de Caps Lock no teclado não mudar quando você pressionar a tecla Caps lock , o computador pode não responder (também conhecido como travamento rígido).
  • O computador é reiniciado, mas não gera a ID do Evento 41.
  • O computador é reiniciado 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 grave códigos de erro no disco. Algo pode bloquear o acesso de gravação ao disco (como no caso de um computador que não responde) 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 por onde começar a verificar se há problemas:

  • A ID do evento 41 não é registrada ou o código de verificação de bug é zero. Esse comportamento pode indicar um problema na fonte de alimentação. Se a alimentação de um computador for interrompida, o computador poderá desligar sem gerar um erro de parada. Se ele gerar um erro de parada, talvez não termine de gravar os códigos de erro no 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 de verificação de bugs é zero. As seguintes condições podem ser a causa:

    • No caso de um computador portátil, a bateria foi removida ou descarregada.
    • No caso de um computador desktop, o computador foi desconectado ou sofreu uma queda de energia.
    • A fonte de alimentação está com pouca potência ou com defeito.
  • O valor PowerButtonTimestamp é zero. Esse comportamento pode ocorrer se você desconectou a alimentação 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 liga/desliga por pelo menos quatro segundos.
    • Você desconectou a energia de um computador que não responde.
  • Falha ao gravar o 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á um ID de evento 46 registrado por volmgr: Falha na inicialização do despejo de memória!. Esse evento poderá ocorrer se o computador for iniciado sem um arquivo de despejo configurado. O arquivo de despejo padrão é o arquivo de paginação.

    Captura de tela do log de eventos.

    Portanto, quando você tiver um caso com uma reinicialização inesperada e a ID de evento 41 tiver todo o valor como 0, verifique se você tem uma ID de evento 46 por volmgr. Em caso afirmativo, verifique a configuração do arquivo de paginação. Reinicializações inesperadas ainda podem ter ocorrido devido a uma verificação de bug, mas o sistema não pode gravar o tipo de verificação de bug na ID de evento 41 e também não pode gerar um despejo de memória. Consulte ID do evento 46 ao iniciar um computador

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

  • Desative o overclock. Se o computador tiver o overclock ativado, desative-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 funcionam na mesma velocidade e se todos os chips estão configurados 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 de forma consistente. Se o computador registrou a ID de evento 41 porque a energia do computador foi interrompida, considere obter uma fonte de alimentação ininterrupta (UPS), como uma fonte de alimentação de backup de bateria.
  • Verifique se há superaquecimento. Examine a temperatura interna do hardware e verifique se há componentes superaquecidos.
  • Se o computador for uma máquina física, ele pode ter sido reiniciado por um software ASR (Recuperação Automática de Servidor) que detectou que a máquina não está respondendo.
  • Se o sistema estiver em execução em uma VM (máquina virtual) do 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 ela não esteja respondendo), 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á sendo executada em um ambiente de cluster.
  • Se o problema ocorrer com uma VM VMWare, ele pode estar relacionado ao recurso de pulsação no VMWare ou a VM faz parte de algum cluster de terceiros.
  • Verifique se há algum evento suspeito antes do tempo de desligamento (obtido da ID de 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 para 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 código de verificação de bug, mas a ID do evento 41 não inclui 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>sistema Avançado.
  2. Na seção Inicialização e recuperação, selecione Configurações.
  3. Desmarque a caixa de seleção Reiniciar automaticamente.

Mais informações

Detalhes sobre a ID do evento 41

O erro de ID de evento 41 do Kernel Power ocorre quando o computador é desligado ou reiniciado inesperadamente. Quando um computador baseado no Windows é iniciado, uma verificação é executada para determinar se o computador foi desligado corretamente. Caso contrário, uma mensagem de ID de evento 41 do Kernel Power será gerada.

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

  • Nome do log: Sistema
  • Produto: Sistema operacional Windows
  • IDENTIFICAÇÃO: 41
  • Fonte: Microsoft-Windows-Kernel-Power
  • Nível: Crítico
  • Versão: 6.1
  • Mensagem: O sistema foi reinicializado sem desligar corretamente primeiro. Esse erro pode ser causado se o sistema parar de responder, travar ou perder energia inesperadamente.

Observação

A hora mostrada no arquivo .evtx é ajustada à hora do seu sistema. Verifique o fuso horário do servidor.

  • ID do evento 41: esse 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: esse evento indica que o Windows foi desativado adequadamente.
  • ID do Evento 6008: esse evento indica um desligamento impróprio ou sujo. Ele é registrado quando o desligamento mais recente foi inesperado.

Pouco antes de o computador desligar, shutdown.exe registrará o evento de desligamento no log do sistema Windows com um Source=User32 e ID de evento 1074 junto com qualquer mensagem personalizada e código de motivo.

O log de eventos é a única maneira de saber que uma reinicialização disparada está shutdown.exe 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 status de inicialização (%SystemRoot%\Bootstat.dat) para registrar o fato de que ele progrediu por 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 de Reparo de Inicialização detectem um desligamento anormal ou uma falha no desligamento limpo, a fim de oferecer ao usuário opções de recuperação e inicialização de diagnóstico, como Último Válido e Modo de Segurança. Esse 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 o status do Último Válido Conhecido, que foi descrito anteriormente)
  • Shutdown
  • Retomar da hibernação ou suspender

O arquivo de status de inicialização 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 de biblioteca de tempo de execução (RTL) no ntdll.dll contêm as interfaces privadas que o Windows usa para ler e gravar no arquivo. 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. Essa mensagem solicita 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 WM_ENDSESSION para o aplicativo, que encerrará o aplicativo imediatamente.

Se todos os aplicativos responderem à mensagem WM_QUERYENDSESSION e terminarem normalmente, o Windows registrará um evento de desligamento normal no log de eventos do sistema. Se algum aplicativo não responder à mensagem ou for encerrado 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.

Um desligamento sujo é 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 mantendo pressionado o botão liga / desliga. 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 rastrear 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 Controlador de Eventos de Desligamento apareça após um desligamento inesperado.