03 febrero, 2014

Recuperación de arranque en Windows 7 [BCD Rebuild, BOOTMGR, BOOT, NTLDR]

Hoy comentaré algunas de las formas formas más eficaces de poder recuperar una secuencia de inicio y carga de arranque corrupto o dañado de Windows 7.
Es decir cuando se nos presentan fallos por estar corruptos algunos ficheros de arranque ya sean, MBR, NTLDR, Bootmgr, etc... al encender nuestro PC nos encontraremos con mensajes del tipo: BOOTMGR is missing..., Falta NTLDR o mensajes similares.
Tanto NTLDR (para Windows XP) como BOOTMGR (para Windows Vista en adelante) son gestores de inicio o cargadores de sistemas Windows.

Para intentar solucionar este problema:

[1] - Podremos usar la forma sencilla y automática de Windows 7 que sería: Iniciar el DVDLive de instalación de Windows 7, una vez se nos arranque y se nos muestre la primera ventana del asistente de instalación le daríamos en la opción "Reparar equipo" (situada generalmente en la parte inferior-izquierda). Y a partir de ahí, usar la opción de "Reparación de inicio".
Esta opción nos solucionará principalmente fallos cuando se daña el fichero NTLDR (NTLoaDeR).

Otra opción sería hacerlo de forma manual y que restaurar los propios ficheros en cuestión corruptos cogiendo una copia del DVDLive de instalación de Windows 7 un Windows PE (Entorno de preinstalación).

Ahora explicaré varias posibles soluciones, aunque esto depende también de cada caso que tengamos.

[2.1] - En un Windows RE (Entorno de recuperación), ejecutamos el comando diskpart (Administrador de discos en Windows "diskmgr.msc").
Tendremos que seleccionar el disco en el que tenemos nuestro arranque de OS de Windows 7, esto dependerá de cada uno y de las particiones y/o discos que se tengas instalados en el equipo, pondré un ejemplo típico y común, (cuyo caso sería un solo disco duro y una sola partición).

En esta zona por defecto en un mismo disco en estos casos las letras asignadas a cada partición o unidad suelen distribuirse de la siguiente forma:
X: Unidad creada para el sistema de restauración de imágenes de lo anterior seleccionado, esta contienen principalmente los binarios que lanzan los asistentes para la restauración del sistema así como otros para las reparaciones automáticas de arranque que nos ofrece Microsoft en un WindowsRE, entre otras tareas.
C: La partición "reservada para el sistema" de unos aprox. 100/200 MB, la cual contiene el boot de arranque y otros ficheros relacionados.
D: La partición donde está instalado Windows y los datos, esta es la que estaría montada como C:\ cuando corremos un sistema operativo Windows.
E: Unidad asignada al DVD o USB de instalación de Windows (Windows PE y Windows RE).

Bootrec será la utilidad principal para poder restablecer el arranque de Windows. Tiene varios modificadores de los cuales son (según su ayuda):
/fixmbr: Escribe el registro de arranque maestro de la partición del sistema con el registro de arranque maestro compatible con Windows 7. Esta operación no sobrescribe la tabla de particiones existente.
/fixboot: Escribe un nuevo sector de arranque en la partición del sistema con el sector de arranque comptible con Windows 7.
/rebuildbcd y /scanos: Examina todos los discos en busca de instalaciones compatibles con Windows 7 permite al usuario elegir la que desee agregar al almacén de configuración de arranque.

En que partición se tienen que realizar las acciones para recuperar el arranque de Windows?.
Lógicamente en la partición en la que tengamos dichos ficheros dañados, que obviamente será la partición reservada por el sistema operativo para su arranque, en este caso (y por defecto como ya se mencionó anteriormente) C:.
c:
diskpart
list disk
select disk=0
list partition
select partition=1
active
exit
Con esto listamos, seleccionamos el disco donde se albergue Windows 7, listamos las particiones y seleccionamos la partición donde esté instalada Windows7, la marcamos como activa y salimos.
A continuación, ejecutamos la siguiente secuencia de comandos:
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
exit
Esto nos reparará el MBR (Master Boot Record), la secuencia de inicio BOOT y nos reconstruirá la base de datos de arranque BCD (Boot Configuration Data).
Reiniciamos y probamos si con esto conseguimos solucionar el problema de arranque y Windows nos arranque correctamente.

