Inicias el instalador de Windows. Haces clic en “Instalar ahora”. Y entonces llega el remate: no se encuentran discos, no hay
red, a veces ni siquiera hay teclado en plataformas más nuevas. Ese es el momento en que los equipos o parecen profesionales o
empiezan a revolver ZIPs de controladores como si fuera una venta de garaje.
Integrar controladores —inyectarlos en la imagen del instalador— convierte ese caos en un resultado aburrido y repetible.
Setup ve el almacenamiento. WinPE ve la NIC. Las herramientas de imagen funcionan. Tu ventana de mantenimiento a medianoche
se mantiene aburrida, que es la máxima forma de éxito en operaciones.
Qué significa realmente integrar controladores (y qué no)
Integrar controladores es un servicio fuera de línea: montas archivos de imagen de Windows (WIM), inyectas controladores (típicamente
mediante paquetes .inf), confirmas los cambios y reconstruyes la ISO para que Windows Setup cargue esos controladores sin que
tengas que hacer clic en “Cargar controlador”. No estás “instalando controladores” en el sistema en ejecución. Los estás incluyendo
en el entorno del instalador (WinPE) y/o en la imagen del sistema instalado.
Hay dos imágenes principales que importan:
-
boot.wim: el Entorno de Preinstalación de Windows (WinPE) usado por Setup. Si Setup no puede ver
los discos o la red, normalmente es aquí donde inyectas. -
install.wim(oinstall.esd): las imágenes de las ediciones reales de Windows que se aplican
al disco. Si Windows se instala pero luego hace pantallazo azul en el primer arranque o no tiene NIC después de la instalación,
inyectas también aquí.
Integrar controladores no es magia. Si inyectas la arquitectura equivocada (x86 vs x64), el modelo de controlador incorrecto (un EXE
instalador en lugar de un paquete basado en INF), o un controlador que requiere un co-installer no soportado en WinPE, seguirás perdiendo.
Solo que pierdes antes y de forma más determinista—lo cual, siendo honestos, es una mejora.
Una verdad operativa: trata el medio de instalación como código. Versiona. Etiquétalo. Pruébalo. Si alguien dice “Hice una ISO nueva,
debería estar bien”, eso no es un proceso; es una superstición con un archivo zip adjunto.
Hechos y contexto útiles para reuniones
Algunos hechos concretos y puntos de contexto histórico que hacen este tema menos místico y más predecible:
-
El término “slipstreaming” se popularizó en la era de Windows XP cuando los administradores fusionaban service packs
en los medios de instalación para evitar parchar inmediatamente después de instalar. -
Las imágenes WIM son basadas en archivos, no en sectores. Por eso DISM puede montarlas, manipular su contenido y
desduplicar archivos entre ediciones. -
WinPE es mínimo por diseño. No incluye todos los controladores de almacenamiento y NIC conocidos por la humanidad,
porque la idea es tener una huella pequeña y compatibilidad amplia pero no infinita. -
La adopción de UEFI cambió la historia del instalador. Las plataformas modernas se apoyan en UEFI, GPT, Secure Boot
y abstracciones de almacenamiento más nuevas (NVMe, VMD, RAID-on-CPU) que requieren controladores del proveedor más temprano en el
pipeline de arranque/instalación. -
El soporte NVMe en Windows evolucionó mucho con el tiempo; versiones antiguas requerían hotfixes o controladores del proveedor,
mientras que lanzamientos más recientes incluyen soporte amplio para NVMe—pero no para todos los modos de controlador de plataforma. -
Intel RST/VMD y pilas de “aceleración” de almacenamiento similares a menudo ocultan NVMe físicos detrás de una abstracción de
controlador, por lo que el controlador générico NVMe de Windows no verá los discos hasta que se cargue el controlador del proveedor. -
install.esd vs install.wim: ESD es un formato más comprimido. Es excelente para distribución, pero molesta para el
mantenimiento. Muchos flujos de trabajo convierten ESD a WIM para inyectar controladores de forma fiable. -
Windows Setup usa dos índices en boot.wim en medios típicos: uno para WinPE y otro para el entorno de Setup. Si inyectas
en el índice equivocado, nada cambia y jurarás que DISM está mintiendo.
Decide qué inyectar: almacenamiento, red y las dos WIM
Si estás aquí porque “no se encuentran discos”, comienza con los controladores de almacenamiento en boot.wim. Si estás
aquí porque el instalador no puede acceder a tu compartición de despliegue, comienza con controladores de NIC en boot.wim.
Si Windows se instala y luego no puede arrancar o no ve la red en el primer arranque, inyecta también en install.wim.
Almacenamiento: los sospechosos habituales
- Intel RST / VMD en portátiles modernos y algunos servidores.
- Broadcom/LSI MegaRAID en servidores empresariales.
- HPE Smart Array, Dell PERC en sus distintas generaciones.
- Rarezas Marvell/JMicron en placas whitebox y appliances.
Red: nunca es “solo DHCP”
Sin controladores de NIC en WinPE, no puedes descargar un archivo answer, controladores, paquetes ni una imagen desde la red. No puedes
unirte a un sistema de despliegue. Tampoco puedes diagnosticar fácilmente porque la mitad de tus herramientas vive al otro lado de la red.
Decidir dónde debe aterrizar el controlador
Usa esta regla de decisión:
- Setup no ve discos/NIC → inyecta en
boot.wim(entorno de Setup). - Setup funciona pero el primer arranque falla → inyecta en
install.wim(imagen del sistema instalado). - Ocurre ambos → inyecta en ambos. No negocies con la física.
Higiene de controladores: elegir el INF correcto y evitar la sopa de drivers
A los proveedores les encanta darte una sola descarga llamada algo así como “Storage Driver Package” que contiene:
un MSI, un EXE de setup, tres carpetas INF diferentes y un PDF que asume que despliegas con una herramienta que no tienes.
Tu trabajo es localizar los archivos .inf para el hardware exacto y la arquitectura del SO.
Operativamente, quieres:
- Controladores firmados (especialmente con Secure Boot). Los no firmados en WinPE son una bomba de tiempo.
- Conjunto mínimo: solo los controladores de almacenamiento/NIC que necesitas para esta familia de plataformas.
- Trazabilidad: registra versión del proveedor, fecha de lanzamiento y los modelos de hardware a los que apunta.
No inyectes “todos los controladores que hemos usado alguna vez” en tu ISO. Se siente seguro. No lo es. Aumenta el tamaño de boot.wim,
el tiempo de carga, la probabilidad de conflictos de controladores y hace la resolución de problemas ambigua.
Chiste #1: Inyectar todos los controladores que encuentres es como llevar todo tu garaje para cambiar una llanta. Aún perderás
la llave de 10 mm.
Diseño práctico de laboratorio (carpetas, herramientas, expectativas)
Puedes hacer esto en una estación de trabajo administrativa de Windows, una VM de build o un runner de CI. También puedes hacer partes
desde Linux (montando ISOs, extrayendo archivos), pero el servicio con DISM es más sencillo y está más soportado en Windows.
Una estructura simple:
C:\ISO\src— contenidos extraídos de la ISO de WindowsC:\ISO\mount\boot— punto de montaje para boot.wimC:\ISO\mount\install— punto de montaje para install.wimC:\ISO\drivers\storage— controladores de almacenamiento, basados en INFC:\ISO\drivers\nic— controladores NIC, basados en INFC:\ISO\out— salida de staging para la ISO reconstruida
Herramientas que normalmente usarás:
- DISM (incluido en Windows) para montar/agregar-controlador/commit/export
- oscdimg (Windows ADK) para reconstruir una ISO arrancable correctamente
- Get-FileHash / signtool (opcional) para comprobaciones de integridad y firmas
Tareas prácticas con comandos: el trabajo real
Las tareas abajo están escritas como si ejecutarás una build de producción: verificas el estado, confirmas suposiciones y tomas
decisiones basadas en la salida. Estoy usando un prompt estilo wrapper bash por requisitos; los comandos son nativos de Windows y
ejecutables en PowerShell o CMD.
Tarea 1: Confirma que estás modificando la compilación ISO correcta (verificación de versión)
cr0x@server:~$ dism /Get-WimInfo /WimFile:C:\ISO\src\sources\install.wim
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Details for image : C:\ISO\src\sources\install.wim
Index : 1
Name : Windows 11 Pro
Description : Windows 11 Pro
Size : 16,123,456,789 bytes
Index : 2
Name : Windows 11 Pro N
Description : Windows 11 Pro N
Size : 15,987,654,321 bytes
The operation completed successfully.
Qué significa: Tienes un WIM con múltiples índices (ediciones). Inyectar en solo un índice hace que sólo esa
edición reciba el controlador.
Decisión: Identifica qué índice despliegas. Si usas múltiples ediciones, planea inyectar en cada índice que puedas instalar.
Tarea 2: Inspecciona índices de boot.wim (la trampa del “índice equivocado”)
cr0x@server:~$ dism /Get-WimInfo /WimFile:C:\ISO\src\sources\boot.wim
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Details for image : C:\ISO\src\sources\boot.wim
Index : 1
Name : Microsoft Windows PE (x64)
Description : Microsoft Windows PE (x64)
Index : 2
Name : Microsoft Windows Setup (x64)
Description : Microsoft Windows Setup (x64)
The operation completed successfully.
Qué significa: El índice 2 suele ser el entorno de Setup que realmente enumera el almacenamiento durante la interfaz.
Decisión: Inyecta controladores de almacenamiento/NIC en el índice 2 como mínimo. Para mayor seguridad, muchos equipos
inyectan en ambos.
Tarea 3: Montar boot.wim índice 2 (Setup) en lectura/escritura
cr0x@server:~$ dism /Mount-Wim /WimFile:C:\ISO\src\sources\boot.wim /Index:2 /MountDir:C:\ISO\mount\boot
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Mounting image
[==========================100.0%==========================]
The operation completed successfully.
Qué significa: Ahora tienes una imagen de Windows fuera de línea en C:\ISO\mount\boot.
Decisión: Si el montaje falla con “Access is denied” o “The directory is not empty”, detente y limpia antes de continuar.
No acumules un estado incorrecto.
Tarea 4: Lista controladores de terceros existentes en WinPE antes de añadir más
cr0x@server:~$ dism /Image:C:\ISO\mount\boot /Get-Drivers /Format:Table
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Published Name Original File Name Inbox Class Name
oem1.inf e1d68x64.inf No Net
oem2.inf iaStorVD.inf No SCSIAdapter
The operation completed successfully.
Qué significa: “Inbox: No” indica controladores añadidos. Puedes ver lo que ya está en la imagen.
Decisión: Si el controlador que necesitas ya está presente, tu problema probablemente no sea “controlador faltante”
sino “modo de controlador incorrecto”, “Secure Boot bloqueando lo no firmado” o “índice equivocado”.
Tarea 5: Añadir controladores de almacenamiento recursivamente (basados en INF)
cr0x@server:~$ dism /Image:C:\ISO\mount\boot /Add-Driver /Driver:C:\ISO\drivers\storage /Recurse
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Searching for driver packages to install...
Found 3 driver package(s) to install.
Installing 1 of 3 - C:\ISO\drivers\storage\iaStorVD.inf: The driver package was successfully installed.
Installing 2 of 3 - C:\ISO\drivers\storage\iaStorAC.inf: The driver package was successfully installed.
Installing 3 of 3 - C:\ISO\drivers\storage\iaVMD.inf: The driver package was successfully installed.
The operation completed successfully.
Qué significa: DISM encontró paquetes INF e los inyectó en el almacén de controladores de la imagen fuera de línea.
Decisión: Si DISM informa “No driver packages were found”, estás apuntando a la carpeta equivocada (probablemente un
paquete EXE/MSI) o el INF no es para esta arquitectura.
Tarea 6: Añadir controladores NIC (para que WinPE pueda alcanzar tus sistemas de despliegue)
cr0x@server:~$ dism /Image:C:\ISO\mount\boot /Add-Driver /Driver:C:\ISO\drivers\nic /Recurse
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Searching for driver packages to install...
Found 1 driver package(s) to install.
Installing 1 of 1 - C:\ISO\drivers\nic\rt68x64.inf: The driver package was successfully installed.
The operation completed successfully.
Qué significa: WinPE intentará cargar estos controladores al arrancar, habilitando la red más temprano.
Decisión: Si tu despliegue depende de comparticiones SMB, PXE o de descargar archivos answer, los controladores NIC en boot.wim
son obligatorios. No digas “luego enchufamos un USB” y te metas en un rollout de producción.
Tarea 7: Verificar que los controladores están presentes después de la inyección (confía, pero verifica)
cr0x@server:~$ dism /Image:C:\ISO\mount\boot /Get-Drivers /Format:Table
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Published Name Original File Name Inbox Class Name
oem1.inf e1d68x64.inf No Net
oem2.inf iaStorVD.inf No SCSIAdapter
oem3.inf iaStorAC.inf No SCSIAdapter
oem4.inf iaVMD.inf No SCSIAdapter
oem5.inf rt68x64.inf No Net
The operation completed successfully.
Qué significa: Tienes la confirmación de que la imagen tiene los paquetes de controladores staged.
Decisión: Si los controladores aparecen pero el hardware aún no se detecta en Setup, probablemente falte una dependencia
relacionada, estés inyectando la pila de almacenamiento equivocada o haya ajustes de BIOS involucrados.
Tarea 8: Confirmar y desmontar boot.wim
cr0x@server:~$ dism /Unmount-Wim /MountDir:C:\ISO\mount\boot /Commit
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Saving image
[==========================100.0%==========================]
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.
Qué significa: Tus cambios se escriben de vuelta en boot.wim.
Decisión: Si DISM advierte sobre operaciones pendientes o errores al desmontar, no procedas a reconstruir la ISO.
Corrige el estado de la imagen primero, o enviarás un instalador corrupto y te convertirás en una advertencia.
Tarea 9: Montar install.wim para la edición que despliegas e inyectar los mismos controladores
cr0x@server:~$ dism /Mount-Wim /WimFile:C:\ISO\src\sources\install.wim /Index:1 /MountDir:C:\ISO\mount\install
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Mounting image
[==========================100.0%==========================]
The operation completed successfully.
Qué significa: Estás editando la imagen real del SO que termina instalado.
Decisión: Si despliegas múltiples índices, repite para cada uno. Sí, es tedioso. No, no puedes saltártelo y esperar
que tu secuencia de tareas siempre elija la misma edición para siempre.
Tarea 10: Añadir controladores a install.wim (almacenamiento + NIC)
cr0x@server:~$ dism /Image:C:\ISO\mount\install /Add-Driver /Driver:C:\ISO\drivers\storage /Recurse
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Searching for driver packages to install...
Found 3 driver package(s) to install.
Installing 1 of 3 - C:\ISO\drivers\storage\iaStorVD.inf: The driver package was successfully installed.
Installing 2 of 3 - C:\ISO\drivers\storage\iaStorAC.inf: The driver package was successfully installed.
Installing 3 of 3 - C:\ISO\drivers\storage\iaVMD.inf: The driver package was successfully installed.
The operation completed successfully.
cr0x@server:~$ dism /Image:C:\ISO\mount\install /Add-Driver /Driver:C:\ISO\drivers\nic /Recurse
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Searching for driver packages to install...
Found 1 driver package(s) to install.
Installing 1 of 1 - C:\ISO\drivers\nic\rt68x64.inf: The driver package was successfully installed.
The operation completed successfully.
Qué significa: El SO instalado tendrá esos controladores disponibles en el primer arranque.
Decisión: Si tu primer arranque antes daba INACCESSIBLE_BOOT_DEVICE, esta es la mitigación principal:
asegúrate de que el controlador del controlador de almacenamiento esté en la imagen del SO antes de que intente arrancar.
Tarea 11: Validar el estado de la firma del controlador (no envíes sorpresas no firmadas)
cr0x@server:~$ pnputil /enum-drivers
Published Name: oem10.inf
Original Name: iaVMD.inf
Provider Name: Intel
Class Name: SCSIAdapter
Driver Version: 07/18/2024 20.0.0.1038
Signer Name: Microsoft Windows Hardware Compatibility Publisher
Qué significa: Un nombre de firmante reputado normalmente indica un paquete correctamente firmado. Los paquetes sin firmar
son una apuesta con Secure Boot y las políticas modernas de Windows.
Decisión: Si el firmante está en blanco o es “Unknown”, detente y busca una versión firmada. Si debes usar uno no firmado
para un laboratorio, trátalo como artefacto exclusivo de laboratorio.
Tarea 12: Confirmar y desmontar install.wim
cr0x@server:~$ dism /Unmount-Wim /MountDir:C:\ISO\mount\install /Commit
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Saving image
[==========================100.0%==========================]
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.
Qué significa: La imagen del SO instalado ahora está actualizada.
Decisión: Si el archivo WIM se infló y te importa el tamaño de distribución, planea un paso de exportación/recompresión
(próxima tarea). Pero no te pongas creativo hasta que tengas un instalador funcional.
Tarea 13: Re-exportar install.wim para limpiar y opcionalmente comprimir
cr0x@server:~$ dism /Export-Image /SourceImageFile:C:\ISO\src\sources\install.wim /SourceIndex:1 /DestinationImageFile:C:\ISO\src\sources\install.new.wim /Compress:max /CheckIntegrity
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
Exporting image
[==========================100.0%==========================]
The operation completed successfully.
Qué significa: Exportar reescribe la imagen limpiamente y puede reducir fragmentación y tamaño.
Decisión: Si tienes múltiples índices, exporta cada uno y reconstruye un WIM consolidado; de lo contrario enviarás
un medio donde solo una edición está arreglada.
Tarea 14: Reemplazar el install.wim antiguo de forma segura
cr0x@server:~$ move C:\ISO\src\sources\install.wim C:\ISO\src\sources\install.bak.wim
1 file(s) moved.
cr0x@server:~$ move C:\ISO\src\sources\install.new.wim C:\ISO\src\sources\install.wim
1 file(s) moved.
Qué significa: Mantienes una copia de reversión. Siempre.
Decisión: Si haces esto como parte de un proceso de lanzamiento, guarda el .bak fuera del árbol de build.
Las reversiones locales no ayudan cuando alguien “limpia” la carpeta.
Tarea 15: Verificar la salud e integridad del WIM antes de reconstruir la ISO
cr0x@server:~$ dism /Cleanup-Wim
Deployment Image Servicing and Management tool
Version: 10.0.22621.1
No mounted WIM images found.
The operation completed successfully.
Qué significa: No quedan montajes. Esto es bueno. Los montajes residuales son la forma de enviar imágenes a medio escribir.
Decisión: Si informa imágenes montadas que no esperabas, investiga y limpia. No reconstruyas la ISO mientras DISM aún piensa
que hay un montaje activo.
Tarea 16: Construir la ISO arrancable con oscdimg (ADK)
cr0x@server:~$ oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bC:\ISO\src\boot\etfsboot.com#pEF,e,bC:\ISO\src\efi\microsoft\boot\efisys.bin C:\ISO\src C:\ISO\out\Win-Setup-Drivers.iso
OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility
Scanning source tree (100 files in 20 directories)
Computing directory information complete
Writing 100 files in 20 directories to disc
100% complete
Final image file is 5,123,456,000 bytes
Done.
Qué significa: Creaste una ISO dual-boot (BIOS + UEFI) con sectores de arranque correctos.
Decisión: Si solo arrancas UEFI, puedes simplificar, pero no lo hagas a menos que estés seguro sobre el firmware de la flota.
“Seguro” significa datos de activos, no intuiciones.
Tarea 17: Validación rápida—listar controladores dentro de boot.wim sin montar (comprobación puntual)
cr0x@server:~$ dism /Get-Drivers /Image:C:\ISO\mount\boot
Error: 2
The system cannot find the file specified.
Qué significa: Esto falla porque la imagen no está montada. Eso es esperado y es un recordatorio: las consultas DISM
requieren una ruta de imagen montada o un flujo de trabajo /WimFile + /Index.
Decisión: Si quieres una comprobación puntual, monta en solo lectura o monta de nuevo y verifica. No asumas que el
último paso de build hizo lo que crees que hizo.
Guía de diagnóstico rápido
Cuando Windows Setup no “simplemente funciona”, necesitas un orden de triaje determinista. No porque seas impaciente (lo eres),
sino porque los modos de fallo se superponen y la suposición equivocada desperdicia más tiempo.
Primero: decide si es una falla de enumeración de almacenamiento o un desajuste de modo de controlador
-
Verifica el modo de almacenamiento en BIOS/UEFI: AHCI vs RAID vs VMD. Si VMD está habilitado y no tienes el
controlador VMD en WinPE, Setup no verá los discos. Si cambias modos después de instalar, Windows puede no arrancar. - Comprueba qué hardware está presente: NVMe detrás de VMD se ve distinto que NVMe en crudo.
Segundo: confirma que inyectaste en el WIM y el índice correctos
- ¿Disco ausente en la UI de Setup? Eso es
boot.wimíndice 2 nueve de cada diez veces. - ¿Disco visible durante Setup pero primer arranque falla? Ese es
install.wim.
Tercero: valida el empaquetado y la firma del controlador
- ¿Tienes controladores basados en INF, no un ejecutable de instalación?
- ¿Son x64 para las compilaciones modernas de Windows?
- ¿Están firmados de forma que sobrevivan las políticas de Secure Boot?
Cuarto: ojo con los señuelos “falta un controlador de medios”
El temido “Falta un controlador de medios que su equipo necesita” a menudo no tiene nada que ver con controladores USB. Puede ser
almacenamiento, un install.wim corrupto, una ISO escrita mal en USB, o Setup fallando al leer la fuente. Trátalo como “Setup no puede
leer algo que necesita”, y luego reduce el campo.
Quinto: reduce variables
- Prueba con otra memoria USB.
- Prueba otro puerto USB (los hubs USB-C son caos).
- Prueba arrancar la ISO en una VM para confirmar que el medio no está corrupto.
Cita (idea parafraseada): El mensaje de fiabilidad de John Allspaw es que la resiliencia viene del aprendizaje y la adaptación,
no de pretender que la falla no ocurrirá.
Errores comunes: síntomas → causa raíz → solución
Estos son los fallos que siguen apareciendo porque son fáciles de cometer y difíciles de detectar.
1) Síntoma: “No se encontraron unidades. Haga clic en Cargar controlador…”
- Causa raíz: El modo del controlador de almacenamiento requiere el controlador del proveedor (RST/VMD/RAID) no presente en
boot.wimíndice 2. - Solución: Inyecta el INF de almacenamiento correcto en
boot.wimíndice 2 (y normalmente también en el índice 1). Verifica con/Get-Drivers. Confirma que el modo del BIOS no cambió.
2) Síntoma: Setup ve el disco, pero Windows hace pantallazo azul en el primer arranque (INACCESSIBLE_BOOT_DEVICE)
- Causa raíz: El controlador existe en WinPE (boot.wim) pero no en la imagen del SO instalado (install.wim), o el modo
de almacenamiento del BIOS cambió después de la instalación. - Solución: Inyecta el controlador de almacenamiento en el índice adecuado de
install.wim. Mantén el modo de almacenamiento
consistente desde la instalación hasta el primer arranque.
3) Síntoma: “Falta un controlador de medios que su equipo necesita” al inicio de Setup
- Causa raíz: Método malo de creación de USB, ISO corrupta, controlador de almacenamiento faltante, o Setup no puede leer su propia fuente debido a un puerto/hub defectuoso.
- Solución: Recrea el USB con una herramienta fiable, prueba otro puerto, verifica el hash de la ISO e inyecta controladores
de almacenamiento si la plataforma usa VMD/RAID.
4) Síntoma: DISM dice “No driver packages were found”
- Causa raíz: Apuntaste DISM a una carpeta sin
.inf, o el controlador es de la arquitectura equivocada. - Solución: Extrae el paquete del controlador hasta tener el conjunto INF + SYS + CAT. Confirma controladores x64 para WinPE x64.
5) Síntoma: Setup funciona, pero no hay red en WinPE (no puede alcanzar la compartición de despliegue)
- Causa raíz: Falta el controlador NIC en boot.wim, o la NIC es más nueva que los controladores incluidos.
- Solución: Inyecta controladores NIC en boot.wim índice 2. Valida arrancando y ejecutando
ipconfigen WinPE si puedes acceder a un shell.
6) Síntoma: El controlador se inyecta bien, pero el hardware aún no se detecta
- Causa raíz: Variante de controlador equivocada (modelo similar, diferentes PCI IDs), o el BIOS oculta el dispositivo detrás de otro modo de controlador.
- Solución: Confirma los IDs de hardware PCI en un SO en ejecución o con herramientas de inventario del proveedor; haz coincidir con el INF. Confirma ajustes de firmware (VMD activado/desactivado, RAID activado/desactivado).
7) Síntoma: Errores de montaje/desmontaje, “La imagen está en uso” o los commits no persisten
- Causa raíz: Montajes obsoletos, antivirus escaneando rutas de montaje o operaciones DISM interrumpidas.
- Solución: Ejecuta
dism /Cleanup-Wim, usa un directorio de montaje limpio y excluye temporalmente las rutas de montaje del AV en un entorno de build controlado.
Tres microhistorias corporativas desde el campo
Microhistoria 1: El incidente causado por una suposición equivocada
Una compañía desplegó un lote de portátiles nuevos para ingenieros. El equipo de build de TI tenía una ISO “conocida como buena” que
había funcionado durante años en la generación anterior de hardware. Supusieron que NVMe es NVMe, Windows es Windows y Setup vería el disco.
El primer día, la cola de helpdesk se llenó con la misma captura: no hay discos. Alguien sugirió que las memorias USB estaban mal, así que
reimaginieron las memorias. Mismo fallo. Otro culpó a Secure Boot y empezó a alternar ajustes de firmware como si afinara una radio.
La causa raíz fue mundana: el OEM envió la flota con VMD habilitado por defecto. Eso ocultaba los NVMe detrás de una capa de controlador que
requería el controlador de Intel en WinPE. La ISO “conocida como buena” no tenía ese controlador porque la flota antigua no lo necesitaba.
La solución fue inyectar los controladores VMD/RST correctos en boot.wim índice 2 y reconstruir el medio, luego estandarizar la
configuración del BIOS en la flota. La lección del postmortem fue clara: las suposiciones sobre “soporte NVMe genérico” no sobreviven a la
abstracción de controlador del proveedor. Los proveedores de hardware son creativos.
Terminaron añadiendo una lista de verificación previa: confirmar modo de almacenamiento, confirmar IDs PCI y confirmar cobertura de controladores en WinPE.
No fue glamoroso. Detuvo el sangrado.
Microhistoria 2: La optimización que salió mal
Otra organización quiso despliegues más rápidos. A alguien se le ocurrió la brillante idea de construir una “ISO instaladora universal”
con todos los paquetes de controladores que habían usado: chipset, GPU, audio, Wi‑Fi, almacenamiento, NICs, impresoras—sí, impresoras. Pensaban:
más controladores = menos sorpresas = instalaciones más rápidas.
En la práctica, la ISO engordó. Boot.wim creció tanto que los tiempos de arranque de WinPE aumentaron notablemente, especialmente en medias USB más antiguas.
Peor aún, algunas pilas de controladores de almacenamiento se solaparon. En un subconjunto de servidores, Setup cargaba intermitentemente el miniport
“equivocado” primero, provocando que los discos aparecieran y desaparecieran entre reinicios. Los fallos intermitentes son donde tu calendario va a morir.
Luego vino el ángulo de cumplimiento: no tenían un registro limpio de qué controladores estaban dentro, qué versiones y cuáles seguían soportadas.
Cuando el equipo de seguridad pidió la procedencia, la respuesta fue básicamente “una carpeta de cosas”. Eso no es una respuesta.
La reversión no fue una reversión; fue una desintoxicación. Reconstruyeron medios por familia de hardware: una ISO para la línea de portátiles,
una para una generación específica de servidores, una para un appliance nicho. Más pequeñas, dirigidas y verificables. La velocidad de despliegue
subió porque el tiempo de resolución de problemas bajó.
Chiste #2: Una “ISO universal de drivers” es como un mando universal—genial hasta que controla el televisor equivocado y silencias tu propia reunión.
Microhistoria 3: La práctica aburrida pero correcta que salvó el día
Un equipo de servicios financieros tenía una costumbre que parecía tediosa: cada trimestre reconstruían su medio de despliegue de Windows
en una VM limpia, inyectaban solo los controladores de almacenamiento y NIC requeridos para cada clase de plataforma y hacían una instalación
de prueba en una máquina representativa por clase. Llevaban un pequeño registro de cambios: versión del controlador actualizada, motivo, modelo
probado y fecha.
Durante una renovación de centro de datos, recibieron servidores con una revisión ligeramente diferente del controlador RAID de lo esperado.
La documentación del proveedor era ambigua. Parecía igual. No lo era.
Su primera instalación de prueba lo detectó de inmediato: no había discos en Setup. En vez de descubrir esto en una ventana de corte a medianoche,
lo descubrieron un martes por la tarde con café disponible y sin nadie enviando alertas.
Porque tenían un proceso de build controlado, la solución fue directa: añadir el controlador actualizado al ISO del servidor, reconstruir, volver
a probar. El cambio quedó documentado y fue fácil de justificar.
La práctica aburrida—builds repetibles, conjuntos de controladores mínimos y una instalación de prueba sacrificial—salvó el despliegue. Nada heroico.
No hubo war room. Solo menos sorpresas.
Listas de verificación / plan paso a paso
Lista A: Antes de tocar DISM
- Identifica modelos de hardware objetivo y modos de controlador (AHCI/RAID/VMD).
- Descarga paquetes de controladores que contengan archivos INF para x64.
- Separa controladores en carpetas
storageynic. - Extrae paquetes hasta poder apuntar DISM a carpetas que contengan
.inf. - Decide qué índice de edición de Windows vas a desplegar (índice de install.wim).
Lista B: Pasos de inyección que deberías seguir
- Extrae los contenidos de la ISO a
C:\ISO\src. - Ejecuta
dism /Get-WimInfoenboot.wimyinstall.wim. - Monta
boot.wimíndice 2 enC:\ISO\mount\boot. - Añade controladores de almacenamiento y NIC con
/Add-Driver /Recurse. - Verifica con
/Get-Drivers. - Confirma y desmonta.
- Monta
install.wimpara el índice que despliegas. - Añade los mismos controladores (al menos el controlador de almacenamiento; normalmente también NIC).
- Confirma y desmonta.
- Opcionalmente exporta/recomprime el WIM.
- Reconstruye la ISO con
oscdimg. - Prueba el arranque y la detección de disco en hardware representativo.
Lista C: Pruebas de aceptación (no las saltes)
- Setup ve el disco objetivo sin hacer clic en “Cargar controlador”.
- Setup puede ver la red si dependes de ella (compartición de despliegue o descarga de answer file).
- Windows completa el primer arranque sin BSODs relacionados con almacenamiento.
- El Administrador de dispositivos en el SO instalado no muestra controladores de controlador de almacenamiento desconocidos.
- La ISO arranca en UEFI en tu plataforma más nueva y en modo legacy donde sea requerido.
Preguntas frecuentes
1) ¿Realmente necesito inyectar controladores en ambos boot.wim e install.wim?
Si quieres que Setup vea discos y además que el SO instalado arranque de forma fiable, sí—inyecta en ambos. Boot.wim te lleva a través
de la instalación; install.wim te lleva a través del primer arranque y más allá.
2) ¿En qué índice de boot.wim debo inyectar?
Normalmente el índice 2 (Windows Setup). Muchos equipos inyectan en ambos índices 1 y 2 porque cuesta poco y evita sorpresas en rutas de arranque alternativas.
3) Solo tengo un EXE del proveedor. ¿Puede DISM inyectarlo?
No. DISM inyecta paquetes de controladores vía INF. Extrae el EXE (a menudo es solo un wrapper) hasta obtener .inf,
.sys y .cat.
4) ¿Por qué Setup dice que falta un “controlador de medios” si claramente arranqué desde USB bien?
Ese mensaje es vago. Puede significar que falta un controlador de almacenamiento, que la fuente es ilegible, problemas en la creación del USB,
o que Setup no puede acceder a install.wim. Trátalo como “Setup no puede leer algo que necesita” y luego afina la búsqueda.
5) ¿Puedo simplemente cambiar el BIOS de RAID/VMD a AHCI y evitar controladores?
A veces, sí. Pero cambiar modos puede romper instalaciones existentes y puede no coincidir con el estándar de tu organización. Si es una flota,
estandariza la configuración de firmware y construye medios acorde. Los cambios aleatorios por máquina no escalan.
6) ¿Cómo manejo install.esd en lugar de install.wim?
Conviértelo o expórtalo a WIM para mantenimiento, inyecta controladores y opcionalmente comprímelo de nuevo a ESD si tienes una razón.
Si no tienes una razón, quédate con WIM—es operativamente más amigable.
7) ¿Secure Boot bloqueará mis controladores inyectados?
Puede. Los controladores no firmados o mal firmados pueden fallar al cargarse dependiendo de la política y la plataforma. Prefiere paquetes
firmados WHQL y valida los metadatos de firma antes de enviar.
8) ¿Debería inyectar chipset, GPU, audio y todos los controladores “agradables de tener” también?
No en el medio de Setup a menos que tengas una necesidad específica en WinPE. Para el éxito de la instalación, almacenamiento y NIC son la prioridad.
Todo lo demás puede manejarse post-instalación mediante herramientas de gestión, despliegue de controladores o paquetes OEM.
9) ¿Cómo mantengo esto sostenible a través de múltiples modelos de hardware?
Construye por familia de hardware y mantiene conjuntos de controladores mínimos. Versiona tus artefactos ISO, lleva un changelog y prueba
en una máquina representativa por familia antes de promover medios a producción.
10) Mi controlador inyectado aparece en /Get-Drivers, pero los discos aún no aparecen. ¿Ahora qué?
Confirma que inyectaste en el índice correcto. Confirma el modo de firmware del controlador. Confirma que el INF coincide con los IDs de hardware.
Y confirma que el controlador es compatible con la compilación de Windows. En ese punto, estás depurando la realidad de la plataforma, no DISM.
Próximos pasos para mantenerte fuera de problemas
Si quieres que Setup “simplemente funcione”, deja de tratar el medio de instalación como un artefacto puntual y empieza a tratarlo como
un lanzamiento pequeño y controlado. Inyecta los controladores correctos en boot.wim (Setup) y install.wim (SO instalado),
reconstruye con una cadena de herramientas adecuada y prueba en hardware real.
Pasos prácticos:
- Crea una VM de build limpia y un layout estándar de carpetas para servicio de ISO.
- Construye un paquete mínimo de controladores por familia de hardware (almacenamiento + NIC primero).
- Automatiza el flujo DISM de montar/inyectar/confirmar en un script y registra cada ejecución.
- Mantén un pequeño changelog: qué controlador cambió, por qué y qué probaste.
- Ejecuta una instalación de prueba trimestral en hardware representativo para detectar sorpresas del proveedor “mismo modelo, distinto controlador”.
El objetivo no es convertirte en un artista de imágenes de Windows. El objetivo es dejar de descubrir problemas de controladores delante de un ejecutivo,
un cliente o un temporizador de ventana de mantenimiento.