Reparar falta hal.dll en Windows 7, 8 u 8.1

hal.dll

Cuando el archivo hal.dll falta o está dañado Windows no puede arrancar ni tú entrar en él. Es un elemento fundamental para que consiga iniciarse el sistema operativo. En esos casos se produce un error con un mensaje del estilo de estos:

  • No se ha iniciado Windows porque el siguiente archivo falta o está dañado:

    <windows root>\system32\hal.dll.

    Reinstale una copia del archivo mencionado.
  • Windows could not start because the following file is missing or corrupt:
<windows root>\system32\hal.dll.

Please re-install a copy of the above file.
 

Este error puede ocurrir en varias versiones de Windows. Las soluciones son distintas dependiendo del caso. Pincha aquí para reparar el hal.dll en Windows XP. O sigue leyendo si el fallo se ha producido en un Windows más moderno...

Corregir el error en Windows 7, Windows 8 u 8.1

Quizá se te haya ocurrido buscar en Internet la DLL que falla y sustituirla por la tuya. NO lo hagas. Aquí puedes ver razones por los que NO debes descargar archivos DLL de Internet. Las soluciones más eficaces y seguras son las que voy a explicar ahora. Pruébalas en el orden en que están.

1) Lo primero de todo
Si necesitas los archivos de tu disco o te preocupa perderlos intenta recuperar tus datos del disco duro antes de nada. Quedarán ya a salvo.

2) ¿Windows está arrancando de donde debe?

Hay dos casos normales...

  • Cuando estás intentando arrancar desde el disco duro: 
    Verifica que no tienes ningún CD en el lector de CD/DVD. También que no haya pendrives o discos USB conectados. Luego reinicia el PC. Si así se soluciona el error lo mejor es configurar la secuencia de arranque de tu equipo para que se inicie primero desde el disco duro donde está instalado Windows. Y NO desde otras unidades como el CD o los USB.
    • Si quieres iniciar Windows desde CD o USB: 
      Tu PC debe estar bien configurado para arrancar desde CD o USB. Ve cómo hacerlo en ese enlace. Después reinicia.

      Si el error continúa hay varias posibilidades. Una habitual es que hayas grabado mal Windows en esas unidades. Pincha para ver para cómo crear un CD/USB de arranque de Windows del modo mejor y más fácil. Otras posibilidades aparte son que el CD/USB esté dañado (tendrías que probar con otros), o que el Windows que has grabado en ellos no esté bien (tendrías que conseguir otro).

      3) Actualiza el código de arranque

      Una causa habitual de este error es que se haya cambiado el que deben tener estos Windows. Entre las razones están "limpiadores" del PC, virus o programas que de algún modo modifican archivos del sistema. También que queden restos de una instalación de XP anterior. Sigue este enlace para actualizar el código de arranque a BOOTMGR. En general resuelve esos y otros casos.

      4) Detecta y repara archivos de Windows dañados

      La forma más cómoda es usar la herramienta de Windows Sfc /scannow. En la página a que lleva ese enlace sigue los pasos para el que caso de que Windows no funcione. Están al final.

      5)  Haz una reparación automática de Windows

      La también llamada reparación de inicio cuesta un poco más que la anterior, sobre todo en Windows 7. Pero puede ser la solución si Sfc /scannow no ha conseguido reparar los archivos de Windows. Pincha en el enlace que corresponda según tu versión:

      NOTA:
      En esos enlaces explico otros modos de reparación de Windows aparte de la reparación de inicio. Por ahora limítate a esa. Si tampoco te funciona vuelve y prueba la solución siguiente.

      6) Chequea la memoria RAM

      A veces el error de hal.dll no se debe a un problema de ese archivo en sí. Es un síntoma de un problema con la RAM del PC. Sigue el enlace para testear la memoria de tu equipo.

      7) Repara partes dañadas del disco duro

      Puede resolver el error si se debe a que el disco está dañado de un modo "arreglable". Usa chkdsk para reparar tu disco duro de forma automática y detectar partes defectuosas que pueda haber en él (sigue las instrucciones para cuando Windows no funciona, que es tu caso).

      8) Comprueba que el PC no tenga virus

      Crea un USB de rescate con el que limpiarlos. No importa que no tengas antes un antivirus instalado. Se instalará uno en el USB. Con él se detectan y quitan posibles virus de tu equipo.

      9) Devuelve la BIOS a su configuración por defecto

      Haz esto:

      1. Entra en la BIOS.
      1. La opción para restaurar sus valores predeterminados suele estar en la categoría Exit de la BIOS Setup. Dentro de ella en general habrá una opción con un nombre similar a Load Setup Defaults o Load Fail-Safe Defaults (ten en cuenta que quizá el nombre sea distinto o la opción esté en otra parte de la BIOS).
      2. Sal de la BIOS guardando los cambios. Apaga el PC del todo. Después vuelve a encenderlo.

      10) Chequea las conexiones del disco duro

      No es habitual que este error se deba a cables mal conectados o dañados. Pero tampoco es imposible y vale la pena hacer la prueba.

      1. Averigua el fabricante y modelo de tu placa.
      2. Luego busca en Google el sitio web oficial del fabricante de tu placa y descarga su manual de instrucciones para tu modelo.
      3. El manual explica cómo conectar el disco duro a la placa. Hay dos tipos de cables que verificar. Por un lado el de datos, que conecta el disco a la placa propiamente dicha. Por otro lado el cable de corriente que la conecta a la fuente de alimentación o de poder. Ambos deben estar bien conectados. Si lo están puede que alguno de esos cables se haya estropeado. Prueba con otros si es posible.​

      11) Reinstala Windows de cero (o casi)

      Para prevenir que pierdas tus cosas conviene que ANTES intentes recuperar tus archivos siguiendo los pasos de ese enlace. Haz la instalación limpia o personalizada sólo después. Pincha donde corresponda:

      12) Repara o cambia el disco duro o el hardware

      Llegado a este punto lo más probable es que tu PC tenga un problema físico con el disco duro u otro hardware. Llévalo a un centro de reparación. No debe ser fácil repararlo por ti mismo si nada de lo anterior ha funcionado.