Wer ein neueres Windows nutzt wird ihm sicher schon einmal begegnet sein: C:\Windows\winsxs. Der Spielverderber für alle, welche die Systemplatte gerne etwas schlanker hätten. Seit Windows Vista werden hier bei jeder Systemänderung Kopien der installierten Bibliotheken aufbewahrt. Während man bei älteren Windows-Versionen unter C:\Windows\$NtUninstall* ein ähnliches verhalten sah hat sich mit WinSxs einiges geändert. Zum Ersten: Man darf ihn nicht mehr einfach löschen. Wärend auf älteren Versionen die Dateien ausschließlich zur Deinstallation von Updates dienten werden die älteren Kopien unter Vista und höher auch für Programme und zukünftige Updates herangezogen. Ein Entfernen dieser Dateien kann zu Systemfehlern führen. Hinzu kommt, dass die Ordnergröße trügt: Zwar enthält der Ordner alle gezeigten Dateien, teils sind diese aber auch an anderen Stellen der Partition vorhanen. Dies wird durch die Verwendung von Hard-Links erreicht. Das entfernen der Datei im WinSxs-Ordner würde also nicht nur das System destabilisieren sondern zudem nicht einmal den Platz auf der Festplatte freigeben. Auch sollte man davon absehen den Ordner auf eine andere Festplatte oder Partition zu verschieben – dies würde die Links zerstören und entsprechend ebenfalls dem System schaden.
Auch wenn es nach wie vor einem Kampf gegen Windmühlen gleicht gibt es trotzdem einige Kniffe, mit denen man etwas Platz schaffen kann:
Die Datenträgerbereinigung
Meist müde belächelt kann diese ausnahmsweise Weiterhelfen. Unter anderem finden sich hier ab und an Setupdateien, welche wohl auch in WinSxs deponiert sein können. Auf Servern ist diese im Übrigen nicht verfügbar und müsste ggf. über das Feature „Desktopdarstellung“ nachinstalliert werden. Bei Windows Server 2012 versteckt sich dies unter „User Interface and Infrastructure“.
Wenn noch nicht geschehen benötigt man noch ein Update für Windows 7 oder Windows Server 2008 R2 um dem Tool die Updatebereinigung beizubringen. Mehr gibt es im Technet: Win7, Win2008R2, Win12.
Die Service-Packs
Service-Packs enthalten oft eine vielzahl von Updates, welche bereits in der Vergangenheit separat verteilt wurden. Hat man nicht vor ein Downgrade durchzuführen lassen sich diese fest inst System integrieren. Hierzu öffnet man bei aktuellen Windows-Versionen (>=Windows 7 oder >=Windows Server 2008 R2 Service Pack 1) die Konsole als Administrator und verwendet folgenden Befehl:
DISM.exe /Online /Cleanup-Image /spsuperseded
Der Vorgang kann einige Zeit in anspruch nehmen, auch wenn der Fortschritt mit 100% angegeben wird. Ich konnte den Ordner so immerhin von 20,8 auf 16,1GB verkleinern – eine Ersparnis von über 20%.
Die Backups
Hier kommen wir eher in den ungemütlichen Bereich. Microsoft selbst rät davon ab im Ordner manuell herum zu spielen, aber je nach System hat man meist keine andere Wahl mehr als irgendwo notdürftig Platz zu schaffen. In den meisten Fällen sollte es aber problemlos möglich sein den unterordner „Backup“ zu löschen. Hier werden Bibliotheken hersortiert, welche sonst keine Verwendung finden sollten.
…und nu?
Nach wie vor ist mir der Ordner WinSxs ein Dorn im Auge. Eine Windows-Installation, welche mehr als 40GB frisst macht weder virtualisiert noch physikalisch Spaß. Immerhin kann man mit diesen Tricks etwas Platz schaffen und so den Platztod etwas herauszögern. Ansonsten ist es wie immer eine gute Gelegenheit die Windows-Admins mit einem süffisanten „Mit Linux wär‘ das nich‘ passiert“ zu strafen.