Inyectar driver a una instalación de Windows
Puede darse el caso de que un equipo con una instalación de Windows funcionando tenga una falla de hardware, por ejemplo en su placa base, y sea necesario cambiar toda la maquina por una nueva. Me pasó no hace mucho que un servidor con Windows Server 2012 se le quemó la controladora de discos y la copia de seguridad del sistema era demasiado antigua y no era viable su restauración y hubo que comprar un nuevo servidor.
Al arrancar el nuevo servidor los discos de sistema, Windows daba un pantallazo azul y se reiniciaba nada más comenzar a cargar dando un fallo de INACCESIBLE BOOT DEVICE, es decir, que el sistema de arranque no ha podido acceder a la partición del sistema durante de inicio.
Esto ocurre porque la instalación de Windows no tiene los drivers necesarios para leer el disco duro, tiene unos drivers instalados que funcionaban para el antiguo servidor pero como la nueva placa tiene una controladora diferente
y el cargador de Windows es incapaz de detectar las particiones del disco o directamente todo el disco duro.
Para ponernos manos a la obra necesitaremos antes de nada copiarnos los archivos .inf, es decir, los drivers de la controladora en algún pendrive y iniciar una instalación del sistema operativo que queramos reparar, podemos hacerlo mediante el CD de instalación o algún pendrive donde hayamos montado la ISO de instalación del Windows. Usaremos la opción "Reparar", luego "TroubleShoot", "Opciones avanzadas" y por último "Command prompt" o "Símbolo del sistema".
Una vez dentro de la consola de comandos tendremos que buscar las unidades donde nos ha montado el pendrive con los drivers de la controladora. para ello utilizaremos el comando "wmic logicaldisk get caption" y localizaremos el pendrive y el driver que debemos instalar.
Pues bien, la herramienta con la que instalaremos los drivers es "drvload" y su uso es tan sencillo como llamar al comando y darle la ubicación del .INF. por ejemplo, si nuestro driver lo hemos copiado en la carpeta "Driver" y nos ha montado el pendrive en la unidad F, el comando sería el siguiente:
drvload f:\Driver\ioAHCI.inf
En la web de Microsoft podemos ver todas las sintaxis y líneas de comandos de esta herramienta: https://docs.microsoft.com/es-es/windows-hardware/manufacture/desktop/drvload-command-line-options?view=windows-11
Si todo va bien y los drivers son los correctos, deberíamos ver que hay actividad en el disco/discos. Si volvemos a ejecutar el comando "wmic logicaldisk get caption" posiblemente nos monte la lectar de unidad de las particiones del disco y sean ya accesibles desde la misma consola. Ahora nos tocaría inyectar esos drivers que hemos instalado en la imágen/instalación de Windows y utilizaremos la herramienta DISM de la siguiente manera. Suponiendo que la partición donde está instalado Windows sea la unidad C:, entonces el comando sería el siguiente:
dism /image:c:\ /add-driver /driver:f:\Driver\ioAHCI.inf
Así de esta manera conseguiremos "inyectar" o instalar los drivers necesarios para el acceso al disco y sus particiones a la imágen de Windows instalada para que la próxima vez que iniciemos el sistema pueda leer el disco duro o los discos si se trata de un RAID con varios discos.