Verwalten des Komponentenspeichers

„Warum ist WinSxS so groß?“ fragen Windows-Benutzer häufig. Diese Frage wird immer wieder in Blogbeiträgen besprochen. Dieses Thema geht hingegen ein wenig detaillierter auf die Konzepte hinter dem Komponentenspeicher (und insbesondere dem WinSxS-Ordner) ein und bietet dann Links zu Themen, die Möglichkeiten besprechen, um die Größe des WinSxS-Ordners besser zu verwalten.

Die kurze Antwort besteht darin, dass der WinSxS-Ordner nicht so groß ist, wie es auf den ersten Blick scheint, da Größenberechnungen unter Umständen Windows-Binärdateien enthalten, die an einem anderen Ort gespeichert sind, wodurch der WinSxS-Ordner größer erscheint als er wirklich ist.

Der Windows-Komponentenspeicher und der WinSxS-Ordner

Der Ordner „WinSxS“ befindet sich im Windows-Ordner, z. B. c:\Windows\WinSxS. Er ist der Speicherort für Dateien des Windows-Komponentenspeichers. Der Windows-Komponentenspeicher wird verwendet, um die für die Anpassung und Aktualisierung von Windows erforderlichen Funktionen zu unterstützen. Hier sind einige Beispiele für die Verwendung von Dateien des Windows-Komponentenspeichers:

  • Verwenden von Windows Update, um neue Komponentenversionen zu installieren. Dadurch bleiben Systeme sicher und auf dem neuesten Stand.

  • Aktivieren oder Deaktivieren von Windows-Features

  • Hinzufügen von Rollen oder Features mithilfe des Server-Managers

  • Verschieben von Systemen zwischen verschiedenen Windows-Editionen

  • Systemwiederherstellung nach Beschädigung oder Startfehlern

  • Deinstallieren problematischer Updates

  • Ausführen von Programmen mit parallelen Assemblys

Der Windows-Komponentenspeicher wurde erstmals in Windows XP eingeführt, um parallele Assemblys zu unterstützen. Ab Windows Vista wurde der Komponentenspeicher erweitert, damit er alle Komponenten nachverfolgen und nutzen kann, aus denen das Betriebssystem besteht. Diese verschiedenen Betriebssystemkomponenten verfolgen Objekte wie Dateien, Verzeichnisse, Registrierungsschlüssel und Dienste nach. Bestimmte Komponentenversionen werden dann zusammen in Paketen gesammelt. Pakete werden von Windows-Update und DISM zum Aktualisieren von Windows verwendet. Die Komponenten und Pakete, die in einer Windows-Installation verwendet werden, werden vom Windows-Komponentenspeicher verarbeitet. Die Ermittlung der Größe des Windows-Komponentenspeichers wird durch die Tatsache verkompliziert, dass Windows viele Dateien aus Verzeichnissen außerhalb des Windows-Komponentenspeichers verwendet. Dies geschieht mithilfe einer Technik, die als feste Verknüpfung bezeichnet wird. In solchen Fällen werden die Dateien aus einer Komponentenversion sowohl innerhalb als auch außerhalb des Windows-Komponentenspeichers angezeigt. Mithilfe der festen Verknüpfung kann Windows mehrere Kopien derselben Datei beibehalten, ohne den hinzugefügten Speicherplatz für mehrere Kopien in Anspruch zu nehmen.

Eine feste Verknüpfung ist ein Dateisystemobjekt, das es zwei Dateien ermöglicht, auf denselben Speicherort auf dem Datenträger zu verweisen. Dies bedeutet, dass mehrere Dateien auf dieselben Daten verweisen können und sich Änderungen an diesen Daten in einer Datei in den anderen Dateien wiederspiegeln. Dadurch wird das Thema Verzeichnisgröße kompliziert, wie im folgenden Beispiel dargestellt:

  1. Verzeichnis A verfügt über drei Dateien: 1.txt, 2.txt und 3.txt.

  2. Verzeichnis B verfügt über eine Datei: 4.txt.

  3. Die Dateien 1.txt und 2.txt sind fest miteinander verknüpft und enthalten 1 MB an Daten.

  4. Die Dateien 3.txt und 4.txt sind ebenfalls fest miteinander verknüpft und enthalten 2 MB an Daten.

Beispiel für feste Verknüpfungen

In diesem Beispiel können Sie sehen, dass die festen Verknüpfungen es ermöglichen, dass mehrere Dateien auf denselben Datensatz verweisen.

Was ist jetzt die Größe von Verzeichnis A?

Die Antwort hängt davon ab, was Sie mit Verzeichnis A tun möchten:

  1. Wenn Sie die Dateien in Verzeichnis A lesen, ist die Größe aller gelesenen Dateien die Summe der einzelnen Dateigrößen. In diesem Beispiel wären das 4 MB.

  2. Wenn Sie alle Dateien aus Verzeichnis A an einen neuen Speicherort kopieren, ist die Menge der kopierten Daten die Summe aller Daten aus den Dateien, die fest verknüpft sind. In diesem Beispiel wären das 3 MB.

  3. Wenn Sie versuchen, Speicherplatz freizugeben, indem Sie Verzeichnis A löschen, wird die Reduzierung der Größe nur für die Dateien angezeigt, die durch Verzeichnis A fest verknüpft sind. In diesem Beispiel beträgt die Einsparung 1 MB.

Zurück zur Frage, wie viel Speicherplatz der Windows-Komponentenspeicher und insbesondere der WinSxS-Ordner verwendet. Die dritte Antwort im Beispiel mit Verzeichnis A stimmt am ehesten damit überein, wie viel zusätzlicher Speicherplatz verwendet wird. Dateien, die mit dem restlichen System fest verknüpft sind, sind für Systemvorgänge erforderlich, weshalb sie nicht mitgerechnet werden sollten, und für Dateien, die mit mehreren Speicherorten innerhalb des Komponentenspeichers fest verknüpft sind, sollte nur die Größe auf dem Datenträger gerechnet werden.

Verwalten des Windows-Komponentenspeichers

Sie können neue Features in Windows 8.1 und Windows Server 2012 R2 verwenden, um den Windows-Komponentenspeicher zu verwalten:

Ermitteln der tatsächlichen Größe des WinSxS-Ordners

Bereinigen des WinSxS-Ordners

Reduzieren der Komponentenspeichergröße in einem Windows-Image (Offline)

Wo ist mein Speicherplatz hin? (Blogbeitrag)

Weitere Informationen zu festen Verknüpfungen

Blogbeitrag zu NTFS-Metafiles