martes, 21 de abril de 2020

Windows 10 - Falla en el boot - BOOTRES.DLL DAÑADO


ATENCION: SOLO PARA INSTALACIONES REALIZADAS MEDIANTE UEFI Y NO SISTEMAS LEGACY o HEREDADOS.

Me llego una pc con Windows 10 en un loop de reparación de inicio. Sistema GPT.

(Marco en ROJO las letras de unidades que pueden estar diferentes en su sistema)


El log (se puede encontrar en C:\Windows\System32\LogFiles\Srt\SrtTrail.txt), al final dice "El archivo crítico de arranque C:\EFI\Boot\Microsoft\resources\custom\bootres.dll está corrupto"


Esa ubicación no existe como tal. No hay ningún archivo ahí. Lo que hay que hacer, es reparar los archivos de booteo que están en una partición oculta de aproximadamente 100 a 260 mb, formateada en FAT32. (ESTE SISTEMA ERA GPT)


EL SIGUIENTE PROCEDIMIENTO TAMBIEN SIRVE PARA REPARAR EL ERROR 0x0000000e "NO SE ENCUENTRA C:\WINDOWS\SYSTEM32\WINLOAD.EFI", MUY COMUN TAMBIEN AL CLONAR UN DISCO.

Para hacer la reparación, vamos a necesitar un medio booteable con Windows 10. Iniciamos desde ahí, y vamos a la opción "REPARAR EQUIPO"


Buscamos la opción de Consola de Comando:


1.- Tipeamos: diskpart


2.- Luego: list disk 


(aparecerá la lista de discos instalados en la computadora, ahí hay que saber que disco es el que bootea)


3.- Tipeamos: Sel disk 0 

(0 era el disco en mi caso)

4.- Luego: List vol 
(esto mostrara todo el listado de volúmenes dentro del disco)

5.- Luego: Sel vol 4 
(el volumen 4 en mi caso, era de 260mb y FAT32, por lo general la particion EFI. Adentro de esta unidad solo van a encontrar 2 carpetas: EFI y BOOT, pero no las van a ver ya que la unidad no tiene etiqueta, por lo tanto es inaccesible)

6.- Para poder acceder a la unidad le debemos asignar una letra: assign letter=V: 
(V por poner una letra que no este asignada a otra unidad)

7.- Y para terminar: Exit

8.- Para vaciar la unidad: aplicamos el comando de formateo: format V: /FS:FAT32

Ahora la unidad ha quedado vacía, entonces hay que recrear la estructura de directorio EFI

9.- En la consola escribir el siguiente comando:

bcdboot C:\windows /s V: /f UEFI 
(C suponiendo que es donde se encuentra Windows. UEFI si estamos cargando desde UEFI y BIOS si usamos un modo Legacy o Compatible)

10.- Ahora, si podemos salir de la consola y reiniciar.

Con este procedimiento se debería solucionar el problema.

ATENCION: Este método no corrige la partición de arranque de recuperación.

En mi caso, en este paso, la falla cambio. Ahora el sistema inicia, pero  falta un archivo critico: WDBOOT.SYS





Se trata de un archivo de windows defender que se carga al inicio. Lo que hay que hacer es quitarlo en forma manual, como? renombrando el archivo.

El archivo en cuestión se encuentra en "c:\windows\system32\drivers\wd\"


Para renombrarlo de forma facil, accedemos a la consola y ejecutamos "notepad.exe" lo que nos permitirá hacerlo de forma gráfica. Navegamos hasta la carpeta y ponemos en el tipo de archivos "Todos los archivos". Ahora veremos los archivos de la carpeta que son 3:


wdboot.sys

wdfilter.sys
wdnisdrv.sys

Los renombramos a ".sy_" ya con eso el sistema no los encontrara y el windows 10 deberia de iniciar normalmente.


Las distintas soluciones, las encontré en este enlaces:


https://answers.microsoft.com/en-us/windows/forum/windows_10-performance/automatic-repairbootresdll-is-corrupt/582bd0ba-e29f-46b3-b347-2fd73c8556e3


Fue la única forma de corregir el booteo de esta maquina. No funciono ningún otro comando.


Copio tal cual el articulo en ingles:



Hi guys ! Issue fixed !
For those who face the same issue (unable to boot windows 10 with C:\windows\System32\LogFiles\Srt\SrtTrail.txt showing C:\efi\microsoft\boot\resources\custom\bootres.dll is corrupted), here's what I did
First you need to create a bootable USB flash drive to install Windows 10
Insert the flash drive in your PC and reboot from it
Select Repair your computer
Select Troubleshoot
Choose Command Prompt
Type in the command:
Diskpart
Type in the command:
List disk (you have to note which disk is your boot drive number)
Type in the command:
Sel disk 0 (0 is my boot drive number)
Type in the command:
List vol (you have to note which volume is the EFI partition)
Type in the command:
Sel vol 4 (volume 4 is my EFI partition)
Type in the command:
assign letter=V:
Type in the command:
Exit
Now you can format the EFI partition:
format V: /FS:FAT32
After the format you need to recreate the EFI directory structure
Type in the command:
bcdboot C:\windows /s V: /f UEFI (C is your system partition)
Exit the command prompt and reboot the PC
Please let me know if it worked for you
Thanks
Jeff


Yeeeaaahhhhhh !!!
After many hours trying to solve it, I was able to solve it like this:
(My problem was with the WdBoot.sys and WdFilter.sys files, but maybe it works with any other file. The bootres.dll file problem also appeared to me)
1 - After trying to correct the reboot problem, the blue screen that appeared said where the log file was to verify where the error was. In my case the file was: C: \ Windows \ System32 \ Logfiles \ Srt \ SrtTrai.txt
2 - Knowing this, click on "Advanced Options".
3 - I searched for the "Command Prompt" option.
4 - At the "Command Prompt", I typed C: and pressed "enter" to access this drive.
5 - Then, I typed the location where the log file was: C: \ Windows \ System32 \ Logfiles \ Srt \ SrtTrai.txt
6 - Notepad opened with the log file. I clicked "File" and then "Open" only to easily find out where those WdBoot.sys and WdFilter.sys files were and check dates and any other information that I could get just out of curiosity.
7 - Accessing the files folder, I made a test by changing the name of the two files. I put a letter "a" in front "aWdBoot.sys" and "aWdFilter.sys". I right-clicked a white space in the window and went to "Refresh". The files have changed my name as I put it.
8 - After, I closed the notebook and typed "exit" at the command prompt and clicked "Turn Off Computer".
9 - I turned on my computer again and the problem was solved.
It seems silly, but after many hours, it was the only thing that solved it. I hope it solves your problem too.