[2.2] - Si el error persiste y no se hubiese solucionado nuestro problema habría que reconstruir de nuevo el BCD pero de otra forma, hacerlo "desde cero" sin que sobrescriba ningún fichero ya existente.
Para ello, en la consola de recuperación escribimos:
bcdedit /export c:\bcd_backup
c:
cd boot
attrib bcd -s -h -r
ren c:\boot\bcd bcd.xxx
bootrec /rebuildbcd
bootrec /fixmbr
bootrec /fixboot
exit
Con esto lo que haremos es hacer un respaldo de la base de datos boot exportándola a C:. Después simplemente entramos en la carpeta "Boot" que está situada en la raíz del sistema y borramos los atributos (de archivo del Sistema, Oculto y Solo lectura) del fichero bcd en cuestión.
Por último reconstruimos de nuevo la BCD, en este caso desde cero sin que tome referencia de ninguna otra y reparamos el MBR y el BOOT como los pasos anteriores y reiniciamos a ver si ya se corrigió el problema de arranque.

[2.3] - Si seguimos sin poder repararlo tendríamos que sobrescribir el fichero BOOTMGR (situado en el raiz del sistema, C:) .

Situados en la consola de recuperación, buscaremos y entraremos a la letra de unidad asignada a la lectora DVD o la unidad asignada al dispositivo donde tengamos la instalación de Windows 7. En mi caso, fue la la letra E: pero podría a ver sido otra, es cuestión de ir probando en un orden alfabético (D:, E:, F:, G:, H:, etc.).
e:
copy bootmgr c:\
c:
attrib bootmgr +s +h +r
bootrec /rebuildbcd
bootrec /fixmbr
bootrec /fixboot
exit
Como vemos, copiamos el bootmgr del DVD (en este caso) al disco raíz, nos vamos a nuestro disco raíz (por defecto C:) y establecemos los atributos (de archivo de Sistema, Oculto y Solo lectura) al fichero bootmgr que copiáramos anteriormente.
Ahora bien, en el momento de reconstruir la base de datos de arranque de nuevo si no nos detecta el OS, deberemos hacer lo del paso 2.1, seleccionar la partición correcta y marcarla como activa. Después de eso ya podremos reconstruir sin problemas la BCD y seguir con la reparación de fixmbr y fixboot.

Ahora salimos de la consola y reiniciamos y con estos todos casos anteriores y planteados en este artículo deberíamos solucionar gran parte de errores relacionados con fallos de arranque o carga de un sistema operativo Windows 7.

NOTA: En el caso de que nos pida otro fichero de arranque el cual, se me pudo olvidar reflejar en este post y sabemos que lo tenemos en el DVD de instalación de Windows 7, sería el mismo procedimiento que el último paso 2.3. Es decir coger ese fichero copiarlo y pegarlo en su ubicación original del disco raíz, reconstruir la base de datos de arranque (BDC) y reparar el MBR y el BOOT.

Saludos!

