Cómo solucionar un error STOP 0xC000021A en Windows XP o Windows Server 2003

En este artículo se presentan los pasos avanzados para la solución de problemas del error STOP 0xC000021A.

Usuarios particulares: este artículo está concebido para agentes de soporte y profesionales de TI. Si busca información adicional sobre el código de error de una pantalla azul mientras usa su PC, consulte Solución de problemas de errores de pantalla azul.

Se aplica a: Windows 10 (todas las ediciones), Windows Server 2012 R2
Número KB original: 156669

Este artículo está destinado a los usuarios avanzados de equipos. Si no se siente cómodo con la solución avanzada de problemas, pida ayuda a alguien o póngase en contacto con el soporte técnico.

Cuando utiliza un servidor o una estación de trabajo que ejecuta uno de los sistemas operativos enumerados en la sección "La información de este artículo se refiere a", puede aparecer el mensaje de error siguiente:

STOP: c000021a {Error irrecuperable del sistema}
El proceso del sistema de inicio de sesión de Windows terminó inesperadamente con un estado de 0xc0000034 (0x00000000 0x0000000)
Se ha apagado el sistema.

Nota:

Los parámetros entre paréntesis son específicos de la configuración del equipo y pueden ser diferentes en cada caso.

Causa

El error STOP 0xC000021A se produce cuando hay un error en Winlogon.exe o en Csrss.exe. Cuando el núcleo de Windows NT detecta que cualquiera de estos procesos se ha detenido, detiene el sistema y genera el error STOP 0xC000021A. Este error puede tener varias causas, incluidas:

  • Se han instalado archivos del sistema no coincidentes.
  • Se ha producido un error en la instalación de un Service Pack.
  • Un programa de copia de seguridad utilizado para restaurar un disco duro no restauró correctamente archivos que quizás estaban en uso.
  • Se ha instalado un programa de terceros incompatible.

Solución

Para solucionar este problema, debe determinar en cuáles de estos procesos se produjo un error y por qué.

Para determinar en qué proceso se produjo el error, registre Dr. Watson como el depurador del sistema predeterminado si no lo es todavía. Dr. Watson para Windows NT registra información de diagnóstico acerca de los errores de procesos en un archivo de registro Drwtsn32.log. Además, puede configurar este programa para generar archivos de volcado de memoria de procesos con errores. A continuación, puede analizar los archivos de un depurador para determinar por qué se produce un error en un proceso.

Para configurar Dr. Watson para interceptar errores de programas en modo de usuario, siga estos pasos:

  1. En un símbolo del sistema, escriba Raíz del sistema\System32\Drwtsn32.exe -I y presione Entrar.

    Con este comando se configura Dr. Watson como el depurador del sistema predeterminado.

  2. En un símbolo del sistema, escriba Raíz del sistema\System32\Drwtsn32.exe y seleccione las opciones siguientes:

    • Anexar al archivo de registro existente
    • Cree el volcado
    • Notificación visual
  3. Cuando se reinicie el equipo después del error STOP 0xC000021A, ejecute Dr. Watson (Drwtsn32.exe).

  4. Consulte el registro de Dr. Watson para determinar qué proceso del modo de usuario puede estar produciendo el problema.

  5. Si el registro de Dr. Watson no contiene información suficiente para determinar la causa del problema, analice el archivo User.dmp para determinar la causa del error STOP 0xC000021A.

    Si Dr. Watson no creó un archivo User.dmp para Winlogon.exe o Csrss.exe, quizás tenga que utilizar una herramienta diferente para generar un archivo de volcado de memoria del proceso en el que se produce un error. Para obtener más información, vea el siguiente artículo:

    241215 Cómo usar la herramienta Userdump.exe para crear un archivo de volcado

    Nota:

    Siga las instrucciones del artículo de Knowledge Base para solucionar los problemas de un proceso que se cierra con una excepción. Mientras sigue estas instrucciones, supervise los procesos siguientes para solucionar el error STOP 0xC000021A:

    • Winlogon.exe
    • Csrss.exe

    La mayoría de los errores STOP 0xC000021A se produce debido a un error en Winlogon.exe. Normalmente, la causa es un DLL de identificación y autenticación gráficas (GINA) de terceros defectuoso. GINA es un componente DLL reemplazable que Winlogon.exe carga. GINA implementa la directiva de autenticación del modelo de inicio de sesión interactivo. GINA realiza todas las interacciones con el usuario de autenticación e identificación.

