Windows-Systemdiagnose und Reparatur-Optionen
Online in Windows
Wenn es Stabilitätsprobleme mit Windows Clients oder Servern gibt, die nicht unmittelbar einer konkreten Ursache zuzuordnen sind, sollte ein allemeiner Health-Check durchgeführt werden. Wenn Windows nicht mehr bootet und z.B. wegen Blue Screens auch kein Neustart im abgesicherten Modus mögich ist, können diese Befehle auch in der Wiederherstellungs-Konsole auf Coomandline-Ebene ausgeführt werden. Dazu muss von der Windows Installations-CD gestartet werden.
SFC /scannow
Wenn SFC nicht reparierbare Beschädigungen meldet, sollten weitergehende Tests gemacht werden, und zwar zunächst ein Kurztest (Nicht verfügbar bei Windows Server 2008 R2 und SBS 2011)
dism /Online /Cleanup-Image /CheckHealth
und danach ein Intensivtest (ohne Reparaturversuch):
dism /Online /Cleanup-Image /ScanHealth
Mit dem folgenden Befehl kann eine Reparatur vorgenommen werden (Nicht verfügbar bei Windows Server 2008 R2 und SBS 2011)
dism /Online /Cleanup-Image /RestoreHealth
Bricht die Reparatur mit der Fehlermeldung "0x800t081f - Die Quelldateien wurden nicht gefunden" ab, muss kann eine möglichst aktuelle Installations-Quelle des Betriebssystems als ISO-Datei gemountet werden und wie folgt als Quelle angegeben werden:
Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\sources\install.wim:1 /LimitAccess
Damit können leider nicht alle Fehler behoben werden, weil die Installationsquellen der installierten Microsoft-Updates auf der Installations-CD natürlich nicht zur Verfügung stehen. Zielführender ist daher, einen funktionierenden Server mit identischem Betriebssystem und mindestens gleichem Patch-Level als Quelle anzugeben:
Dism /Online /Cleanup-Image /RestoreHealth /Source:\\Servername\C$\Windows /LimitAccess
Eine sehr hilfreiche Zusammenfassung, wo genau das Problem ist, findet sich in der Datei C:\Windows\Logs\CBS\SchchSUR.log. Sie wird bei jedem ScanHealth-Check neu angelegt. Ein fortlaufendes Log aller bisherigen Tests findet sich in der Datei C:\Windows\Logs\CBS\CheckSUR.persist.log. In diesen Logs ist auch zu ersehen, wenn bestimmte Systemdateien fehlen. MIt der folgenden Anleitung können fehlende oder Defekte Dateien manuell wieder eingebunden werden:
https://support.microsoft.com/en-us/help/2700601/how-to-fix-errors-found-in-the-checksur-log
Offline auf der Reparaturkonsole
Innerhalb der Reparaturkonsole muss zunächst festgestellt werden, welches Laufwerk momentan auf das zu reparierende Windows-Volume zeigt. Das muss nicht das gleiche sein, wie beim Booten von Windows. Üblicherweise ist es Laufwerk D: In diesem fall kann die Reparatur mit dem folgenden Befehl gestartet werden:
sfc /scannow /offbootdir=D:\ /offwindir=D:\Windows
Werden nach zweimaligem Aufruf und Reboot inner noch Fehler angezeigt, muss mit DISM eine Offline-Reparatur durchgeführt werden. Eine Online-Reparatur ist hier nicht möglich, weil das eigene Betriebssystem nicht läuft. Für eine Offline-Reparatur muss jedoch eine Installationsquelle angegeben werden. Dafür keann das Installations-ISO verwendet werden, allerdings muss sie auf dem neuesten Patch-Level sein, sonst kann DISM nicht alle Probleme beheben. Alternativ kann auch ein aktuelles Verzeichnis C:\Windows\WinSxS eines gleichartigen Servers verwendet werden. Weil aus der Notfallumgebung nicht auf Freigaben zugegriffen werden kann die Bereitstellung als ISO-File oft schon an der schierer Größe scheitert, ist eine praktikable Variante, die Quelldatein zuvor per File-Zugriff nach c:\sources zu kopieren und danach dann erst die Notfallkonsole zu starten.
Im folgenden wird daher nur die Reparatur mit einem aktuellen Windows-ISO betrachtet. Zunächst muss festgestellt werden, welches Laufwerk in der Reeparturumgebung auf das zu reparierende Windows-Volume zeigt (meist D:), wo sich die Quelldatei install.wim befindet (z.B. auf E:\sources\instsall.wim) und welches der darin befindlichen Sub-Images der installierten Windows-Version entspricht. Der Index kann wie folgt herausgefunden werden:
dism /Get-WimInfo /WimFile:E:\sources\install.wim
Ist der gefundene Index des installierten Betriebssystems z.B. "2", kann von dieser Quelle wie folgt eine Reparatur versucht werden:
dism /Image:D:\ /Windir:\Windows /Cleanup-Image /RestoreHealth /ScratchDir:D:\Windows\Temp /LimitAccess /Source:WIM:E:\sources\install.wim:2
Steht ein aktuelles WinSxS-Quellverzeichnis eines funktionierenden Servers unter c:\sources zur Verfügung kann wie folgt repariert werden:
dism /Image:D:\ /Windir:\Windows /Cleanup-Image /RestoreHealth /ScratchDir:D:\Windows\Temp /LimitAccess /Source:D:\sources
Sofern aus dem Log hervorgeht, dass wenigstens einige Reparaturen durchgeführt werden konnten, kann ein Reboot, gefolgt von einem erneuten SFC /scannow, und einer erneuten DISM-Reparatur weitere Fehler beheben. Die Offline-Reparatur ist aber immer nur ein Notbehelf, der eigentlich nur dann ausgeführt werden muss, wenn eine Online-.Reparatur nicht möglich ist.