Solución de problemas avanzada para el id. de evento 41: "El sistema se ha reiniciado sin apagarse primero"
Nota:
Usuarios particulares: este artículo está concebido para agentes de soporte y profesionales de TI. Si busca más información sobre los mensajes de error de pantalla azul, visite Solución de errores de pantalla azul.
La manera preferida de apagar Windows es seleccionar Iniciar y, a continuación, seleccionar una opción para desactivar o apagar el equipo. Cuando se usa este método estándar, el sistema operativo cierra todos los archivos y notifica a los servicios y aplicaciones en ejecución para que puedan escribir datos no guardados en el disco y vaciar las memorias caché activas.
Si el equipo se apaga inesperadamente, Windows registra el identificador de evento 41 la próxima vez que se inicie el equipo. El texto del evento es similar a la siguiente información:
Event ID: 41
Description: The system has rebooted without cleanly shutting down first.
Este evento indica que alguna actividad inesperada impidió que Windows se apagara correctamente. Este apagado puede deberse a una interrupción en la fuente de alimentación o por un error de detención. Si es factible, Windows registra los códigos de error a medida que se apaga. Durante la fase de kernel del siguiente inicio de Windows, Windows comprueba estos códigos e incluye los códigos existentes en los datos de evento del id. de evento 41.
EventData
BugcheckCode 159
BugcheckParameter1 0x3
BugcheckParameter2 0xfffffa80029c5060
BugcheckParameter3 0xfffff8000403d518
BugcheckParameter4 0xfffffa800208c010
SleepInProgress false
PowerButtonTimestamp 0Converts to 0x9f (0x3, 0xfffffa80029c5060, 0xfffff8000403d518, 0xfffffa800208c010)
Cómo usar el identificador de evento 41 al solucionar problemas de un apagado o reinicio inesperados
Por sí mismo, el identificador de evento 41 podría no contener información suficiente para definir explícitamente lo que se produjo. Normalmente, también tiene que tener en cuenta lo que se estaba produciendo en el momento del apagado inesperado (por ejemplo, la fuente de alimentación falló). Use la información de este artículo para identificar un enfoque de solución de problemas adecuado para sus circunstancias:
- Escenario 1: el equipo se reinicia debido a un error stop y el id. de evento 41 contiene un código stop error (comprobación de errores)
- Escenario 2: el equipo se reinicia porque ha presionado y mantenido el botón de encendido
- Escenario 3: El equipo no responde o reinicia aleatoriamente y el identificador de evento 41 no se registra o la entrada id. de evento 41 muestra los valores de código de error de cero.
Escenario 1: el equipo se reinicia debido a un error stop y el id. de evento 41 contiene un código stop error (comprobación de errores)
Cuando un equipo se cierra o se reinicia debido a un error de detención, Windows incluye los datos de error detener en el id. de evento 41 como parte de más datos de eventos. Esta información incluye el código de error Stop (también denominado código de comprobación de errores), como se muestra en el ejemplo siguiente:
EventData
BugcheckCode 159
BugcheckParameter1 0x3
BugcheckParameter2 0xfffffa80029c5060
BugcheckParameter3 0xfffff8000403d518
BugcheckParameter4 0xfffffa800208c010
Nota:
El identificador de evento 41 incluye el código de comprobación de errores en formato decimal. La mayoría de la documentación que describe los códigos de comprobación de errores hacen referencia a los códigos como valores hexadecimales en lugar de valores decimales. Para convertir decimal a hexadecimal, siga estos pasos:
- Seleccione Inicio, escriba calc en el cuadro Buscar y, a continuación, seleccione Calculadora.
- En la ventana Calculadora , seleccione Ver>programador.
- En el lado izquierdo de la calculadora, compruebe que Dec está resaltado.
- Use el teclado para escribir el valor decimal del código de comprobación de errores.
- En el lado izquierdo de la calculadora, seleccione Hexadecimal.
El valor que muestra la calculadora es ahora el código hexadecimal.
Al convertir un código de comprobación de errores en formato hexadecimal, compruebe que la designación "0x" va seguida de ocho dígitos (es decir, la parte del código después de la "x" incluye suficientes ceros para rellenar ocho dígitos). Por ejemplo, 0x9F normalmente se documentan como 0x0000009f y 0xA se documentan como 0x0000000A. En el caso de los datos de evento de ejemplo de este artículo, "159" se convierte en 0x0000009f.
Después de identificar el valor hexadecimal, use las siguientes referencias para continuar con la solución de problemas:
- Solución de problemas avanzada de errores de detención o de pantalla azul.
- Referencia de código de comprobación de errores. En esta página se enumeran los vínculos a la documentación de los distintos códigos de comprobación de errores.
- Cómo depurar bloqueos de pantalla azul en modo kernel (para principiantes).
Escenario 2: el equipo se reinicia porque ha presionado y mantenido el botón de encendido
Dado que este método para reiniciar el equipo interfiere con la operación de apagado de Windows, se recomienda usar este método solo si no tiene ninguna alternativa. Por ejemplo, es posible que tenga que usar este enfoque si el equipo no responde. Al reiniciar el equipo presionando y manteniendo presionado el botón de encendido, el equipo registra un id. de evento 41 que incluye un valor distinto de cero para la 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 obtener ayuda al solucionar problemas de un equipo que no responde, consulte Ayuda de Windows. Considere la posibilidad de buscar ayuda mediante palabras clave como "bloquear", "responder" o "pantalla en blanco".
Escenario 3: El equipo no responde o reinicia aleatoriamente, y el identificador de evento 41 no se registra o la entrada 41 del id. de evento 41 o enumera los valores de código de error de cero
Este escenario incluye las siguientes circunstancias:
- Apaga la alimentación en un equipo que no responde y, a continuación, reinicia el equipo.
Para comprobar que un equipo no responde, presione la tecla de bloqueo Caps en el teclado. Si la luz de bloqueo caps del teclado no cambia al presionar la tecla de bloqueo Caps, es posible que el equipo no responda (también conocido como un bloqueo duro). - El equipo se reinicia, pero no genera el identificador de evento 41.
- El equipo se reinicia y genera el identificador de evento 41, pero los valores BugcheckCode y PowerButtonTimestamp son cero.
En tales casos, algo impide que Windows genere códigos de error o escriba códigos de error en el disco. Algo podría bloquear el acceso de escritura al disco (como en el caso de un equipo que no responde) o el equipo podría apagarse demasiado rápido para escribir los códigos de error o incluso detectar un error.
La información del id. de evento 41 proporciona una indicación de dónde empezar a comprobar si hay problemas:
El identificador de evento 41 no se registra o el código de comprobación de errores es cero. Este comportamiento podría indicar un problema de fuente de alimentación. Si se interrumpe la alimentación en un equipo, es posible que el equipo se apague sin generar un error stop. Si genera un error Stop, es posible que no termine de escribir los códigos de error en el disco. La próxima vez que se inicie el equipo, es posible que no registre el identificador de evento 41. O bien, si lo hace, el código de comprobación de errores es cero. Las condiciones siguientes pueden ser la causa:
- En el caso de un ordenador portátil, la batería se quitó o desaggó.
- En el caso de un equipo de escritorio, el equipo se desconectó o experimentó una interrupción de energía.
- La fuente de alimentación está infrapotenciada o defectuosa.
El valor de PowerButtonTimestamp es cero. Este comportamiento puede producirse si desconecta la alimentación de un equipo que no responde a la entrada. Las condiciones siguientes pueden ser la causa:
- Un proceso de Windows bloqueó el acceso de escritura al disco y apagará el equipo presionando y manteniendo presionado el botón de encendido durante al menos cuatro segundos.
- Desconectaste la alimentación a un equipo que no responde.
Error al escribir el archivo de volcado de memoria y todos los valores son Cero. Por ejemplo:
<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>
Sin embargo, hay un identificador de evento 46 registrado por volmgr: error de inicialización del volmgr: error de inicialización del volcado de memoria. Este evento puede producirse si el equipo se inició sin un archivo de volcado configurado. El archivo de volcado predeterminado es el archivo pagefile.
Por lo tanto, si tiene un caso con un reinicio inesperado y el identificador de evento 41 tiene todo el valor como 0, compruebe si tiene un identificador de evento 46 por volmgr. Si es así, compruebe la configuración del archivo de página. Los reinicios inesperados podrían seguir sucediendo debido a una comprobación de errores, pero el sistema no puede escribir el tipo de comprobación de errores en el identificador de evento 41 y tampoco pudo generar un volcado de memoria. Consulte id. de evento 46 al iniciar un equipo.
Normalmente, los síntomas descritos en este escenario indican un problema de hardware. Para ayudar a aislar el problema, siga estos pasos:
- Deshabilite el overclocking. Si el equipo tiene el overclocking habilitado, deshabilite. Compruebe que el problema se produce cuando el sistema se ejecuta a la velocidad correcta.
- Compruebe la memoria. Use un comprobador de memoria para determinar el estado y la configuración de la memoria. Compruebe que todos los chips de memoria se ejecutan a la misma velocidad y que cada chip está configurado correctamente en el sistema.
- Compruebe la fuente de alimentación. Compruebe que la fuente de alimentación tiene suficiente wattage para controlar correctamente los dispositivos instalados. Si agregó memoria, instaló un procesador más reciente, instaló más unidades o dispositivos externos agregados, estos dispositivos pueden requerir más energía que la fuente de alimentación actual puede proporcionar de forma coherente. Si el equipo registró el identificador de evento 41 porque se interrumpió la alimentación en el equipo, considere la posibilidad de obtener una fuente de alimentación ininterrumpida (UPS), como una fuente de alimentación de copia de seguridad de la batería.
- Compruebe el sobrecalentamiento. Examine la temperatura interna del hardware y compruebe si hay componentes de sobrecalentamiento.
- Si el equipo es una máquina física, podría haber sido reiniciado por un software de recuperación automática del servidor (ASR) que detectó que la máquina no responde.
- Si el sistema se ejecuta en una máquina virtual (VM) de Hyper-V y no forma parte de un entorno en clúster, el sistema podría haber sido reiniciado por la característica de latido de Hyper-V. Si esta característica está habilitada y el host no detecta un latido de la máquina virtual (quizás porque no responde), Hyper-V reiniciará la máquina virtual.
- Si el problema se produce en un entorno en clúster de Hyper-V, el problema podría estar relacionado con la opción Habilitar supervisión de latidos para la máquina virtual. Consulte Archivo de volcado de memoria dañado al intentar obtener un archivo de volcado de memoria completo de una máquina virtual que se ejecuta en un entorno de clúster.
- Si el problema se produce con una máquina virtual de VMWare, podría estar relacionado con la característica de latido en VMWare o la máquina virtual forma parte de algún clúster de terceros.
- Compruebe si hay algún evento sospechoso antes del tiempo de apagado (obtenido del identificador de evento 6008) tanto en el registro de aplicación como en el sistema.
Si realiza estas comprobaciones y todavía no puede aislar el problema, establezca el sistema en su configuración predeterminada y compruebe si el problema se sigue produciendo.
Nota:
Si ve un mensaje de error Detener que incluye un código de comprobación de errores, pero el identificador de evento 41 no incluye ese código, cambie el comportamiento de reinicio del equipo. Para ello, siga estos pasos:
- Haga clic con el botón derecho en Mi equipo y seleccione Propiedades>Configuración avanzada del>sistema Avanzadas.
- En la sección Inicio y recuperación , seleccione Configuración.
- Desactive la casilla Reiniciar automáticamente.
Más información
Detalles sobre el identificador de evento 41
El error 41 del evento De energía del kernel se produce cuando el equipo se apaga o se reinicia inesperadamente. Cuando se inicia un equipo basado en Windows, se realiza una comprobación para determinar si el equipo se cerró limpiamente. Si no es así, se genera un mensaje 41 de id. de evento de Kernel Power.
Se usa un identificador de evento 41 para informar de que algo inesperado ha ocurrido que impedía que Windows se apagara correctamente. Puede que no haya información suficiente para definir explícitamente lo que ha ocurrido. Consulte Kernel Power Event ID 41 para obtener más información.
- Nombre del registro: Sistema
- Producto: Sistema operativo Windows
- Identificador: 41
- Origen: Microsoft-Windows-Kernel-Power
- Nivel: Crítico
- Versión: 6.1
- Mensaje: El sistema se ha reiniciado sin apagarse limpiamente primero. Este error podría deberse a que el sistema dejó de responder, se bloqueó o perdió energía inesperadamente.
Nota:
La hora que se muestra en el archivo .evtx se ajusta a la hora del sistema. Compruebe la zona horaria del servidor.
- Id. de evento 41: este evento indica que Windows se ha reiniciado sin un apagado completo.
- Id. de evento 1074: este evento se registra cuando una aplicación es responsable del apagado o reinicio del sistema. También indica cuándo un usuario ha reiniciado o apagado el sistema mediante el menú Inicio o presionando Ctrl+Alt+Supr.
- Id. de evento 6006: este evento indica que Windows estaba adecuadamente desactivado.
- Id. de evento 6008: este evento indica un apagado incorrecto o desfasado. Se registra cuando el cierre más reciente fue inesperado.
Justo antes de que el equipo se apague, shutdown.exe
registrará el evento de apagado en el registro del sistema de Windows con un source=User32 y el identificador de evento 1074 junto con cualquier mensaje personalizado y código de motivo.
El registro de eventos es la única manera de indicar que un reinicio desencadenado desde shutdown.exe
está pendiente. El evento también registra el nombre de usuario y la fecha y hora en que se emitió el shutdown
comando.
Cuando se usa shutdown.exe
para reiniciar un servidor, el proceso de apagado normalmente permitirá 30 segundos para asegurarse de que cada servicio en ejecución tiene tiempo de detención. Los servicios se cierran en orden alfabético. Detener los servicios manualmente en un pedido específico con NET STOP
o SC
puede ser ligeramente más rápido.
Archivo de estado de arranque (desde las ventanas internas 6)
Windows usa un archivo de estado de arranque (%SystemRoot%\Bootstat.dat) para registrar el hecho de que ha progresado a través de varias fases del ciclo de vida del sistema, incluido el inicio y el apagado.
Esto permite que el Administrador de arranque, el cargador de Windows y la herramienta de reparación de inicio detecten un apagado anómalo o un error al apagarse de forma limpia, con el fin de ofrecer las opciones de recuperación del usuario y de arranque de diagnóstico, como el último correcto conocido y el modo seguro. Este archivo binario contiene información a través de la cual el sistema informa del éxito de las siguientes fases del ciclo de vida del sistema:
- Arranque (la definición de un arranque correcto es la misma que la que se usa para determinar el último estado correcto conocido, que se describió anteriormente).
- Apagar
- Reanudar desde hibernación o suspender
El archivo de estado de arranque también indica si se detectó un problema la última vez que el usuario intentó arrancar el sistema operativo y las opciones de recuperación que se muestran, lo que indica que el usuario se ha dado cuenta del problema y ha tomado medidas. Las API de la biblioteca en tiempo de ejecución (Rtl) de ntdll.dll contienen las interfaces privadas que Windows usa para leer y escribir en el archivo. Al igual que bcD, los usuarios no pueden editarlo.
Acerca del apagado
Cuando se inicia un apagado, Windows envía un mensaje WM_QUERYENDSESSION a todas las aplicaciones en ejecución que tienen un subproceso de interfaz de usuario (UI). Este mensaje pide a la aplicación que guarde los datos no guardados y finalice correctamente. Si la aplicación no responde al mensaje dentro de un límite de tiempo determinado, Windows envía un mensaje WM_ENDSESSION a la aplicación, que finaliza la aplicación inmediatamente.
Si todas las aplicaciones responden al mensaje de WM_QUERYENDSESSION y finalizan correctamente, Windows registra un evento de apagado limpio en el registro de eventos del sistema. Si alguna aplicación no responde al mensaje o finaliza anómalamente, Windows registra un evento de apagado sucio en el registro de eventos del sistema.
Los apagados inesperados se producen principalmente por componentes fuera del sistema operativo.
Un apagado sucio es cuando se apaga un sistema informático sin pasar por el proceso de apagado adecuado. Esto puede ocurrir cuando la alimentación se corta repentinamente o cuando el equipo se ve obligado a apagarse manteniendo presionado el botón de encendido. Un apagado desfasado puede provocar pérdida de datos o daños y también puede provocar problemas de arranque.
El registro de recuento de apagados sucios es una clave del Registro de Windows que se usa para realizar un seguimiento del número de veces que se ha apagado un sistema informático sin pasar por el proceso de apagado adecuado. Esta clave puede ser útil al solucionar problemas de arranque para identificar si el sistema se desactivó incorrectamente.
También puede borrar todos los valores (como DirtyShutdown, LastAliveStamp, TimeStampInterval) en la siguiente clave del Registro: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
. Esto puede ayudar a evitar que el Rastreador de eventos de apagado aparezca después de un apagado inesperado.