Es muy frecuente que ciertos tipos de software de control remoto reemplacen el archivo DLL de GINA predeterminado de Windows (Msgina.dll). Un buen primer paso consiste en examinar el sistema para ver si tiene un archivo DLL de GINA de otro fabricante. Para ello, busque la clave del Registro siguiente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonValue = GinaDLL REG_SZ

  • Si el valor Gina DLL está presente y es distinto de Msgina.dll, probablemente un producto de otro fabricante cambió este valor.
  • Si este valor no está presente, el sistema utiliza Msgina.dll como el archivo DLL de GINA predeterminado. Si este error apareció por primera vez después de instalar un controlador de dispositivo, un servicio del sistema o un programa de otro fabricante nuevo o actualizado, se debe quitar o deshabilitar el nuevo software. Póngase en contacto con el fabricante del software para ver si hay disponible una actualización.

Última configuración válida conocida

Si los pasos anteriores de este artículo no resuelven el problema, inicie el equipo mediante la última configuración válida conocida. Para iniciar el equipo mediante la última configuración válida conocida, siga estos pasos:

Nota:

Puesto que hay varias versiones de Microsoft Windows, los pasos siguientes pueden ser diferentes en su equipo. Si son diferentes, consulte la documentación de su producto para completar estos pasos.

  1. Seleccione Iniciar>Apagar.

  2. Seleccione Reiniciar>Aceptar.

  3. Presione F8 en el momento indicado:

    • Para un equipo basado en x86: cuando aparezca una pantalla de texto y a continuación desaparezca, presione F8. (La pantalla de texto puede incluir una prueba de memoria, líneas sobre el BIOS y otras líneas). También puede haber un mensaje que le indique cuándo presionar F8.
    • Para un equipo basado en la arquitectura Itanium: después de realizar su selección en el menú de inicio, presione F8. Puede haber un mensaje que le indique cuándo debe presionar F8.
  4. Use las teclas de dirección para seleccionar la última configuración válida conocida y presione ENTRAR.

    La opción BLOQ NUM debe estar desactivada para que funcionen las teclas de dirección del teclado numérico.

  5. Utilice las teclas de dirección para resaltar un sistema operativo y presione Entrar.

Nota:

  • Al elegir la opción de inicio de la última configuración válida conocida se obtiene un método de recuperación frente a problemas como, por ejemplo los provocados por un controlador agregado recientemente que no funciona con su hardware. Sin embargo, esto no soluciona los problemas ocasionados por controladores o archivos que faltan o están dañados.
  • Cuando elige la opción de la última configuración válida conocida, solo se restaura la información contenida en la clave del Registro HKLM\System\CurrentControlSet. Cualquier otro cambio realizado en las demás claves del Registro se mantiene.

Quitar software incompatible mediante la Consola de recuperación

Si los pasos anteriores de este artículo no resuelven el problema, quite el software incompatible mediante la Consola de recuperación. Los pasos completos que describen cómo hacerlo quedan fuera del ámbito de este artículo. Sin embargo, puede usar los siguientes artículos como directrices:

816104 Cómo reemplazar un controlador con la Consola de recuperación de Windows Server 2003
326215 Cómo utilizar la consola de recuperación en un equipo basado en Windows Server 2003 que no se inicia
307654 Cómo instalar y utilizar la Consola de recuperación en Windows XP