Inyectar controladores a una imagen offline de Windows 8.1 utilizando DISM

Hace un tiempo, por petición de alguien que me había escrito, creé un artículo donde mostraba paso a paso cómo podíamos generar una imagen de Windows 8.1, integrando la cantidad de actualizaciones deseadas; hoy, gracias a que me he dado cuenta de lo valioso que puede ser en casos de solución de problemas, mostraré cómo pueden hacer lo mismo, pero esta vez inyectando controladores específicos a una imagen para que estén disponibles una vez instalado Windows, si el hardware tiene el dispositivo necesario.

Requerimientos

1. Claramente, necesitamos los archivos de instalación de Windows 8.1, o por lo menos la imagen .WIM, para cuando se vaya a utilizar alguna solución como MDT.

2. Los archivos de instalación para el respectivo controlador; no el ejecutable (.exe), sino lo que utiliza ese ejecutable, es decir, el archivo .INF y .SYS.

*Nota: Microsoft tiene disponible una web en donde se pueden descargar todos los controladores que uno encuentra en Windows Update:
http://catalog.update.microsoft.com/v7/site/Home.aspx

3. Tener instalado el ADK para Windows 8.1 Update. El paquete de instalación lo pueden descargar desde el sitio oficial de Microsoft:
http://www.microsoft.com/en-us/download/details.aspx?id=39982

4. Crear las siguientes 4 carpetas en C:

C:81

C:Mount

C:Drivers

*Nota: Los nombres no son obligatorios, pero yo utilizaré estos durante el resto del post.

Copiando archivos de instalación

Si tenemos un medio .ISO o DVD con los archivos de instalación, es necesario copiar todo el contenido a la carpeta 81, para esto, hacemos clic derecho sobre el botón de Inicio, seleccionamos Símbolo del sistema (Administrador) y allí ejecutamos:

xcopy <UnidadWin>:*.* /s/e/f C:81

Donde <UnidadWin> corresponde a la letra asignada por Windows para nuestro medio después de montarlo o insertarlo; para mi caso, teniendo la letra H, el comando sería:

xcopy H:*.* /s/e/f C:81

image

El proceso tardará unos minutos.

Preparando controladores

Como mencioné en los requerimientos y por lógica, es necesario tener los archivos de instalación para los controladores, pero no pueden ser extensiones de ejecutables, sólo .INF.

Si conocen específcamente lo que están buscando, la página del catálogo de Windows Update es un lugar ideal, pues me descarga un .cab que luego se puede descomprimir. Desde la página de cada fabricante también se pueden bajar, para luego buscar manualmente los archivos de instalación cuando se descompriman, trabajo que es un poco más complejo.

En mi caso, utilizaré dos controladores bajados del catálogo; uno de Wireless y otro de la tarjeta gráfica:

image

Repito, lo importante es tener el archivo .INF, acompañado del .sys.

Si descargaron desde el catálogo de Windows Update:

Al descargar desde el catálogo como dije, sea baja un .cab dentro de una carpeta:

image

Para descomprimir, hacemos lo siguiente:

1. Renombramos el archivo a algo sencillo, por ejemplo: drv1.sys

image

2. Copiamos el .cab a la unidad raíz de Windows (C:).

3. Abrimos un símbolo del sistema con privilegios elevados y ejecutamos:

expand C:drv1.cab –F:* C:Drivers

image

Hacemos esto con cada nuevo controlador, cambiando por supuesto el nombre del .cab.

4. Verificamos que los archivos de instalación hayan quedado:

image

*Nota: Es normal que aparezcan muchos otros archivos o incluso .inf, pero siempre habrá uno principal, acompañado por su .sys. El de NVIDIA, por ejemplo, es el de nv_dispwu.inf:

image

Cuando tengamos los archivos listos dentro de la carpeta C:Drives, podemos proceder a montar la imagen para inyectarlos.

Paso 1: Montar la imagen

En el equipo técnico donde se instaló el ADK y copiamos la imagen, digitamos en la pantalla de inicio: Deployment and Imaging Tools Environment, clic derecho y Ejecutar como administrador:

image

En la consola, procedemos a montar nuestra imagen, en este caso de Windows 8.1 PRO:

Dism /Mount-Image /ImageFile:C:81sourcesinstall.wim /Index:1 /MountDir:C:Mount

image

Paso 2: Inyectar los controladores

Desde la misma consola del Deployment and Imaging Tools Environment, procedemos a inyectar los controladores a la imagen que está montada; puede ser uno a la vez o todos los que haya en una misma carpeta. Pasaré a mostrar ambas opciones, para que el artículo sea más completo:

Para un solo controlador:

Si queremos inyectar un solo controlador, por ejemplo, en mi caso con el de Wireless, ejecutamos:

Dism /Image:C:Mount /Add-Driver /Driver:C:Driversathwbx.inf

image

El resultado nos debe dar como: The driver package was successfully installed.

*Nota: Después del parámetro de /Driver, es básicamente indicar dónde está nuestro .inf, así que variará para cada uno de ustedes el nombre del archivo.

Para instalar múltiples controladores:

Si lo que deseamos es inyectar todos los controladores disponibles en una carpeta, debemos ejecutar:

Dism /Image:C:Mount /Add-Driver /Driver:C:Drivers /Recurse

image

Como ven, DISM es lo suficientemente inteligente para detectar todos los controladores que hayan y de ser posible, realizar la instalación.

Siempre podremos verificar que se hayan instalado ejecutando:

Dism /Image:C:Mount /Get-Drivers

image

Paso 3: Guardar y desmontar la imagen

Cuando terminemos de inyectar los controladores y estemos satisfechos, procedemos a ejecutar:

Dism /Unmount-Image /MountDir:C:Mount /Commit

image

Paso 4: Creando la imagen .ISO

Por último, es necesario volver a generar la imagen .ISO de instalación, si es que deseamos utilizar algún medio porque para una USB el proceso es diferente.

Para la ISO, desde la misma consola del Deployment and Imaging Tools Environment, ejecutamos:

oscdimg –bootdata:2#p0,e,bC:81bootEtfsboot.com#pEF,e,bC:81efimicrosoftbootEfisys.bin –u1 –udfver102 C:81 C:Win81_plus_drivers.iso

image

*Nota 1: Se ejcuta todo en una sola línea.

*Nota 2: El comando permite que la imagen se pueda intalar en un equipo que esté basado en BIOS o en UEFI.

¡Todo listo! Basta con proceder a instalar Windows y el controlador se implementará también.

Espero sea de utilidad.

Saludos.

Checho

Una respuesta a “Inyectar controladores a una imagen offline de Windows 8.1 utilizando DISM”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *