Windows Bluescreen Analyse

Windows Bluescreen Analyse

Bluescreens können ganz unterschiedliche Auslöser haben. Defekter Speicher, fehlerhafte Treiber und viele andere Faktoren können hier Einfluss haben.

Im ersten Moment erscheinen Bluescreens als nervig, doch sind sie ein Schutz, vor schwerwiegenden Beschädigungen am System.

1. Debugger herunterladen und installieren

Die Debugging Tools sind Teil des Windows SDK. Diese können bei Microsoft heruntergeladen werden. In der Regel reicht es, nur die Debugging Tools zu installieren und den Rest des SDKs abzuwählen, während des Installationsvorgangs.

2. Debugger öffnen und Crashdump laden

Nach der Installation öffnen wir den Debugger und gehen als erstes auf File / Symbol File Paths

Hier geben wir folgendes ein:

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

Anschließend drücken wir Ok. Dieser Verweis lädt fehlende Symbole von Microsoft nach. So vermeiden wir unnötige Fehlermeldungen. Jetzt können wir über File / Open Crash dump den Fehlerbericht laden. Dieser liegt im Normalfall unter „C:\Windows\Minidump“.

3. Erster Einblick

Der erste Blick zeigt manchmal schon einen Hinweis, auf das Problem.

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************
 
Use !analyze -v to get detailed debugging information.
 
BugCheck 9F, {3, fffffa800cf757f0, fffff800e9d0b770, fffffa800cf07c60}
 
*** WARNING: Unable to verify timestamp for amd_sata.sys
*** ERROR: Module load completed but symbols could not be loaded for amd_sata.sys
Probably caused by : amd_sata.sys
 
Followup: MachineOwner
---------

Hier erkennen wir schonmal, das der Treiber amd_sata.sys der Verursacher sein könnte.

4. Weitere Analyse

Nun geben wir folgenden Befehl ein:

!analyze -v

Dies zeigt uns erweiterte Analyseinformationen.

0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************
 
DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
Arg2: fffffa800cf757f0, Physical Device Object of the stack
Arg3: fffff800e9d0b770, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: fffffa800cf07c60, The blocked IRP
 
Debugging Details:
------------------
 
 
DRVPOWERSTATE_SUBCODE:  3
 
IMAGE_NAME:  amd_sata.sys
 
DEBUG_FLR_IMAGE_TIMESTAMP:  5056e207
 
MODULE_NAME: amd_sata
 
FAULTING_MODULE: fffff88001494000 amd_sata
 
CUSTOMER_CRASH_COUNT:  1
 
DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT
 
BUGCHECK_STR:  0x9F
 
PROCESS_NAME:  System
 
CURRENT_IRQL:  2
 
ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre
 
DPC_STACK_BASE:  FFFFF800E9D12FB0

Auch hier tritt wieder der eben genannte Treiber zum Vorschein: amd_sata.sys. Nun können wir schon schwer davon ausgehen, dass eben dieser Treiber das Problem ausgelöst hat. In unserem Beispiel handelt es sich um einen undefinierten Zustand, nach dem Standby des PCs. Eine weitere wichtige Information ist hier zu sehen:

Arg4: fffffa800cf07c60, The blocked IRP

Dies ist der geblockte Paramter. Auch diesen kann man weiter analysieren mit dem Befehl:

!irp fffffa800cf07c60

Dies Ausgabe könnte nun wie folgt aussehen:

	       \Driver\amd_sata	CLASSPNP!ClasspPowerUpCompletion
			Args: 00000000 00000000 00000000 00000002
>[ 16, 2]   0 e1 fffffa800e1f4060 00000000 fffff88000f6fe30-00000000 Success Error Cancel pending
	       \Driver\disk	partmgr!PmPowerCompletion
			Args: 00041100 00000001 00000001 00000002
 [ 16, 2]   0 e1 fffffa800e1f4b10 00000000 fffff800e87a6830-fffffa800e113b30 Success Error Cancel pending
	       \Driver\partmgr	nt!PopRequestCompletion
			Args: 00041100 00000001 00000001 000000

Auch hier finden wir eindeutige Hinweise, dass der SATA Treiber falsch arbeitet, wenn er aus dem Ruhezustand erwacht.

5. Fehlerbehebung

Wir haben nun herausgefunden, dass der Treiber nicht korrekt arbeitet. Hier hilft es meist, einfach den aktuellsten Treiber zu installieren. Falls es noch keinen gibt, sollte Kontakt mit dem Hardware Hersteller aufgenommen werden, damit dieser sich dem Problem annehmen kann.

6. Nachwort

Dies ist nur ein Beispiel für eine spezifische Fehlermeldung und soll nur die generelle Vorgehensweise darstellen. Es gibt bei einem Bluescreen kein Universalrezept zur Behebung. Dennoch kann man mit dem Debugger meist für Abhilfe schaffen. Das Problem zu kennen, ist schon 50% der Problemlösung.

Auf Mike's Technology and Finance Blog1) gibt es eine Übersicht aller Bluescreen Meldungen. Zu einigen gibt es auch schon Debugger Logs zum einsehen.

windows/bluescreen_analyse.txt · Zuletzt geändert: 2024/01/12 15:58
CC Attribution-Noncommercial-Share Alike 4.0 International