JBeExJBeEx

0x00000079 : MISMATCHED_HAL

0x00000079 : MISMATCHED_HAL

El error 0x00000079 con nombre MISMATCHED_HAL indica que el nivel de revisión o la configuración de la capa de abstracción de hardware (HAL) no coincide con la del kernel o con el equipo.

Microsoft documenta que tiene valor 0x00000079, detalla los tipos de desajuste en el parámetro 1 y explica que suele aparecer cuando se actualiza manualmente Ntoskrnl.exe o Hal.dll, cuando uno de esos dos archivos está desactualizado, o cuando hay una HAL multiprocesador instalada con un kernel monoprocesador o viceversa.

¿Qué significa el error 0x00000079?

Piensa en un traductor y un manual que deben hablar el mismo idioma y la misma edición. La HAL es el traductor entre Windows y tu hardware, y el kernel es el manual principal. Si pones el traductor de la edición 2 con el manual de la edición 1, las páginas no cuadran. Windows detecta esa discordancia muy pronto en el arranque y se detiene con MISMATCHED_HAL para evitar daños.

El parámetro 1 indica el tipo de desajuste:

  • Parámetro 1 = 0x1: los niveles PRCB no coinciden. Parámetro 2 es el nivel PRCB mayor de Ntoskrnl.exe y parámetro 3 el de Hal.dll. Causa: niveles de versión PRCB no coincidentes, algo está desactualizado.
  • Parámetro 1 = 0x2: los tipos de compilación no coinciden. Parámetro 2 es el tipo de compilación de Ntoskrnl.exe y parámetro 3 el de Hal.dll. Códigos de tipo: 0 multiprocesador free, 1 multiprocesador checked, 2 monoprocesador free, 3 monoprocesador checked.
  • Parámetro 1 = 0x3: las versiones del cargador y la HAL no coinciden. Parámetro 2 es el tamaño de la extensión de parámetros del cargador, parámetro 3 la versión mayor y parámetro 4 la versión menor.

Causas del error MISMATCHED_HAL

  • Actualización manual de Ntoskrnl.exe o Hal.dll: copiar a mano uno de esos dos archivos desde otro equipo o desde un medio distinto deja la pareja desincronizada.
  • Archivo del núcleo o HAL desactualizado: uno de los dos archivos se ha quedado en una versión anterior tras una reparación parcial o una restauración incompleta.
  • HAL multiprocesador con kernel monoprocesador o viceversa: instalación de una HAL incorrecta para la configuración real de procesadores del equipo, algo habitual en medios de instalación antiguos donde existían varias HAL.
  • Reparación desde medio de instalación incorrecto: en versiones antiguas de Windows existían varias HAL en el medio. Copiar Hal.dll o el kernel desde una edición que no corresponde reproduce el desajuste.

Cómo solucionar el error 0x00000079

1. Accede a WinRE y comprueba qué se modificó

Entra en el Entorno de Recuperación siguiendo la guía de WinRE con Mayús + Reiniciar y Solucionar problemas > Opciones avanzadas > Símbolo del sistema. Ejecuta dir para localizar la unidad de Windows y dir C:\Windows\System32\hal.dll y dir C:\Windows\System32\ntoskrnl.exe para ver fechas y tamaños recientes.

2. Restaura la HAL y el kernel correctos

En Windows XP y anteriores, se restauraban copiando Hal.dll y Ntoskrnl.exe desde el CD de instalación con la Consola de recuperación. En Windows 10 y 11 no se hace a mano: deja que sfc y DISM restauren ambos archivos juntos, como se explica en el paso siguiente.

3. Repara la imagen de Windows con SFC y DISM

En Windows 10/11 la forma soportada de devolver la pareja HAL/kernel a un estado coherente es reparar el almacén de componentes. Si Windows arranca en Modo seguro, ejecuta sfc /scannow y después DISM /Online /Cleanup-Image /RestoreHealth. Si solo puedes usar WinRE, ejecuta sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows, comprobando antes con dir la letra de la unidad.

4. Deshaz cambios de hardware y de configuración de arranque

Si el error apareció tras añadir un procesador, cambiar placa base o modificar opciones de arranque, vuelve a la configuración anterior en BIOS/UEFI y deja solo el hardware mínimo. En Windows actuales hay una única HAL y no se elige manualmente, así que este paso solo es relevante en sistemas antiguos.

5. Analiza el volcado y verifica el tipo de compilación

Si tienes un minivolcado en C:\Windows\Minidump, ábrelo con BlueScreenView. Revisa el parámetro 1: si es 0x1 o 0x2, compara los valores de los parámetros 2 y 3 para saber si es un desajuste de nivel PRCB o de tipo de compilación free/checked y monoprocesador/multiprocesador.

Preguntas frecuentes

¿Puede aparecer MISMATCHED_HAL en Windows 10 u 11?

En Windows 10/11 es prácticamente imposible en condiciones normales porque hay una única HAL moderna. Solo aparece si se han reemplazado manualmente Hal.dll o Ntoskrnl.exe con archivos de otra versión, edición o tipo de compilación.

¿Basta con copiar Hal.dll de otro equipo?

No. Copiar solo Hal.dll sin su Ntoskrnl.exe correspondiente es precisamente lo que provoca el error. Debes restaurar ambos desde un medio de la misma versión o dejar que sfc /scannow y DISM los restituyan juntos.

Resumen

MISMATCHED_HAL indica que la HAL y el kernel no coinciden en nivel PRCB, tipo de compilación o versión del cargador. La causa documentada es la actualización manual o el desfase de Ntoskrnl.exe y Hal.dll, incluido el cruce de HAL multiprocesador con kernel monoprocesador. La solución es restaurar ambos archivos desde un medio coincidente y reparar la imagen con sfc y DISM desde WinRE.

¿Experimentas otros errores de pantalla azul? Consulta la lista completa de códigos BSOD de Windows y sus soluciones.