PI Services

Le blog des collaborateurs de PI Services

Windows Server 2012 – Optimiser la taille du dossier WinSXS

Rappels

Depuis la sortie de Windows Vista / Windows Server 2008, l’ensemble des composants Windows sont hébergés dans le répertoire C:\Windows\WinSXS.

Cela permet de pouvoir déployer l’ensemble des composants Windows Server (DNS, DHCP, Desktop Experience…) sans jamais avoir recours au média d’installation (DVD, clé USB…).

En revanche, le dossier WinSXS occupe beaucoup de place (entre 5 et 15 Go) et a tendance à occuper de plus en plus de volume avec le temps.

Cela s’explique facilement car ce dossier conserve une copie des anciennes versions des fichiers (.dll, .inf, .exe…) lorsqu’un service pack, mais aussi lorsqu’une simple mise à jour est déployée.

La conservation des anciennes versions des fichiers permet de revenir à l’état antérieur en cas de désinstallation du service pack ou bien de la mise à jour.

Dans certains scénarii, notamment lorsqu’un disque SSD de petite capacité est installé, il peut être nécessaire de réduire la taille du dossier afin de regagner de l’espace.

Optimisation du dossier

Pour réduire la taille du dossier WinSXS il est possible de supprimer les fichiers système antérieurs à l’application d’un service pack avec la commande suivante :

dism.exe /online /cleanup-image /spsuperseded

Cette commande existait déjà sous Windows 7 / Windows Server 2008 R2. Néanmoins dans Windows 8 / Windows Server 2012, il n’existe pas encore de Service Pack.

Windows 8 et Windows Server 2012 apportent une nouvelle option, nommée startcomponentcleanup, qui permet de retirer les anciennes versions de fichiers pour les composants Windows suite à l’application des simples mises à jour (patch KB). Voici la commande à saisir pour retirer ces anciens fichiers :

dism.exe /online /cleanup-image /startcomponentcleanup

image 

Exécutée sur une nouvelle installation de Windows Server 2012 (sans aucun composant déployé mais avec l’ensemble des mises à jour au 12/07/2013), cette commande a permis de réduire la taille du dossier de 700 Mo environ (passage de 11.8 Go à 11.1 Go occupés sur le disque), soit un gain de 7% environ.

image image

Il est possible d’aller encore plus en compressant le dossier, néanmoins cette action est non supportée (contrairement à l’usage de la commande dism.exe qui est une commande standard du système) et également fortement déconseillée dans le cas d’un serveur de production.

Pour ceux qui souhaitent optimiser un environnement de maquettage ou bien un poste de travail non critique, la compression permet tout de même un gain non négligeable (sur le même exemple il est possible de réduire la taille occupée sur le disque de 11.1 Go à 7.3 Go).

image

Pour réaliser la compression du dossier WinSXS (à vos risques et périls !), je vous conseille la procédure suivante qui a le mérite de faire revenir les ACL et l’attribut propriétaire à leur valeur d’origine en fin d’opération.

http://dandar3.blogspot.fr/2013/01/how-to-ntfs-compress-windows-winsxs.html