Znalezienie przyczyny BSOD wcale nie musi być łatwe, więc każda dodatkowa informacja, która pomaga w analizie problemu może zaważyć na tym, czy uda nam się coś znaleźć, czy też nie. Szczególnie wredne są te przypadki, kiedy BSOD pojawia się na dosyć wczesnym etapie startu, uniemożliwiając systemowi zapisanie zrzutu pamięci w odpowiednim miejscu i właściwie jedyne, co mamy, to zdjęcie ekranu z zapisanymi parametrami blue screena :)
Ale moment, mamy przecież do dyspozycji ETW - dlaczego nie zrobić z tego użytku?! :)
Global Logger
Analizę startu sytemu z użyciem mechanizmów ETW omawiałem już kilkakrotnie. Do włączenia odpowiedniego loggera przy starcie używałem zawsze narzędzia xbootmgr z pakietu WPT, które coś tam gdzieś tam ustawiało i działało. Czas na wyjaśnienie co i gdzie.
Do zbierania informacji z wczesnego etapu startu systemu służy sesja Global Logger, która sterowana jest za pomocą wartości zdefiniowanych w kluczu [HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger], których opis można znaleźć na MSDN w artykule Configuring and Starting the Global Logger Session. Większość z nich jest samoopisująca się i nie wymaga żadnego komentarza. Za włączenie logowania odpowiada wartość Start ustawiona na 1.
![]()
Rys 1. Ustawienia Global Loggera w rejestrze systemowym
Użyjmy zatem xbootmgr i zobaczmy, co wpisuje narzędzie z pakietu WPT - my nie będziemy potrzebowali wiele więcej. Na zrzucie ekranu z rys. 1 widać ustawienia, które zostały zapisane w rejestrze przez xbootmgr po wykonaniu polecenia (dla czytelności dodałem podziały wiersza)
>xbootmgr -trace boot -traceflags latency+dispatcher+file_io+file_io_init+registry -stackwalk
profile+cswitch+readythread+FileCreate+FileRead+FileWrite+FileDelete+FileRename
+RegQueryKey+RegEnumerateKey+RegDeleteKey+RegCreateKey
+RegOpenKey+RegSetValue+RegDeleteValue+RegQueryValue
-notraceflagsinfilename -postbootdelay 10 -resultpath c:\xperf
Poza kluczem GlobalLogger utworzony został widoczny także na rysunku XPerfBootmgr, do którego trafiły pozostałe ustawienia związane z sesją xperfbootmgr.
Co ciekawe, mamy możliwość dodania logowania dla dostawców trybu użytkownika, wystarczy dodać do klucza Autologger\XBootMgrSession podklucz o nazwie typu {GUID providera} z odpowiednimi parametrami. Jest to o tyle ciekawe, że xbootmgr nie udostępnia takiej możliwości i edycja rejestru to jedyna opcja, aby dodać jakiś um provider do boot trace’a. Do wyciągnięcia guida dla interesującego nas dostawcy możemy skorzystać z xperf -providers, ja np. użyłem:
>xperf -providers | findstr -i file
oraz
>xperf -providers | findstr -i registry
i dodałem podklucze powiązane z dostawcami Microsoft-Windows-Kernel-Registry oraz Microsoft-Windows-Kernel-File, ale możemy włączyć dowolny i potem przejrzeć zebrane informacje.
BSOD 0xC000021A, czyli 'co zepsuł McAfee?'
Pobawmy się i zepsujmy coś. Spróbujmy teraz zastosować przygotowaną wcześniej sesję logowania w przypadku konkretnego złośliwca. Na stronach supportowych Microsoftu możemy znaleźć przykłady opisujące konkretne BSODy, a w nich szczegółowy opis przyczyn, które możemy bez większych trudności odtworzyć u siebie. Dla przykładu, weźmy ten artykuł kb:
http://support.microsoft.com/kb/2746140
z którego jasno wynika, że po zmianie nazwy katalogu %systemroot%\System32\Catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} na tmpxxxx.tmp dostaniemy BSOD 6B, lub 0xC000021A. Oczywiście BSOD możemy sobie pooglądać na zdjęciach, bo po plikach zrzutu pamięci ani widu, ani słychu. Wykonajmy zatem ćwiczenie i mając dostęp offline do systemu ofiary po kolei:
- zmieniamy nazwę katalogu zgodnie z opisem (po tym możemy uruchomić maszynę i sprawdzić, czy BSOD faktycznie się pojawia. Jeśli tak - jedziemy dalej!);
- przygotowujemy plik .reg, w którym znajdują się ustawienia loggera do zaaplikowania na systemie z BSODem (na końcu tekstu);
- z martwego systemu wyciągamy plik %systemroot%\system32\config\SYSTEM;
- podłączamy plik rejestru jako HKLM\BSOD i importujemy do aktywnego ControlSet (domyślnie: ControlSet001, do odczytania z klucza HKLM\BSOD\Select, wartość Current) przygotowane wcześniej ustawienia loggera. Po wszystkim zwalniamy log i wrzucamy na swoje miejsce;
- tworzymy na dysku c: ofiary katalog c:\xperf, w którym zapisywane będą logi km i um;
- start ofiary!
Czekamy na BSOD, po restarcie nie pozwalamy na kolejny pad, tylko od razu podłączamy się offline i zabieramy interesujące nas pliki.
Analiza
Ja oczywiście jestem cwaniak i podłączyłem się debuggerem. Tylko informacyjnie podaję wynik podstawowej analizy, resztę spróbujemy odczytać z plików .etl.
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck C000021A, {fffff8a00010bbe0, 0, ffffffffc0000034, 100550}
Probably caused by : ntkrnlmp.exe ( nt!NtSetSystemPowerState+864 )
Followup: MachineOwner
---------
nt!DbgBreakPointWithStatus:
fffff800`02893df0 cc int 3
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
WINLOGON_FATAL_ERROR (c000021a)
The Winlogon process terminated unexpectedly.
Arguments:
Arg1: fffff8a00010bbe0, String that identifies the problem.
Arg2: 0000000000000000, Error Code.
Arg3: ffffffffc0000034
Arg4: 0000000000100550
Debugging Details:
------------------
ERROR_CODE: (NTSTATUS) 0xc000021a - {B
EXCEPTION_CODE: (NTSTATUS) 0xc000021a - {B
EXCEPTION_PARAMETER1: fffff8a00010bbe0
EXCEPTION_PARAMETER2: 0000000000000000
EXCEPTION_PARAMETER3: ffffffffc0000034
EXCEPTION_PARAMETER4: 100550
ADDITIONAL_DEBUG_TEXT: initial session process or
BUGCHECK_STR: 0xc000021a_Session_0_Terminated
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
PROCESS_NAME: System
CURRENT_IRQL: 2
ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre
LAST_CONTROL_TRANSFER: from fffff800029840e2 to fffff80002893df0
STACK_TEXT:
fffff880`0336d0b8 fffff800`029840e2 : 00000000`c0000201 fffffa80`01965040 00000000`00000065 fffff800`028d6c08 : nt!DbgBreakPointWithStatus
fffff880`0336d0c0 fffff800`02984ece : fffffa80`00000003 00000000`00000000 fffffa80`0ba46d00 00000000`00000000 : nt!KiBugCheckDebugBreak+0x12
fffff880`0336d120 fffff800`0289c0c4 : 00000000`00000001 fffff800`02ae0bb6 fffffa80`00000040 fffffa80`0c81b048 : nt!KeBugCheck2+0x71e
fffff880`0336d7f0 fffff800`02ae4347 : 00000000`0000004c 00000000`c000021a fffff880`06368608 fffffa80`0c806290 : nt!KeBugCheckEx+0x104
fffff880`0336d830 fffff800`02ae4bf4 : 00000000`00000001 ffffffff`80000248 ffffffff`80000248 00000000`00000000 : nt!PopGracefulShutdown+0x257
fffff880`0336d870 fffff800`0289b253 : fffffa80`01965040 fffffa80`01939000 00000000`00000000 00000000`00000000 : nt!NtSetSystemPowerState+0x864
fffff880`0336d9b0 fffff800`02897810 : fffff800`02d07129 00000000`00000004 fffff800`02891a32 fffffa81`001c0017 : nt!KiSystemServiceCopyEnd+0x13
fffff880`0336db48 fffff800`02d07129 : 00000000`00000004 fffff800`02891a32 fffffa81`001c0017 fffffa80`01965040 : nt!KiServiceLinkage
fffff880`0336db50 fffff800`02d073ac : 00000000`00000004 fffff800`02cad800 00000000`00000004 fffff800`02a392d8 : nt!PopIssueActionRequest+0x1d9
fffff880`0336dbe0 fffff800`02854095 : 00000000`00000001 fffffa80`01965000 fffff800`02a392d8 00000000`00000000 : nt!PopPolicyWorkerAction+0x4c
fffff880`0336dc40 fffff800`028a5641 : fffff800`00000002 fffff800`00000004 fffff800`02853f98 fffffa80`0bb35750 : nt!PopPolicyWorkerThread+0xfd
fffff880`0336dcb0 fffff800`02b32e5a : 00000000`00000000 fffffa80`01965040 00000000`00000080 fffffa80`018f0040 : nt!ExpWorkerThread+0x111
fffff880`0336dd40 fffff800`0288cd26 : fffff800`02a0ee80 fffffa80`01965040 fffffa80`0199d730 00000000`00000000 : nt!PspSystemThreadStartup+0x5a
fffff880`0336dd80 00000000`00000000 : fffff880`0336e000 fffff880`03368000 fffff880`0336d270 00000000`00000000 : nt!KiStartSystemThread+0x16
STACK_COMMAND: kb
FOLLOWUP_IP:
nt!NtSetSystemPowerState+864
fffff800`02ae4bf4 cc int 3
SYMBOL_STACK_INDEX: 5
SYMBOL_NAME: nt!NtSetSystemPowerState+864
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 503f82be
IMAGE_VERSION: 6.1.7601.17944
FAILURE_BUCKET_ID: X64_0xc000021a_Session_0_Terminated_nt!NtSetSystemPowerState+864
BUCKET_ID: X64_0xc000021a_Session_0_Terminated_nt!NtSetSystemPowerState+864
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:x64_0xc000021a_session_0_terminated_nt!ntsetsystempowerstate+864
FAILURE_ID_HASH: {56783bb2-8d2c-e4b4-e42b-9a251679d126}
Followup: MachineOwner
---------
Przy czym obcięty opis błędu powinien wyglądać jakoś tak:
{Błąd krytyczny systemu}
Proces systemowy %hs zakończył się niespodziewanie ze stanem 0x%08x (0x%08x 0x%08x). System zostanie zamknięty.
Analiza zebranych logów
Wiemy zatem, że padł proces związany z sesją 0. Mamy niewielu podejrzanych - na tak wczesnym etapie mamy tylko kilka procesów, więc i analiza powinna być prostsza.
Przechodzimy do plików zebranych przez działające loggery. W katalogu c:\xperf możemy znaleźć dwa pliki:
- boot_1_km_premerge.etl - zawierający zdarzenia zebranie przez logger trybu jądra;
- boot_1_um_premerge.etl - zawierający zdarzenia zebranie przez logger trybu użytkownika.
Łączymy je zatem w jeden:
>xperf -merge boot_1_um_premerge.etl boot_1_km_premerge.etl merged.etl
i ładujemy do xperfview.
![]()
Rys 2. Grafy File I/O i Registry z logu Global Loggera
Tu szczególnie interesują nas dwa grafy: File I/O oraz Registry. Klikamy graf File I/O -> Summary Table, grupujemy po nazwie procesu i sortujemy po Start(s). Mnie szczególnie zainteresował proces (360), który w parametrach startowych (Process Summary Table) miał
\SystemRoot\System32\smss.exe 00000000 0000003c
co niechybnie wskazuje na menadżera sesji 0. Przechodzę na sam koniec i znajduję ostatnie operacje wykonane przez wspomniany proces (tu 2 ostatnie zdarzenia):
Process, Start (s), Event Type, Event SubType, Thread, Count, End (s), Duration (us), IRP, FileObject, File Name, Size, Offset, Flags, Result
smss.exe (360), 12.935856372, Create, , 364, 1, 12.935903026, 46.654, 0xfffffa800bf556b0, 0xfffffa800c3326b0, \Device\HarddiskVolume2\Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\, 0, 0, file_open directory_file synchronous_io_nonalert open_for_backup_intent shareRead shareWrite shareDelete , Nie odnaleziono nazwy obiektu.
(0xc0000034)
smss.exe (360), 12.936181274, Cleanup, , 364, 1, 12.936186582, 5.308, 0xfffffa800bf556b0, 0xfffffa800c32f070, C:\Windows\system32\win32k.sys, 0, 0, , Success(0)
Wygląda więc na to, że process smss próbował dostać się do katalogu {F750E6C3-38EE-11D1-85E5-00C04FC295EE}, jednak bez powodzenia, co skończyło się zamknięciem procesu smss.exe (więcej szczegółów można zobaczyć bezpośrednio w zrzucie dumpera, ale to pozostawiam jako ćwiczenie).
Uwagi ogólne
Tak, wiem - z góry wiedziałem czego szukać, więc się nie liczy. No i ten debugger - to już przesada i zagrywka poniżej pasa.
Ale przecież nie o to chodzi. Idea jest dosyć prosta, a informacji cała masa. Włączyliśmy sobie właśnie ‘procmona’, który zrzucił nam na dysk wszystkie operacje na plikach i rejestrze, które działy się tuż przed padem systemu. Mało? Można włączyć dodatkowe loggery - obserwować zachowanie dysku (flagi kernelowe), sprawdzić co się dzieje w sieci (tu um - Microsoft-Windows-TCPIP), etc. - jeśli to w ogóle cokolwiek nam może pomóc.
Przy analizie logów z procmona bardzo często sięgam do wszelkich ACCESS_DENIED, lub NOT_FOUND, idąc wstecz od końca logu. To naprawdę dobre na początek, łatwo można zorientować się w typowych problemach. Liczę również na kreatywność czytelników - może ktoś podpowie coś ciekawego?
Oczywiście nie wszystko jest aż tak różowe. Log zakończony BSODem zazwyczaj nie jest poprawnie zamknięty i zawiera błędy. Xperf staje dęba, nie mówiąc o innych narzędziach i wówczas można poznać wszelkie dostępne komunikaty blędów, jakie ktoś wkompilował w xperfview.exe i inne narzędzia. Ale i na to są sposoby, ale o tym przy okazji tekstu o pisaniu własnych narzędzi do obróbki .etl.
Powyższa metoda może być z powodzeniem stosowana również we wszelkich innych problemach startowych, przy czym należy pamiętać o tym, że dysk, na którym mają być zapisane logi powinien być już widoczny w systemie. W przypadku BSODów typu 7B log nie jest zapisany i - co dziwne - nie widzę sesji Global Loggera po podłączeniu się debuggerem i skorzystaniu z omawianych w jednym z poprzednich wpisów poleceń rozszerzenia !wmitrace.
Kolejna uwaga dotyczy rozmiaru logów - flagi stacktrace znacząco wpływają na ilość zbieranych informacji i mogą przyczyniać się do gubienia zdarzeń. Wystarczy wówczas zwiększyć rozmiary buforów oraz wyłączyć flagi stacktrace, a i dumper będzie rozsądnych rozmiarów.
I na koniec obiecany wcześniej plik .reg do samodzielnego importu. Wystarczy skopiować do notatnika, zapisać jako .reg i zaimportować zgodnie z wcześniejszym opisem. Dobrej zabawy! :)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession]
"Start"=dword:00000001
"GUID"="{1a15901b-0686-4433-955f-2ee7f9c61cfc}"
"FileName"="c:\\xperf\\boot_1_um_premerge.etl"
"MinimumBuffers"=dword:00000004
"MaximumBuffers"=dword:0000000c
"MaxFileSize"=dword:00000000
"BufferSize"=dword:00000400
"ClockType"=dword:00000001
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{0063715b-eeda-4007-9429-ad526f62696e}]
"ProviderFriendlyName"="Service Control Manager"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{030f2f57-abd0-4427-bcf1-3a3587d7dc7d}]
"ProviderFriendlyName"="PerfTrack Status"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{06184c97-5201-480e-92af-3a3626c5b140}]
"ProviderFriendlyName"="Service Host Provider"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{0a002690-3839-4e3a-b3b6-96d8df868d99}]
"ProviderFriendlyName"="AMP1"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{15ca44ff-4d7a-4baa-bba5-0998955e531e}]
"ProviderFriendlyName"="Loader Info"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{1fd7c1d2-d037-4620-8d29-b2c7e5fcc13a}]
"ProviderFriendlyName"="Software Licensing (V6)"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{206f6dea-d3c5-4d10-bc72-989f03c8b84b}]
"ProviderFriendlyName"="Wininit"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{2a274310-42d5-4019-b816-e4b8c7abe95c}]
"ProviderFriendlyName"="ReadyBoost Driver"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):60,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{30336ed4-e327-447c-9de0-51b652c86108}]
"ProviderFriendlyName"="ShellCore"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{331c3b3a-2005-44c2-ac5e-77220c37d6b4}]
"ProviderFriendlyName"="Kernel-mode Power"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{43e63da5-41d1-4fbf-aded-1bbed98fdd1d}]
"ProviderFriendlyName"="SMSS"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{49c2c27c-fe2d-40bf-8c4e-c3fb518037e7}]
"ProviderFriendlyName"="Search"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{4ee76bd8-3cf4-44a0-a0ac-3937643e37a3}]
"ProviderFriendlyName"="Code Integrity"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{5322d61a-9efa-4bc3-a3f9-14be95c144f8}]
"ProviderFriendlyName"="Prefetcher"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{63d2bb1d-e39a-41b8-9a3d-52dd06677588}]
"ProviderFriendlyName"="AuthUI"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{67fe2216-727a-40cb-94b2-c02211edb34a}]
"ProviderFriendlyName"="VolSnap"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{6ad52b32-d609-4be9-ae07-ce8dae937e39}]
"ProviderFriendlyName"="Microsoft-Windows-RPC"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000004
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{70eb4f03-c1de-4f73-a051-33d13d5413bd}]
"ProviderFriendlyName"="Microsoft-Windows-Kernel-Registry"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000004
"EnableProperty"=dword:00000004
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{751ef305-6c6e-4fed-b847-02ef79d26aef}]
"ProviderFriendlyName"="AMP3"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{83ed54f0-4d48-4e45-b16e-726ffd1fa4af}]
"ProviderFriendlyName"="Microsoft-Windows-Networking-Correlation"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{8c416c79-d49b-4f01-a467-e56d3aa8234c}]
"ProviderFriendlyName"="DwmWin32kWin8"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,40,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{8e92deef-5e17-413b-b927-59b2f06a3cfc}]
"ProviderFriendlyName"="AMP2"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{9c205a39-1250-487d-abd7-e831c6290539}]
"ProviderFriendlyName"="Kernel-mode PnP"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):20,f0,1f,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{9d55b53d-449b-4824-a637-24f9d69aa02f}]
"ProviderFriendlyName"="WinSrv"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{a68ca8b7-004f-d7b6-a698-07e2de0f1f5d}]
"ProviderFriendlyName"="Kernel General"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{a6ad76e3-867a-4635-91b3-4904ba6374d7}]
"ProviderFriendlyName"="ReadyBoost"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):40,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{aea1b4fa-97d1-45f2-a64c-4d69fffd92c9}]
"ProviderFriendlyName"="Group Policy"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{cfeb0608-330e-4410-b00d-56d8da9986e6}]
"ProviderFriendlyName"="AMP4"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{d781ca11-61c0-4387-b83d-af52d3d2dd6a}]
"ProviderFriendlyName"="Win32HeapRanges"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{d8975f88-7ddb-4ed0-91bf-3adf48c48e0c}]
"ProviderFriendlyName"="Microsoft-Windows-RPCSS"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000004
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{dbe9b383-7cf3-4331-91cc-a3cb16a3b538}]
"ProviderFriendlyName"="Winlogon"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{de7b24ea-73c8-4a09-985d-5bdadcfa9017}]
"ProviderFriendlyName"="TaskScheduler"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{e23b33b0-c8c9-472c-a5f9-f2bdfea0f156}]
"ProviderFriendlyName"="Software Licensing (V7)"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{e6307a09-292c-497e-aad6-498f68e2b619}]
"ProviderFriendlyName"="EMDMgmt"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{e8316a2d-0d94-4f52-85dd-1e15b66c5891}]
"ProviderFriendlyName"="CSRSS"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\Autologger\XBootMgrSession\{edd08927-9cc4-4e65-b970-c2560fb5c289}]
"ProviderFriendlyName"="Microsoft-Windows-Kernel-File"
"Enabled"=dword:00000001
"MatchAnyKeyword"=hex(b):00,00,00,00,00,00,00,00
"EnableLevel"=dword:00000004
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\GlobalLogger]
"Start"=dword:00000001
"Status"=dword:00000000
"FileName"="c:\\xperf\\boot_1_km_premerge.etl"
"EnableKernelFlags"=hex:07,23,02,06,86,42,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00
"StackWalkingFilter"=hex:2e,0f,00,00,24,05,00,00,32,05,00,00,11,09,00,00,0b,09,\
00,00,10,09,00,00,40,04,00,00,43,04,00,00
"BufferSize"=dword:00000400
"MinimumBuffers"=dword:0000012c
"MaximumBuffers"=dword:00000258
"ClockType"=dword:00000001
"MaxFileSize"=dword:00000000
"LogFileMode"=dword:00000000
[HKEY_LOCAL_MACHINE\BSOD\ControlSet001\Control\WMI\XPerfBootmgr]
"TraceMode"=dword:00000001
"RepeatCount"=dword:00000001
"RepeatIteration"=dword:00000001
"PostBootDelay"=dword:00002710
"TraceFlags"="latency+dispatcher+file_io+file_io_init+registry"
"StackWalkingFilter"=hex:2e,0f,00,00,24,05,00,00,32,05,00,00,11,09,00,00,0b,09,\
00,00,10,09,00,00,40,04,00,00,43,04,00,00
"ResultPath"="c:\\xperf"
"Callback"=""
"RunTag"=""
"SleeperCmd"="C:\\Program Files (x86)\\Windows Kits\\8.0\\Windows Performance Toolkit\\xbootmgrSleep.exe"
"PreTraceCmd"=""
"PrepSystem"=dword:00000000
"IssueFlush"=dword:00000000
"UseLog"=dword:00000001
"LeavePremerged"=dword:00000000
"NoMerge"=dword:00000000
"TraceFlagsInFileName"=dword:00000000
"VerboseReadyBoot"=dword:00000000
"IsBuffering"=dword:00000000
"NumPrepSystemIterations"=dword:00000000
"DisablePopups"=dword:00000000