37 comentarios:

  1. Siempre me manda un error de BCD... Le tengo mucha fé al paso 2.3 , pero al copiar el bootmgr me manda acceso denegado... que debo hacer?

    ResponderEliminar
  2. Hola @IvoMuñoz, eso es por tema de permisos pero desde WindowsRE ya accedes con un usuario administrador de sistema con altos privilegios, nunca me pasó eso desde este tipo de entornos...

    En la misma consola prueba a poner "net user" a ver que usuarios tienes disponibles??

    ResponderEliminar
    Respuestas
    1. Ya puse como super administrador pero me sigue diciendo permiso denegado que puedo hacer en ese aspecto

      Eliminar
  3. Luego de navegar y probar con los pasos que brindaron logre superar mi percance gracias por el gran apporte

    ResponderEliminar
  4. Me alegro que te fuese de utilidad @cristian. }:-)

    ResponderEliminar
  5. Hermano me salvaste la vida eres el mejor a partir del 2do paso me funciono

    ResponderEliminar
  6. Al hacer click en reparar equipo, no pasa nada. Se queda solo el puntero del mouse en pantalla. De este modo no puedo acceder a la consola de recuperación ni a las otras opciones.
    Así mismo, intento entrar al submenu de Windows apretando F8 antes del booteo y tampoco me deja hacer nada, directamente me arroja el error file boot bcd. Alguna idea?

    ResponderEliminar
  7. Hola @Cesar justiniano,
    Introduce el cd de arranque de Windows, entra en la command promt de recuperación y prueba con: Bootrec /rebuildbcd

    Igualmente lee completamente la entrada del blog esta parte la incluyo en la entrada.

    Saludos.

    ResponderEliminar
  8. Muchas gracias! Me ayudaste a sacar un pendiente.

    ResponderEliminar
  9. Yo no puedo ingresar con el DVD no me lo toma, cuando pongo reparar vuelve a lo mismo y da 2 opcciones reparar o iniciar windows, pero vuelve.
    Estaba pensando sacar el disco rigido y conectarlo en otra pc y hacerle un chkdsk y si no funciona reemplazar los archivos de inicio, pero no se como se hace ese paso.

    ResponderEliminar
  10. @Cachin,
    - Primero de nada que tipo de error te aparece para no poder iniciar Windows con normalidad?.

    - Si el LiveDVD de Windows no te inicia, es por que desde la BIOS no se está booteando, a parte de verificar que está en primera posición verifica que "los medios extraibles/desmontables estén habilitados".

    - El chkdsk en estos problemas no solucionará nada.
    - Los pasos para restablecer el arranque de inicio los tienes en post.

    Saludos.

    ResponderEliminar
  11. Ya esta habilitado para que arranque del dvd...lo configure en la bios, esta como primero y el error que aparece es error 0×0000000000e dice que se alterando o corrumpieron archivos del arranque de windows.

    ResponderEliminar
  12. @Cachin, tratándose de ese tipo de error, en ese caso puede ser de utilidad chkdsk como ya dijiste.
    Prueba a iniciar Windows a modo a prueba de fallos (f8).
    Saludos.

    ResponderEliminar
  13. Ya eh probado todas las opciones y no unía en ningún modo, vuelve a la opción de reparar e iniciar Windows! Y no hay caso.

    ResponderEliminar
  14. Thanks, this info is saved my hdd.

    ResponderEliminar
  15. Saludos Adrian. Tengo una duda amigo. Al entrar en simbolo de sistema en Windows RE, las letras asignadas a las unidades son las siguientes: X=Unidad con el dvd de Windows, C=La partición de 100 Mb que se crea en el HDD al instalar Windows y D= La partición donde está instalado Windows. Para efectos de este post, ¿como quedaría la ejecución de los comandos en los pasos 2.1, 2.2 y 2.3 según esta asignación de letras. Gracias de antemano por tu aporte.

    ResponderEliminar
  16. Buenas Eduardo,

    Gracias y buen apunte que haces sobre las letras de asignación en estos entornos (WinPE y WinRE). Actualizo el artículo con eso para completarlo aún más en detalle.

    Y al tratarte del escenario que describes (que casualmente es el mismo que el que está en el artículo), se trataría de la letra C:, ya que es donde están los ficheros de arranque del sistema.

    Saludos!

    ResponderEliminar
  17. Hola, si quiero hacer boot desde una usb cómo sería el comando en vez de "bcdedit /export c:\bcd_backup
    c:
    cd boot
    attrib bcd -s -h -r
    ren c:\boot\bcd bcd.xxx
    bootrec /rebuildbcd
    bootrec /fixmbr
    bootrec /fixboot
    exit"

    ResponderEliminar
  18. Hola Fabian, no entiendo a lo que te refieres, concrétame un poco más.
    Saludos.

    ResponderEliminar
  19. Muchas Gracias , me soluciono mi problema. Felicidades por ayudar a personas como yo.

    ResponderEliminar
  20. Amigo Adrian Lois... trato de hacer lo que publicas en el post pero me pasa es lo siguiente no puedo acceder a CMD es decir no tengo accesos a los comandos y cuando trato de bootear cds o unidades usb simplemente llega hasta cierto punto y se reinicia, hace los ciclos repetitivos... saludos

    ResponderEliminar
  21. podria colocar mi disco duro en otra pc como esclavo y podria utilizar los comandos???

    ResponderEliminar
  22. Hola @Johan Diaz, quizás tu problema venga por otro causa, fallo del livedvd que usas?, fallo hardware del equipo? probaste a bootear otro sistema operativo o similar? pueda que el fallo venga de más atrás.

    Un saludo.

    ResponderEliminar
  23. en el 2.1 en ninguna de las particiones cuando pongo active me pone que no son mbr

    ResponderEliminar
  24. Hola esto aplicaría cuando, por daño en la mother tengo que cambiar de mother y procesador y requiero salvar y recargar sesiones, programas, etc?. Ya que intento los pasos 2.2 y solo he conseguido que reinicie y muestre el menu de reinicio a prueba de fallos etc. Y se reinicia.

    ResponderEliminar
  25. ¡Me funciono de maravillas esto, millon de gracias!!!!!!!

    ResponderEliminar
  26. En el paso 2.3 sale acceso denegado,que hago?

    ResponderEliminar
  27. Lee el primer comentario de este artículo.
    Saludos!

    ResponderEliminar
  28. Por mucho que hago no encuentra la instalación de windows, ni cuando arrancas y antes de darle a consola, te salta el aviso de las instalaciones hechas, no sale ningúna.

    ResponderEliminar
  29. Chicos yo puedo ayudarlos solo diganme su problema y respondo en menos de 10min, incluso doy mi numero temporal para resolver dudas, tenia este problema de que me daba acceso denegado y lo resolví solo borrando el archivo en :c y el otro problema era archivo no encontrado en BCD y le cambie el nombre del BCD.old al BCD y listo, escriban por acá o al nro y explico como.

    ResponderEliminar
    Respuestas
    1. Como resolviste lo de acceso denegado?

      Eliminar
  30. kelvin comenta las dos formas de poder solucionar.

    ResponderEliminar
  31. Funciona perfectamente Gracias

    ResponderEliminar
  32. Gracias amigo, funcionó con el paso 2.3

    ResponderEliminar
  33. Gran documento, resuelto con el paso 2.2, el equipo arrancaba con pantalla en negro y sin posibilidad de F8, Muchas gracias.

    ResponderEliminar
  34. amigo perfecto todo pero hay un cosa, es una laptop hp pavilion cuando busco los volumenes en diskpart list volume todas las particiones incluyendo la reservada para el sistema aparece en formato raw y no me deja hacer nada.. si saco el disco con un adaptador sata usb si los reconoce perfecto use otro disco duro dentro de la laptop y funciono q puedo hacer para que me reconozco el disco duro sin formatear en el formato ntfs gracias...

    ResponderEliminar
    Respuestas
    1. Si tienes acceso al disco duro en formato RAW aunque sea desde un medio extríble, haz una clonación de disco a una imagen ya sea usando alguna distro linux con dd o con clonezilla por ejemplo. O sencillamente copiando y pegando la información que quieras en otro medio de almacenamiento.

      Después formatea ese disco en NTFS.

      No hay ninguna posibilidad (que yo conozca...) de cambiar el sistema de ficheros de RAW a NTFS sin antes formatear y por ende borrar la información.

      Saludos!

      Eliminar

Entradas Relacionadas