Es gibt einen schönen Befehl, der nach einer Installation von Windows 7 SP1 aufräumt (es hat mich um 3 GB gespart):
DISM /online /cleanup-Image /spsuperseded
Muss von einer Eingabeaufforderung mit erhöhten Rechten ausgeführt werden
Eine von mir verwendete virtuelle Vista-Maschine hat nur eine virtuelle Festplatte mit 10 GB - und ich mache mir Sorgen, dass der Speicherplatz im Laufe der Zeit nicht mehr ausreicht.
Ich habe TreeSize verwendet, um nach den Schuldigen zu suchen.
Der Hauptschuldige ist der /winsxs
Ordner "Windows Side-By-Side" .
Was ist der Windows-Nebeneinander-Ordner? Nun, das ist hier ziemlich gut erklärt .
Alle Komponenten des Betriebssystems befinden sich im Ordner WinSxS. Wir bezeichnen diesen Speicherort als Komponentenspeicher. Jede Komponente hat einen eindeutigen Namen, der die Version, die Sprache und die Prozessorarchitektur enthält, für die sie erstellt wurde. Der WinSxS-Ordner ist der einzige Ort, an dem die Komponente auf dem System gefunden wird. Alle anderen Instanzen der Dateien, die Sie auf dem System sehen, werden durch Festverknüpfung aus dem Komponentenspeicher „projiziert“. Lassen Sie mich den letzten Punkt wiederholen - es gibt nur eine Instanz (oder vollständige Datenkopie) jeder Version jeder Datei im Betriebssystem, und diese Instanz befindet sich im Ordner WinSxS. Aus dieser Perspektive betrachtet, ist der WinSxS-Ordner tatsächlich die Gesamtheit des gesamten Betriebssystems, was in Down-Level-Betriebssystemen als "flach" bezeichnet wird.
Das erklärt, warum der Ordner groß anfängt, aber nicht, warum er mit der Zeit immer größer wird - die Antwort auf diese Frage ist die Wartung. In früheren Windows-Versionen war die Datei die atomare Einheit der Wartung, in Windows Vista die Komponente. Wenn wir eine bestimmte Binärdatei aktualisieren, veröffentlichen wir eine neue Version der gesamten Komponente, und diese neue Version wird neben der ursprünglichen Version im Komponentenspeicher gespeichert. Die höhere Version der Komponente wird auf das System projiziert, die ältere Version im Geschäft wird jedoch nicht berührt. Der Grund dafür ist der dritte Teil, warum der Komponentenspeicher so groß wird.
Viele andere Leute beschweren sich auch über die Größe des / winsxs-Ordners :
Vor kurzem erhielt ein Mitarbeiter seinen alle zwei Jahre aktualisierten Arbeitslaptop und war gerade dabei, seinen neuen Laptop mit Vista zu laden. Aus irgendeinem Grund wurde seine Festplatte C: auf nur 25 GB partitioniert und der Rest des Speicherplatzes für ein viel größeres Laufwerk D: reserviert.
Nach dem Laden vieler Windows-Updates blieb auf C: kaum noch Speicherplatz übrig, und aus irgendeinem Grund hatte das WinSxS-Verzeichnis mehr als 8 GB.
Ich wusste zwar, wofür das WinSxS-Verzeichnis (Windows Side-by-Side) gedacht war, aber ich war mir nicht ganz sicher, warum dieses Verzeichnis bei normalen Betriebssystemupdates so schnell explodierte.
Es ist mir nicht wirklich wichtig, alle diese doppelten Dateien zur Sicherheit zu haben, aber es ist mir wichtig, dass die VM aufgrund eines zu hohen Speicherplatzfehlers explodiert. Also ... kann / winsxs in irgendeiner Weise sicher abgespeckt werden? Es scheint nicht, dass es sein kann ..
Administratoren sollten aus keinem Grund das Verzeichnis / winsxs bereinigen, da sonst Windows Update und MSI danach möglicherweise nicht ordnungsgemäß funktionieren. Das versehentliche Löschen aus dem Verzeichnis wird verhindert, indem das Verzeichnis, das die untergeordneten Elemente erbt, mit einer starken Sicherheitsbeschreibung versehen wird.
Wenn dieser / winsxs-Ordner noch größer wird, muss ich diese virtuelle Maschine neu erstellen. Was ich wirklich nicht tun möchte!
Es gibt einen schönen Befehl, der nach einer Installation von Windows 7 SP1 aufräumt (es hat mich um 3 GB gespart):
DISM /online /cleanup-Image /spsuperseded
Muss von einer Eingabeaufforderung mit erhöhten Rechten ausgeführt werden
winsxs enthält eigentlich harte Links . Es nimmt nicht so viele zusätzliche Daten auf, wie Sie denken.
Eine feste Verknüpfung ist wie eine 'Verknüpfung' oder 'Zeiger' auf eine tatsächliche Datei, die sich irgendwo auf Ihrer Festplatte befindet. Ein Hardlink beansprucht keinen Festplattenspeicherplatz: Er dient lediglich als Weiterleitung.
Da winsxs aus harten Links besteht, wird durch das Löschen dieser Links kein Speicherplatz frei. Die eigentlichen Dateien verbleiben weiterhin an verschiedenen Stellen auf Ihrer Festplatte.
... es ist eine Lösung! (Na ja, meistens .)
Eine Zusammenfassung "Als Antwort markiert von Ronnie Vernon, MVP, Moderator" sagt hier :
Wow, lange Diskussion über Hardlinks und Winsxs. Wie dem auch sei, hier sind einige Punkte zusammengefasst, was ich darüber verstanden habe, wie alles funktioniert.
Um zu beginnen, indem Sie die Frage des OP mit der perfekten Antwort von Andre.Ziegler beantworten, berühren Sie nicht winsxs. Möglicherweise können einige Dateien wie MP3, Avi usw. beschnitten werden, die restlichen Systemdateien sollten jedoch in Ruhe gelassen werden . Ich verwende auch Link Shell Extension, wie von Ronnie Vernon veröffentlicht, eine einfache Möglichkeit, zu sehen, welche Hardlinks (roter Pfeil) und welche einfachen Dateien sind.
Bevor ich hierher kam, sah ich an vielen Orten Leute, die nach der Installation des SP1 für Windows 7 wie vsp1cln nach dem Bereinigungstool fragten. Es gibt kein dediziertes Tool, alles wurde in den Datenträgerbereinigungsdienst integriert. Eine Anmerkung, die ich hier machen würde, ist, dass selbst wenn die Option besagt, dass einige Hundert MB entfernt werden, nachdem ich mein Laufwerk bereinigt hat, der Dienst etwa 3 GB an überzähligen Dateien entfernt hat, so dass er von System zu System unterschiedlich ist. Komisch, jetzt habe ich noch mehr Platz als vor der Installation von SP1. Schön, MS.
Was die harten Verbindungen angeht, so hat mich die Verwirrung um sie herum amüsiert. Ich bin kein Linux-Freak und verwende normalerweise nur Softlinks. Das reicht mir, aber die Leute haben nicht verstanden, wie die harten funktionieren und wie die Größe gezählt wird.
Eine Gruppe ausgewählter Dateien (Links oder nicht) wird immer als Summe gezählt. Dies bedeutet, dass, wenn ich eine 10-MB-Datei nehme und zwei feste Links mache, die Auswahl aller drei 30MB hat und dies die richtige Größe ist, da sie sich im Gegensatz zu den Softlinks, die sich auf den ursprünglichen Master-Dateitabelleneintrag der Datei beziehen, und haben 0 Bytes, harte Links beziehen sich auf die Daten selbst, haben einen eigenen Eintrag in MFT, weisen jedoch auf die gleiche Datenadresse hin und haben offensichtlich die Größe der tatsächlichen Daten, die gleichen Zeiten, Attribute und so weiter. Warum unten?
Wie viel bleibt auf der Festplatte? Einfach: genau so viel wie die eigenen Eigenschaften des Laufwerks . Wählen Sie nicht alle Dateien aus, die auf C versteckt und nicht verborgen sind, und vergleichen Sie sie oder verwenden Sie Tools, die dies automatisch tun, da die tatsächliche Festplattennutzung nicht angezeigt wird. Warum? Weil:
- Bei diesem Vorgang wird eine Liste aller ausgewählten Dateien einschließlich fester Verknüpfungen als separate Dateien erstellt, jede davon wird zusammengefügt und die Größen addiert. Die Laufwerkseigenschaften zählen die tatsächlich gespeicherten Daten
- Es werden nicht alle Dateien gezählt, vor dem Durchlauf geschützte Ordner und das Lesen von Dateien werden nicht gezählt, und die System Volume-Informationen enthalten normalerweise sehr große Dateien, die nur auf diese Weise geschützt werden
- Diese Nummer ist nur in Fällen von Dateiübertragung nützlich, wenn die Dateien, Links usw. auf DVD oder NAS kopiert werden müssen. Dies ist die Menge, die sie belegen würden, und die Links werden nicht beibehalten, da es sich um NTFS-spezifische Funktionen handelt, die nicht verfügbar sind oder in verschiedenen Formen unter ISO, UDF, NFS und anderen Dateisystemen verfügbar, sie werden jedoch geklont.
Machen Sie einen Test ... kopieren Sie eine 10-MB-Datei (a.exe) von einem anderen Laufwerk und beachten Sie, wie der freie Speicherplatz um 10 MB fällt. Machen Sie eine feste Verbindung (mklink / H b.exe a.exe). Jetzt werden diese beiden ausgewählten Dateien 20 MB in den Auswahleigenschaften "verwenden", tatsächlich werden jedoch nur 10 MB in den Eigenschaften des Laufwerks überprüft, die denselben freien Speicherplatz haben wie nach der Dateikopie. Löschen Sie einen oder beide, der freie Speicherplatz bleibt gleich. Löschen Sie jetzt den letzten und der Speicherplatz wird um 10 MB erhöht. Wurde Schaden angerichtet? NEIN.
Was ist Winsxs? Ein viel besserer dllcache. Während beim dllcache in XP Kopien von Dateien vorhanden waren, die seit dem Klonen tatsächlich zur Größenverwendung beigetragen haben, verbessert dies zwar die Verwendung, jedoch nicht den vollständigen Schutz (vor Viren). Wenn ein schädliches Deinstallationsprogramm der Meinung ist, einige Laufzeitbibliotheken aus System32 entfernen zu müssen, werden nur die Links gelöscht, nicht jedoch die Daten. Dann werden die Links neu erstellt, wobei die Speicherplatznutzung auf einem möglichst niedrigen Wert gehalten wird Die Kabinen neben den Originaldateien. Außerdem bringt winsxs Serialisierung mit sich, die Dateien mit demselben Namen, aber unterschiedlicher Version abteilt. Dies ist eine gute Sache / eine schlechte Sache. Das macht sie faul zum richtigen Code, aber es hilft, wenn sie nicht mehr programmieren wollen.
Ich habe dies getan, um jedem zu helfen, der hier landet, aus den gleichen Gründen, die ich gemacht habe ... übermäßige "Nutzung von Speicherplatz" durch Winsxs nach SP1. Und ich hoffe es war hilfreich.
Diese Duplikate und Sicherungen sind äußerst ärgerlich, wenn der Speicherplatz begrenzt ist.
An diesem Ort konnte ich die Stabilität des Betriebssystems nicht gefährden, indem ich großzügig die Einstellung "Inhalt komprimieren, um Speicherplatz zu sparen" verwendet .
Durch die Komprimierung all dieser Sicherungsverzeichnisse unter dem Windows-Verzeichnis konnte ich die Verzeichnisgröße von 6,5 GB auf 5 GB reduzieren, ohne dass dabei erkennbare Nebenwirkungen auftraten. Wenn Sie es für ein paar Ihrer Sachen außerhalb des Fensterverzeichnisses verwenden, werden Ihre 10 GB noch stärker beansprucht.
Wenn Sie über Vista verfügen und SP2 installiert haben, können Sie alte Systemdateien mit dem neuen Service Pack- Bereinigungstool bereinigen .
In Windows 8 you can reduce the size of the WinSxS folder by removing Windows Features:
DISM.exe /Online /Disable-Feature /Featurename:<name> /Remove
The important thing is the /Remove parameter which is new to Windows 8.
The most space in WinSxS is used the WindowsUpdates which you install over the time. In Windows 8/Windows 10 you can detect and remove Updates which are replaced by newer updates (like newer cumulative IE Updates) be running this command:
dism.exe /online /cleanup-image /startcomponentcleanup
or running the disk cleanup wizard and select "Windows Update Cleanup"
Also make sure you've installed the servicing stack update http://support.microsoft.com/kb/2821895.
This updates run an in deep cleanup of WinSxS and compresses all DLLs/Exe files, from WinSxS which are not currently in use, into smaller delta file:
Look at the different file sizes.
Windows 8.1 adds new DISM commands. The /startcomponentcleanup
gets a new parameter /ResetBase
which makes your last Update permanent and removes all older files to save more space.
You can also run a new command dism /online /cleanup-image /analyzecomponentstore
to analyze the WinSxS folder:
It tells you now when you should run the cleanup to save space.
Sie können VSP1CLN.EXE verwenden, um SP1 dauerhaft zu machen, wodurch gemäß dieser Seite abgelöste Komponenten durch SP1 freigegeben werden.
Gute Nachrichten! Es gibt jetzt eine offiziell genehmigte Methode von Microsoft für Windows 7 SP1, um Ihren WinSXS-Ordner zu bereinigen .
Vorsichtsmaßnahme: Möglicherweise können Sie bestimmte Windows-Updates nach der Bereinigung Ihres WinSxS-Ordners nicht deinstallieren.
Sieht aus wie es endlich eine Möglichkeit, dies zu tun in Windows - 8.1 Service Pack 1 und Windows Server 2012 R2 .
Analysetool für Komponentenspeicher:
Dism.exe /Online /Cleanup-image /AnalyzeComponentStore
Am Ende des Scans erhält der Benutzer einen Bericht über die Ergebnisse (tatsächliche Größe des Winsxs-Ordners) wie folgt:
Bauteilspeicherbereinigung:
Die Bereinigung von Komponentenspeichern muss heute manuell durch einen Endbenutzer ausgelöst werden, entweder durch Ausführen von DISM oder mithilfe des Assistenten zur Datenträgerbereinigung. Um die Component Store-Bereinigung für den durchschnittlichen Endbenutzer nützlicher zu machen, wird es zu einer Wartungsaufgabe hinzugefügt, wodurch automatisch Speicherplatz für Endbenutzer eingespart wird. Um dies zu ermöglichen, wird eine Änderung vorgenommen, um die Deinstallation abgelaufener Inbox-Treiber zu ermöglichen, ohne dass ein Neustart erforderlich ist (heutzutage erfordern alle von CBS durchgeführten Treiberinstallationen / -Installationen einen Neustart).
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Datenträgerbereinigungstool, Schaltfläche Systemdateien bereinigen.
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Dism ++ ist das, wonach Sie suchen ( https://www.chuyu.me/de/index.html ).
Sie sparen Gigabytes Speicherplatz ...
Sie müssen "Ersetzte WinSxS-Baugruppen" auswählen. Wenn Sie dies tun, erhalten Sie eine Warnung, dass diese installierten Updates nicht deinstalliert werden können. Klicken Sie auf OK und scannen Sie anschließend
Sie erhalten eine Vorstellung davon, wie viel Platz Sie sparen. Klicken Sie auf cleanup, und es sollte diesen Platz aufräumen.
Ich hoffe, es wird hilfreich sein, einen einfachen Oneliner zu haben, da Jeff Atwoods Misserfolg ansonsten großartig ist /ResetBase
.
Achtung : Dieser Schalter hilft sehr die Größe des WinSxS Ordners zu reduzieren, sondern löscht vollständig frühere Versionen von Komponenten, so dass Sie nicht in der Lage sein, bevor alle Updates installieren rückgängig zu machen . Wenn sich Ihr System jedoch gut verhält, sollten Sie sicher sein (insbesondere, wenn Sie sich nicht in einer Produktionsumgebung befinden).
dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Dies funktioniert in Windows 8.1 und höher