Andrea Danti - Fotolia

Windows SFC und DISM zur Rettung beschädigter Systemdateien einsetzen

Fehlerhafte Systemdateien verursachen meist ernstzunehmende Probleme. Mit den Windows-Tools SFC und DISM lassen sie sich aufspüren und reparieren.

Mit der Zeit kann es passieren, dass Systemdateien einer Windows-Server-Installation beschädigt werden. In vielen Fällen ist es dann möglich, das Betriebssystem zu reparieren, ohne dafür den Server herunterfahren zu müssen. Zum Einsatz kommen dann zum Beispiel der eingebaute System File Checker (SFC) oder das wesentlich mächtigere DISM-Tool (Deployment Image Servicing and Management).

Der Windows System File Checker, im Deutschen Systemdatei-Überprüfungsprogramm genannt, und DISM, im Deutschen auch als Abbildverwaltung für die Bereitstellung bekannt, sind Utilities für Administratoren. Sie können Systemdateien verändern und müssen daher zwingend von einer mit Administratorrechten ausgestatteten Kommandozeile aus gestartet werden.

Troubleshooting mit dem System File Checker

Das Utility Windows SFC untersucht und verifiziert die Versionsinformationen, Dateisignaturen und Prüfsummen aller geschützten Systemdateien von Windows-basierten Desktop- und Server-Betriebssystemen. Werden dabei irgendwelche geschützten Dateien gefunden, die geändert oder überschrieben wurden, so versucht das Tool, die geänderten Dateien durch ihre ursprünglichen Versionen aus dem Verzeichnis %systemroot%\system32\dllcache zu ersetzen.

Sämtliche Schritte der Ausführung von SFC werden in der Datei %Windir%\CBS\CBS.log protokolliert. Werden nicht-behebbare Fehler gemeldet, so sollten die davon betroffenen Dateien ermitteln werden. Eine Suche nach dem Wort corrupt hilft dabei, die meisten Problemstellen aufzufinden.

Die SFC-Syntax sieht folgender maßen aus:

C:\Windows\System32> sfc /scannow

Die Direktive /scannow weist den Befehl an, sofort mit der Arbeit loszulegen. Es kann einige Zeit dauern, bis diese Arbeit vollendet ist – so sind etwa 15 Minuten für Server mit großen Laufwerken für Daten nicht ungewöhnlich. Die Abarbeitung nimmt während ihrer Laufzeit in etwa 60 bis 80 Prozent einer einzelnen CPU in Anspruch, auf Servern mit mehr als vier Kernen wird dies eine geringfügige Auswirkung auf die Leistung haben.

Es gibt Fälle, bei denen der System File Checker die als geändert erkannten Dateien nicht ersetzen kann. Das bedeutet aber nicht zwangsläufig neue Probleme. Beispielsweise gibt es in neueren Windows-Builds Grafiktreiber, die als defekt gemeldet werden können. Das Problem sind dann aber nicht die Treiberdaten selbst, sondern die Windows-Dateien. Also gibt es in einer solchen Situation tatsächlich keine Notwendigkeit für eine Reparatur.

Das mächtigere Tool: Deployment Image Servicing and Management

Das Kommandozeilen-Tool DISM ist deutlich mächtiger und leistungsstärker als der System File Checker und wird vor allem auch zum Image-Management eingesetzt. Es prüft zum Beispiel zusätzlich eine weitere Dateiquelle – nämlich den Ordner %windir%\WinSXS, auch bekannt als Component Store. Außerdem verfügt DISM über die Möglichkeit, Ersatzdateien aus einer Vielfalt potenzieller Quellen zu beziehen. DISM bietet sogar einen schnellen Weg zur Prüfung eines Images an, bevor versucht wird, eine Diagnose oder einen Reparaturversuch an diesem Image vorzunehmen.

Die Befehlssyntax von CheckHealth lautet:

C:\Windows\System32> dism /Online /Cleanup-Image /CheckHealth

Selbst auf einem Server mit einem riesigen Systemlaufwerk benötigt dieser Befehl in der Regel nicht mehr als 30 Sekunden, um seine Arbeit abzuschließen und beeinträchtigt die Systemressourcen kaum. Wenn keine Probleme gefunden werden, erhält man die Diagnose No component store corruption detected. Findet das DISM-Tool dagegen ein Problem, so berichtet diese Version von DISM ausschließlich, dass eine Beschädigung gefunden wurde, jedoch ohne hierzu nähere Details auszuführen.

Weiterführende Informationen kann in dieser Situation ScanHealth liefern:

C:\Windows\System32> dism /Online /Cleanup-Image /ScanHealth

Diese etwas sorgfältiger arbeitende Version der DISM Image-Überprüfung berichtet über Beschädigungen am Component Store und gibt an, ob Reparaturen möglich sind. Wird eine Beschädigung gefunden und es ist möglich, diese zu reparieren, so ist es an der Zeit für die Direktive /RestoreHealth.

Die Syntax hierfür wäre:

C:\Windows\System32> dism /Online /Cleanup-Image /RestoreHealth

Oder auch:

C:\Windows\System32> dism /source:<spec> /Cleanup-Image /RestoreHealth

Das Ersetzen von Dateien von einem laufenden Online-Image aus kann ganz einfach mit derselben Syntax wie in den zuvor dargestellten Kommandos durchgeführt werden. Manchmal sind aber keine lokalen Kopien verfügbar, die weniger beschädigt sind als die Inhalte des lokalen Component Store selbst.

Weitere Artikel zum Windows-Troubleshooting:

Native Windows-Tools für die Fehlerbehebung

Windows-Optimierung mit Sysinternals Process Monitor

Sysinternals Autoruns zur Fehlersuche nutzen

In diesem Fall kann die Direktive /source genutzt werden, um damit eine Windows Image Datei zu referenzieren (das kann eine .wim Datei oder eine .esd Datei sein). Möglich wäre aber auch die Referenzierung eines bekannten und intakten WinSXS-Ordners einer identisch konfigurierten Maschine, oder auch ein funktionsfähiges Backup derselben Maschine als alternativer Fundort für die Ersatzdateien.

Standardmäßig versucht DSIM außerdem, die Komponenten von den offiziellen Microsoft Download-Seiten herunterzuladen – dieses Verhalten kann durch Verwendung der Direktive /LimitAccess aber auch abgeschaltet werden.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Desktop-Management