Hace un tiempo largo hemos visto como lidiar con la carpeta WinSXS y su tamaño (bastante grande en algunos casos). Si quieren reveer la nota la pueden encontrar en: Como liberar espacio de la carpeta WinSxS en Windows 8.1 {HowTo}, hoy veremos otra opción para lidiar con ella. Si revisamos el Task Scheduler, veremos que el sistema operativo ahora lo hará automáticamente y no deberíamos hacer nada, pero si se deseamos podemos seguir adelante. Esta tarea programada integrada en Windows Server 2012 R2 y Windows 8.1 realiza la limpieza automáticamente el almacén de componentes.
El almacén de componentes, es la tan odiada carpeta WinSxS que se encuentra en todos en Windows Server 2008 R2 y Windows 7 nos quejábamos de que ocupaba demasiado espacio. Para obtener información general sobre WinSxS y la necesidad de la limpieza del directorio WinSxS para liberar espacio en disco en versiones anteriores de Windows, les recomiendo ver los siguientes links:
Volviendo a la tarea programada. 30 días después de instalar una actualización o revisión, automáticamente se van a quitar versiones anteriores de los archivos actualizados. Por lo que podríamos simplemente dejar que Windows haga su trabajo de manera segura y sabe que el directorio WinSxS no va a utilizar todo nuestro espacio libre en el disco!
Puede dejar de forma manual en cualquier momento mediante la ejecución de la tarea programada. De forma predeterminada, se ejecuta durante una hora. De todas formas podemos hacerlo a través de línea de comandos ejecutando el siguiente comando desde un símbolo del sistema administrativo:
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Para aquellos con Windows 8.1, pueden seguir utilizando el Asistente para limpieza de disco, así y seleccione el botón Limpiar archivos de sistema.
Si ejecutamos esto y comprobamos la tarea programada después, nos daremos cuenta de que el último tiempo de ejecución para la tarea StartComponentCleanup era aproximadamente el mismo tiempo a limpiar los archivos del sistema se inició desde el Asistente para limpieza de disco.
La compresión de archivos de código binario no utilizadas
Para empezar, se reduce ahora ningún binario no utilizadas en el almacén de componentes. Eso significa que comprimimos todas esas características y funciones que no se haya instalado, pero están ahí en caso de que decida instalarlos en cualquier momento en el futuro. Todavía se puede quitar éstos en Windows 8.1 o Windows Server 2012 R2 mediante Features on Demand.
¿Quremos reducir el tamaño aún más y la limpieza aún más?
/ResetBase
Este es un gran dominio añadido con Windows 8.1 y Windows Server 2012 R2. Esencialmente, es la madre de todos los comandos. Este limpia y elimina todo el material viejo sustituido de todos los componentes en el almacén de componentes.
Ingenieros con conocimientos enfocados a reducir el tamaño de sus imágenes a menudo corren este comando para poner en orden antes de rodar la imagen en la producción. Es una gran cosa y realmente tiene un impacto. Sin embargo, después de ejecutar el comando /resetbase, todas las actualizaciones existentes no pueden ser desinstaladas.
No bloquea la desinstalación de actualizaciones futuras que se instalan después de ejecutar este comando, pero todas las actualizaciones anteriores se han convertido en permanentes y no se puede quitar. El comando es el siguiente:
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
/AnalyzeComponentStore
Si deseamos ver el impacto que tiene este comando, podemos ejecutar el siguiente comando para mostrar el tamaño "verdadero" antes de la limpieza:
Dism.exe /online /Cleanup-Image /AnalyzeComponentStore
La mayor parte es auto-explicativo, pero aquí hay un rápido resumen:
-
Windows Explorer Reported Size of the Component Store – Como habrán adivinado, se muestra el tamaño que informo el Explorador de archivos. Como se ha visto, no es completamente exacta. Esto es debido a la utilización de enlaces duros por el sistema operativo.
-
Actual Size of the Component Store – Este es el verdadero tamaño del almacén de componentes.
-
Shared with Windows – Este es el tamaño que el almacén de componentes sería sólo para Windows instalar o no existía realmente el almacén de componentes.
-
Backups and Disable Features – Este es el tamaño de las versiones anteriores que almacenamos en el almacén de componentes, así como los binarios de cualquier función o funciones puede que desee instalar en el futuro
-
Cache and Temporary Data
Como puede observarse, como parte del análisis, que incluso le dirá si se recomienda almacén de componentes de limpieza. En este caso, se recomienda.
Ahora que sabemos que el verdadero tamaño, vamos a ejecutar la limpieza y comprobar los resultados. Para esta primera ejecución, vamos a utilizar el siguiente comando, que es lo que hace de Windows automáticamente detrás de la tarea programada:
Dism.exe /online /cleanup-image /StartComponentCleanup
Sin embargo, toma un tiempo. Pero la buena noticia es, que no requiere un reinicio. Después de que se complete, volvemos a comprobar:
Un poco más de 2 GB más pequeña. Ahora si reiniciamos la base.
Un poco más, pero nada drástico.
Ahora, si no queremos ir a este grado y hacer todas sus revisiones, actualizaciones de seguridad, etc. permanentes, podemos simplemente dejar que la tarea programada haga su trabajo o ejecutar el /StartComponentCleanup sin el modificador /resetbase.
Esto versiones anteriores de limpieza de las actualizaciones instaladas, pero todavía permitirá desinstalar una actualización de seguridad o revisión, si es necesario. Hemos de tener en cuenta a la hora de desinstalar una actualización después de la limpieza, que no tendremos la versión anterior por lo que se va a deshacer más, incluso podríamos volver a la versión RTM de algunos archivos o componentes; y esto podría causar problemas. Aunque podría resolverse teniendo una fuente actualizada de dichos archivos.
Espero que les sea de interés y utilidad. Saludos. Roberto Di Lello