JBeExJBeEx

Aparecen los mensajes de error Archivo Boot.ini no válido o No se puede iniciar Windows al iniciar el equipo

Aparecen los mensajes de error Archivo Boot.ini no válido o No se puede iniciar Windows al iniciar el equipo

Al encender un equipo con Windows XP, Windows 2000 o Windows Server 2003 pueden aparecer, juntos o por separado, estos dos mensajes, y el sistema no llega a arrancar:

  • Archivo Boot.ini no válido, a menudo seguido de «Iniciando desde C:\Windows\».
  • No se ha iniciado Windows porque el siguiente archivo falta o está dañado: <raíz de Windows>\system32\hal.dll.

Aunque el segundo mensaje hable de hal.dll, casi nunca es ese archivo el que falla: Windows no lo encuentra porque el archivo Boot.ini le está indicando un disco o una partición equivocados. La solución es reconstruir el Boot.ini.

Qué es el archivo Boot.ini

Boot.ini es un pequeño archivo de texto, oculto y de sistema, que está en la raíz de la unidad de arranque (normalmente C:\boot.ini). El cargador de Windows XP, NTLDR, lo lee al encender el equipo para saber en qué disco y en qué partición está instalado Windows y qué opciones mostrar en el menú de inicio. Un Boot.ini típico tiene este aspecto:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

La parte importante es la ruta multi(0)disk(0)rdisk(0)partition(1): rdisk indica el disco físico (empezando por 0) y partition la partición dentro de ese disco (empezando por 1). Si esa ruta no apunta a donde está realmente la carpeta WINDOWS, aparecen los errores anteriores.

Causas habituales

  • El archivo Boot.ini se ha borrado o se ha dañado, por ejemplo tras un apagado brusco o un error de disco.
  • Se ha creado, borrado o redimensionado una partición, o se ha añadido otro disco, y la numeración ha cambiado: Windows sigue en su sitio, pero Boot.ini apunta a la partición equivocada.
  • Se ha editado el archivo a mano o con un programa de arranque múltiple y ha quedado una entrada incorrecta.
  • Una actualización o una instalación en paralelo de otra versión de Windows ha reescrito el archivo.

Solución: reconstruir Boot.ini desde la Consola de recuperación

Necesitas el CD de instalación de Windows XP (o el de la versión que tengas instalada) y la contraseña de la cuenta Administrador, si tiene una.

  1. Configura la BIOS para que el equipo arranque desde la unidad de CD o DVD.
  2. Introduce el CD de Windows XP y reinicia. Cuando aparezca «Presione cualquier tecla para iniciar desde el CD», pulsa una tecla.
  3. En la pantalla de bienvenida del Programa de instalación, pulsa R para abrir la Consola de recuperación.
  4. Si hay varias instalaciones de Windows, escribe el número de la que quieres reparar (normalmente 1) y pulsa Intro.
  5. Escribe la contraseña del Administrador y pulsa Intro. Si no tiene contraseña, pulsa Intro directamente.
  6. Para ver qué contiene ahora el Boot.ini, escribe bootcfg /list y pulsa Intro.
  7. Escribe bootcfg /rebuild y pulsa Intro. El comando busca en los discos las instalaciones de Windows XP, 2000 y NT y te las muestra una a una.
  8. Para cada instalación que quieras recuperar:
    • Cuando pregunte si quieres agregarla a la lista de arranque, responde S (sí).
    • Cuando pida el identificador de carga, escribe el nombre que quieres ver en el menú de inicio, por ejemplo Microsoft Windows XP Professional.
    • Cuando pida las opciones de carga del sistema operativo, escribe /fastdetect.
  9. Escribe fixboot y pulsa Intro; confirma con S. Esto reescribe el sector de arranque de la partición del sistema.
  10. Escribe exit para salir y reiniciar. Retira el CD para que el equipo arranque desde el disco duro.
  11. Si bootcfg /rebuild no encuentra ninguna instalación, el problema no está en Boot.ini: puede que la partición esté dañada o que la carpeta de Windows haya desaparecido. En ese caso conviene ejecutar chkdsk C: /r desde la misma consola antes de seguir.

Alternativa: corregir Boot.ini a mano

Si sabes en qué disco y partición está Windows, también puedes corregir el archivo desde otro sistema, por ejemplo conectando el disco a otro equipo o arrancando con un sistema en vivo:

  1. Abre la raíz de la unidad de arranque y muestra los archivos ocultos y protegidos del sistema.
  2. Haz una copia de boot.ini antes de tocarlo.
  3. Quítale el atributo de solo lectura, ábrelo con el Bloc de notas y ajusta los valores de rdisk() y partition() en las líneas default= y en la de [operating systems], tomando como modelo el ejemplo de arriba.
  4. Guarda el archivo y vuelve a dejarlo como de solo lectura.

¿Y en Windows 7, 10 u 11?

Desde Windows Vista, Windows ya no usa Boot.ini ni NTLDR: el arranque lo gestiona BOOTMGR con un almacén de configuración llamado BCD. Si en un sistema moderno ves errores como «BOOTMGR is missing» o «El archivo \Boot\BCD falta o contiene errores», la reparación se hace desde el Entorno de recuperación de Windows, abriendo el Símbolo del sistema y usando bootrec /rebuildbcd, no con bootcfg.