Datenträgerbereinigung in Windows Server
Im Laufe der Zeit, wenn Ihr Windows Server länger läuft, wird immer mehr Speicherplatz belegt. Einfach weg! Die Untersuchung der Festplattennutzung lässt Sie ahnungslos; Es gibt keine großen Protokolldateien, Crash-Dumps, oder es gibt keine Software entfernt werden. Wohin ist dieser Raum gegangen?
Die Antwort: Windows Updates, Service Pack und Hotfix-Installationen.
Protip: Dieser Beitrag zeigt Ihnen auch, wie Sie den Ordner Windows Server SoftwareDistribution und den Ordner Dokumente des Benutzers auf eine andere Partition verschieben.
WinSxS–Bereinigung in Windows Server – mit DISM und PowerShell#
Das Windows-Dienstprogramm zur Datenträgerbereinigung cleanmgr ist in Windows Server 2012 nicht verfügbar, wenn die Desktop Experience-Funktion nicht installiert ist. Dies macht das Bereinigen des verwendeten Speicherplatzes etwas schwieriger. Sie können Ihre cmd.exe
oder PowerShell-Befehlszeile verwenden und Deployment Image Servicing and Management (DISM) verwenden, um den Windows Component Store (WinSxS) in Windows Server 2012 und höher zu bereinigen.
Der Ordner WinSxS befindet sich beispielsweise im Windows-Ordner C:\Windows\WinSxS. Es ist der Speicherort für Windows Component Store-Dateien.
Der Windows-Komponentenspeicher enthält alle Dateien, die für eine Windows-Installation erforderlich sind. Alle Aktualisierungen dieser Dateien werden bei der Installation der Updates auch im Komponentenspeicher gespeichert (Quelle: KB 2795190 – und verwalten Sie den Komponentenspeicher nicht). Der WinSxS-Ordner wird groß…
Bereinigen wir WinSxS!
Mit Deployment Image Servicing and Management (DISM)#
Dism Disk cleanup: Deployment Image Servicing and Management (DISM) ist ein Befehlszeilentool, mit dem Sie Windows-Funktionen, -Pakete, -treiber und -internationale Einstellungen installieren, deinstallieren, konfigurieren und aktualisieren können. Der /Cleanup-Image
Parameter von dism.exe
bietet fortgeschrittenen Benutzern mehr Optionen, um die Größe des WinSxS-Ordners weiter zu reduzieren.
Die Dism.exe /Online /Cleanup-Image
hat ein paar zusätzliche Parameter (oder Schalter):
/AnalyzeComponentStore
/StartComponentCleanup
-
/ResetBase
mit/StartComponentCleanup
/SPSuperseded
In diesem Artikel gehe ich davon aus, dass Sie die Hilfeoptionen lesen, fügen Sie einfach /?
hinzu, wie: dism.exe /Online /Cleanup-Image /?
.
Wenn Ihnen dies gefallen hat, könnte Ihnen auch der folgende Beitrag gefallen, in dem 5 zusätzliche Möglichkeiten zum Bereinigen des Speicherplatzes in Windows Server zusammengefasst werden!
Analysieren Sie den WinSxS-Ordner (Komponentenspeicher) mit /AnalyzeComponentStore#
Zuerst können Sie den Parameter /AnalyzeComponentStore
verwenden. Dadurch wird die Größe des Komponentenspeichers in Windows analysiert. Die AnalyzeComponentStore-Option ist in Windows 8.1 Windows Server 2012 R2 verfügbar und benachrichtigt Sie, ob eine Bereinigung des Komponentenspeichers empfohlen wird oder nicht.
Code language: PowerShell (powershell)dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
In the above image, AnalyzeComponentStore recommends a Component Store Cleanup. Let’s do so.
/StartComponentCleanup parameter#
Dism.exe removes superseded and unused system files from a system with the /StartComponentCleanup
parameter.
Code language: PowerShell (powershell)dism.exe /Online /Cleanup-Image /StartComponentCleanup
Es gibt auch eine registrierte geplante Aufgabe namens StartComponentCleanup. Sie können diese Aufgabe über die Befehlszeile starten:
Code language: PowerShell (powershell)schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Der Parameter /StartComponentCleanup
wird unter Windows 8, Windows Server 2012 und höher unterstützt.
Verwenden des /StartComponentCleanup-Parameters von Dism.exe unter Windows 10 liefert ähnliche Ergebnisse wie das Ausführen der StartComponentCleanup-Aufgabe im Taskplaner, mit der Ausnahme, dass frühere Versionen aktualisierter Komponenten sofort gelöscht werden (ohne eine 30-tägige Nachfrist) und Sie keine 1-stündige Zeitüberschreitungsbeschränkung haben.
Geben Sie in einer Eingabeaufforderung mit erhöhten Rechten Folgendes ein:Kopieren
Code language: PowerShell (powershell)Dism.exe /online /Cleanup-Image /StartComponentCleanup
/ResetBase Schalter mit /StartComponentCleanup Parameter#
Mit dem /ResetBase
Schalter mit dem /StartComponentCleanup
Parameter von dism.exe
, alle abgelöste Versionen aller Komponenten im Komponentenspeicher werden entfernt.
Code language: PowerShell (powershell)dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Alle vorhandenen Service Packs und Updates können nach Abschluss dieses Befehls nicht deinstalliert werden. Dadurch wird die Deinstallation zukünftiger Service Packs oder Updates nicht blockiert.
Der Parameter /ResetBase
wird unter Windows 8.1 und Windows Server 2012 R2 unterstützt.
/SPSuperseded parameter#
Der /SPSuperseded
Parameter entfernt alle Sicherungskomponenten, die für die Deinstallation eines Service Packs benötigt werden. Das Service Pack kann nach Abschluss dieses Befehls nicht deinstalliert werden.
Code language: PowerShell (powershell)dism.exe /Online /Cleanup-Image /SPSuperseded
Das Service Pack kann nach Abschluss dieses Befehls nicht deinstalliert werden.
Der Parameter /SPSuperseded
wird unter Windows 7 oder Windows Server 2008 R2 Service Pack 1, 2012, 2012 R2 unterstützt.
Die Option
/AnalyzeComponentStore
ist in Windows 8.1 und Windows Server 2012 R2 verfügbar. Verwenden Sie diese Option, um die Größe des Komponentenspeichers (WinSxS-Ordner) in Windows zu analysieren.
Das Datenträgerbereinigungstool ist unter Windows Server 2012 verfügbar, jedoch nicht unter Windows Server 2012 R2#
Wie zu Beginn dieses Artikels erwähnt, ist das Datenträgerbereinigungstool unter Windows Server 2012 verfügbar, wenn Sie die Desktop Experience-Funktion installieren.
In einigen Versionen von Windows Server können Sie einfach cleanmgr.exe
und cleanmgr.exe.mui
auf C:\Windows\system32
und C:\Windows\system32\en-Us
von einem alten Windows 2008 R2-Server kopieren, wenn Sie die Desktop Experience-Funktion nicht installieren möchten.
Die folgenden Schritte zum Installieren (Kopieren) von cleanmgr funktionieren möglicherweise nicht auf allen Versionen von Windows Server. Versuchen Sie es selbst.
Disk Cleanup Wizard Addon auf Windows Server 2008 R2
Microsoft KB2852386 fügt eine Datenträgerbereinigung Option auf Windows Server 2008 R2, ähnlich dem Windows 7 Update. Ich habe dies auf Windows Server 2012 getestet. Es kann nicht alles aufräumen, aber zumindest viel.
So stellen Sie cleanmgr.exe
unter Windows Server 2012 Standard (Windows Version 6.2.9200) zur Verfügung, ohne die Desktop Experience-Funktion zu installieren:
Code language: PowerShell (powershell)Microsoft Windows (c) 2012 Microsoft Corporation. All rights reserved.PS C:\Users\jan> $osversion = ::OSVersion.VersionPS C:\Users\jan> write-host $osversion6.2.9200.0C:\Windows\System32>cd ..C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui \Windows\system32\en-US 1 file(s) copied.C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe \Windows\system32 1 file(s) copied.C:\Windows>system32\cleanmgr.exeC:\Windows>
Leider funktioniert dies nicht mehr unter Windows Server 2012 R2 (6.3.9600), wahrscheinlich aufgrund von KB2821895. Wie Aaron in den Kommentaren darauf hingewiesen hat, funktioniert die obige Lösung zum Kopieren der Dateien cleanmgr.exe
und cleanmgr.exe.mui
nicht immer gut. Daher habe ich diese Informationen für Windows Server 2012 R2 entfernt.
Glücklicherweise ist die Datenträgerbereinigungsfunktion in Windows Server 2016 (mindestens TP5) wieder verfügbar.
Nach dem Bereinigen der Festplatte ist ein Neustart des Servers erforderlich. Vergessen Sie nicht, Ihren Computer – oder Server – danach neu zu starten! Die eigentliche Bereinigung des WinSxS-Verzeichnisses erfolgt beim nächsten Neustart.
Fehler 0x800f0906 mit DISM /Online /Cleanup-Image, PowerShell Install-WindowsFeature und SFC /scannow#
Einige Berichte sind im Microsoft Security Bulletin MS14-046, DISM /Online /Cleanup-Image /RestoreHealth, PowerShell Install-WindowsFeature mit -Source
Parameter und SFC /scannow
. Ja, es ist viel kaputt gegangen …
Microsoft stellt ein Update zur Verfügung: KB3005628
Update für .NET Framework 3.5 unter Windows 8, Windows 8.1, Windows Server 2012 und Windows Server 2012 R2. Dieses Update behebt ein Problem, das verhindert, dass das optionale Microsoft .NET Framework 3.5-Feature aktiviert wird, nachdem Sie das Sicherheitsupdate 2966827 oder 2966828 (beschrieben im Microsoft Security Bulletin MS14-046) für Microsoft .NET Framework 3.5 installiert haben.
Windows Server SoftwareDistribution-Ordner verschieben#
Im Laufe der Zeit kann Ihr Windows Updates SoftwareDistribution-Ordner in c:\Windows\SoftwareDistribution
ziemlich groß werden, z. B. wenn mehrere Updates nicht erfolgreich installiert wurden.
Windows Update-Dateien werden in diesen Ordner heruntergeladen und nach erfolgreicher Installation entfernt. Wenn Sie sich in einer Situation befinden, in der Ihre C:
-Partition eher klein ist und der SoftwareDistribution-Ordner zu viel Speicherplatz belegt, führen Sie die folgenden Schritte aus, um den SoftwareDistribution-Ordner an einen anderen Speicherort zu verschieben.
Alles in einer cmd.exe
Shell (Start > Run >cmd
und drücken Sie die Eingabetaste). In diesem Beispiel ist der neue Speicherort D:\Windows-SoftwareDistribution
.
- Beenden Sie den Windows Update-Dienst:
- Benennen Sie den Ordner um
c:\Windows\SoftwareDistribution
zuc:\Windows\SoftwareDistribution.old
rename c:\windows\SoftwareDistribution SoftwareDistribution.old
- Erstellen Sie einen Link mit Windows Sysinternals Junction oder Windows mklink
- Erstellen Sie das neue Verzeichnis:
mkdir D:\Windows-SoftwareDistribution
- Erstellen Sie die Verbindung:
c:\>junction C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution"
, oder:c:\>mklink /J C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution"
- Erstellen Sie das neue Verzeichnis:
- Starten Sie den Windows Update-Dienst:
net start wuauserv
Wenn nach einer Weile alles gut zu laufen und zu aktualisieren scheint, löschen Sie Ihre SoftwareDistribution.alten Ordner.
Ordner für Benutzerdokumente verschieben#
Eine andere Möglichkeit, zusätzlichen Speicherplatz zu gewinnen, besteht darin, den Ordner für Benutzerdokumente (und andere, z. B. Downloads) zu verschieben, z. B. von C:\Users\$USER$\Documents
nach D:\User\$USER$\Documents
(ersetzen Sie $USER$ durch den Benutzernamen, dessen Dokumentenordner Sie verschieben möchten). Hier sind die Schritte, die Sie ausführen müssen (Screenshots von Windows Server 2016 TP5):
- Öffnen Sie den Explorer und klicken Sie mit der rechten Maustaste auf den Ordner Dokumente und dann auf Eigenschaften
- Wählen Sie den Speicherort
- Ändern Sie den Speicherort der Dateien
- Wenn das Ziel nicht vorhanden ist, fordert Windows auf, den Ordner für Sie zu erstellen
- Nach Abschluss werden die Dateien an ihren neuen Speicherort verschoben.
Fazit#
Ja, der Windows-Komponentenspeicher (WinSxS-Ordner) kann sehr groß werden. Glücklicherweise bietet uns Microsoft die Tools zum Überwachen, Verwalten und Bereinigen des WinSxS-Ordners, um den verwendeten Speicherplatz wiederzugewinnen.
Wenn Sie mit der Installation der Desktop Experience Windows-Funktion auf Ihrem System vertraut sind, können Sie das Dienstprogramm zur Datenträgerbereinigung auf Ihrem System verwenden. Andernfalls können Sie den Befehl DISM (Deployment Image Servicing and Management) für verschiedene Bereinigungsaufgaben verwenden.
Um zusätzlichen freien Speicherplatz zu erhalten, können Sie auch den Ordner Windows SoftwareDistribution in eine andere Partition verschieben.
Leave a Reply