Usando DISM


La herramienta DISM (Administración y mantenimiento de imagen de implementación) nos ayuda a realizar el mantenimiento y preparación de imágenes de Windows (.wim) o bien de discos duros virtuales (.vhd). Toda la información oficial sobre esta utilidad la tienes en la web de Microsoft.

En esta entrada se tratan los problemas que pueden darse al intentar ejecutar los comandos que encontramos por Internet y que prometen reparar el equipo. Lo más habitual sería hacer un:

> DISM /Online /Cleanup-Image /RestoreHealth

La respuesta podría ser: «Error 50, DISM does not support servicing Windows PE with the /Online option»

Por un lado, puede influir que estés en el entorno de recuperación arrancando Windows desde el disco duro, o bien en el entorno cargado desde un DVD o USB de Windows. Es importante destacar que hay que usar la herramienta DISM bajo la misma versidón de Windows con la que se trabaja; esto es, utilizar un medio de instalación de Windows 10 si lo que se quiere reparar es Windows 10, con dicha versión podremos trabajar sobre las demás versiones (Windows 7, 8 o Server).

Por otro, es importante saber a ciencia cierta cuáles son las letras de unidades de cada dispositivo; esto es, conocer la unidad donde está la carpeta Windows, que podría ser C:\

Si esto fuera así, entonces ejecutamos:

> DISM /Image:C:\ /Cleanup-Image /Restorehealth

Esta vez, el sistema debería empezar a reparar «la salud» de la imagen de Windows de forma automática. En el caso que nos arrojara un error este comando o el sistema siguiera sin poder entrar, probaremos a restaurar el registro de la siguiente manera:

> copy C:\Windows\System32\config\RegBack\*.* C:\Windows\System32\config

Y repetimos:

> DISM /Image:C:\ /Cleanup-Image /Restorehealth

Desde la anterior web de Microsoft, nos informan de uno de los fines de la utilidad DISM que consiste en usar una imagen de Windows montada de un archivo WIM como origen para restaurar características opcionales y reparar un sistema operativo dañado. Para ello, conociendo la letra de unidad del DVD o USB, y siendo por ejemplo D:\

> DISM /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:ESD:D:\sources\install.esd:1

Si con el archivo ESD no fuera posible actuar y necesitaramos un .wim,  podemos convertirlo en un par de pasos. Primero, copia el archivo install.esd desde el pendrive o dvd a la raíz de C:. Entonces, ejecuta:

> DISM /Get-WimInfo /WimFile:C:\install.esd

Aparecerá un listado de las versiones que contiene la imagen y se identifican por los Index. Nos quedamos con el que nos interesa, en nuestro ejemplo el Index 4 es la versión Windows 10 Pro y ejecutamos:

> DISM /export-image /SourceImageFile:install.esd /SourceIndex:4 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity

Al finalizar tendremos una imagen de Windows llamada install.wim y que utilizaremos en el comando que no nos permitía el .esd:

> DISM /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:C:\sources\install.wim:1

 

 

— off topic —

La causa de llegar al punto de usar DISM de esta manera fue un equipo que se quedó en bucle mostrando un BSoD Critical process died. Bastante probable que la raíz del problema tenía relación con actualizaciones de Windows. En esta tesitura, DISM puede ayudarnos también a eliminar actualizaciones KB, quedan más cosas por probar:

1. Utilizar DISM para intentar revertir los estados pendientes:

>  DISM /image:C:\ /cleanup-image /revertpendingactions

2. Desinstalar las actualizaciones problemáticas:

> DISM /Image:C:\ /getpackages

Nos mostrará un listado de las actualizaciones existentes instaladas o en otro estado. Copiamos el nombre que nos interesa y ejecutamos:

> DISM /image:C:\windows /remove-package /packagename:[identidaddelpaquete]

2. Eliminar, si existe, el archivo C:\Windows\WinSxS\pending.xml