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.
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.
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“.
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.
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.
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.
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.