Udostępnij za pośrednictwem


Zaawansowane rozwiązywanie problemów dotyczących błędu zatrzymania lub błędu niebieskiego ekranu

Wypróbuj naszego agenta wirtualnego — może on pomóc w szybkim identyfikowaniu i rozwiązywaniu typowych problemów z rozruchem systemu Windows

Uwaga

Jeśli nie jesteś agentem ds. pomocy technicznej lub specjalistą IT, więcej przydatnych informacji na temat komunikatów o błędzie zatrzymania („niebieski ekran”) znajdziesz w temacie Rozwiązywanie problemów z błędami niebieskiego ekranu.

Dotyczy: Obsługiwane wersje systemu Windows Server i klienta systemu Windows

Co powoduje błędy zatrzymania?

Gdy system Windows napotka warunek, który narusza bezpieczną operację systemu, system zostanie zatrzymany. Przykłady obejmują coś, co może spowodować naruszenie zabezpieczeń lub uszkodzenie danych systemu operacyjnego i/lub użytkownika. Gdy maszyna zatrzymuje się w celu uniemożliwienia systemowi operacyjnemu dalszego działania w tych warunkach, jest to nazywane sprawdzaniem usterek. Jest to również często określane jako awaria systemu, błąd jądra, niebieski ekran, niebieski ekran śmierci (BSOD) lub błąd zatrzymania. W wersjach zapoznawczych systemu Windows kolor tego ekranu może być zielony, co prowadzi do zielonego ekranu śmierci (GSOD).

Nie ma prostego wyjaśnienia przyczyny błędów zatrzymania. Może być w to zaangażowanych wiele różnych czynników. Nasza analiza głównych przyczyn awarii wskazuje, że:

  • 70% jest spowodowanych przez kod sterownika innej firmy.
  • 10% jest spowodowanych problemami sprzętowymi.
  • 5% jest spowodowanych przez kod firmy Microsoft.
  • 15% ma nieznane przyczyny, ponieważ pamięć jest zbyt uszkodzona do jej analizy.

Uwaga

Główną przyczyną błędów zatrzymania jest rzadko proces trybu użytkownika. Podczas gdy proces trybu użytkownika (taki jak Notatnik lub Slack) może wywołać błąd zatrzymania, zwykle ujawnia on podstawowy problem w sterowniku, sprzęcie lub systemie operacyjnym.

Ogólne kroki rozwiązywania problemów

Aby rozwiązać problemy z komunikatami o błędach zatrzymania, wykonaj następujące ogólne kroki:

  1. Przejrzyj kod błędu zatrzymania, który znajduje się w dzienniku zdarzeń. Wyszukaj w Internecie określony kod błędu zatrzymania, aby sprawdzić, czy istnieją związane z nim znane problemy, rozwiązania lub obejścia danego problemu.

  2. Upewnij się, że zainstalowano najnowsze aktualizacje systemu Windows, aktualizacje skumulowane i aktualizacje zbiorcze. Aby sprawdzić stan aktualizacji, zapoznaj się z odpowiednią historią aktualizacji systemu. Na przykład:

  3. Upewnij się, że system BIOS i oprogramowanie układowe są aktualne.

  4. Uruchom wszystkie odpowiednie testy sprzętu i pamięci.

  5. Uruchom narzędzie Skaner bezpieczeństwa Microsoft lub dowolny inny program do wykrywania wirusów, który obejmuje sprawdzanie głównego rekordu rozruchowego (MBR) pod kątem infekcji.

  6. Sprawdź, czy na dysku twardym jest wystarczająca ilość wolnego miejsca. Dokładne wymaganie różni się w zależności od sytuacji, ale zalecamy 10–15 procent wolnego miejsca na dysku.

  7. W następujących scenariuszach skontaktuj się z odpowiednim dostawcą sprzętu lub oprogramowania, aby zaktualizować sterowniki i aplikacje:

    • Komunikat o błędzie wskazuje, że przyczyną problemu jest określony sterownik.
    • Zauważono, że przed wystąpieniem błędu jest uruchamiana lub zatrzymywana jakaś usługa. W takiej sytuacji określ, czy zachowanie tej usługi jest spójne we wszystkich wystąpieniach awarii.
    • Wprowadzono zmiany w oprogramowaniu lub sprzęcie.

    Uwaga

    Jeśli nie ma dostępnych aktualizacji od określonego producenta, zalecamy wyłączenie powiązanej usługi.

    Aby uzyskać szczegółowe instrukcje, zobacz artykuł pt. Jak wykonać czyste uruchomienie systemu Windows.

    Sterownik można wyłączyć, wykonując kroki opisane w temacie Jak tymczasowo dezaktywować sterownik filtrujący trybu jądra w systemie Windows.

    Możesz również rozważyć opcję cofania zmian lub przywrócenie ostatniego znanego stanu roboczego. Aby uzyskać więcej informacji, zobacz Przywracanie sterownika urządzenia do poprzedniej wersji.

Zbieranie zrzutów pamięci

Aby skonfigurować system dla plików zrzutu pamięci, wykonaj następujące kroki:

  1. Wybierz pole wyszukiwania Pasek zadań, wpisz Zaawansowane ustawienia systemowe, a następnie naciśnij klawisz Enter.
  2. Na karcie Zaawansowane w polu Właściwości systemu wybierz przycisk Ustawienia, który zostanie wyświetlony w obszarze Uruchamianie i odzyskiwanie.
  3. W nowym oknie wybierz listę rozwijaną poniżej opcji Zapisz informacje debugowania.
  4. Wybierz pozycję Automatyczne zrzuty pamięci.
  5. Wybierz przycisk OK.
  6. Uruchom ponownie komputer, aby ustawienie miało zastosowanie.
  7. Jeśli serwer jest wirtualny, wyłącz automatyczne ponowne uruchomienie po utworzeniu pliku zrzutu pamięci. To wyłączenie umożliwia utworzenie migawki serwera jego stanu, a także w przypadku ponownego wystąpienia problemu.

Plik zrzutu pamięci jest zapisywany w następujących lokalizacjach:

Typ pliku zrzutu Lokalizacja
(brak) %SystemRoot%\MEMORY.DMP (nieaktywne lub wyszarzone)
Mały plik zrzutu pamięci (256 kb) %SystemRoot%\Minidump
Plik zrzutu pamięci jądra %SystemRoot%\MEMORY.DMP
Pełny plik zrzutu pamięci %SystemRoot%\MEMORY.DMP
Plik automatycznego zrzutu pamięci %SystemRoot%\MEMORY.DMP
Plik zrzutu aktywnej pamięci %SystemRoot%\MEMORY.DMP

Możesz użyć narzędzia sprawdzania plików zrzutu awaryjnego pamięci firmy Microsoft (DumpChk), aby sprawdzić, czy pliki zrzutu pamięci nie są uszkodzone lub nieprawidłowe. Aby uzyskać więcej informacji, zapoznaj się z następującym materiałem wideo:

Aby uzyskać więcej informacji na temat używania pliku Dumpchk.exe do sprawdzania plików zrzutu pamięci, zobacz następujące artykuły:

Ustawienia pliku stronicowania

Więcej informacji na temat ustawień pliku stronicowania można znaleźć w następujących artykułach:

Analiza pliku zrzutu pamięci

Znalezienie głównej przyczyny awarii może nie być łatwe. Problemy sprzętowe są szczególnie trudne do zdiagnozowania, ponieważ mogą powodować niekonsekwentne i nieprzewidywalne zachowanie, które może objawiać się przy różnych symptomach.

Po wystąpieniu błędu zatrzymania należy najpierw wyizolować problematyczne składniki, a następnie spróbować wyzwolić błąd zatrzymania ponownie. Jeśli możesz zreplikować problem, zazwyczaj możesz też określić jego przyczynę.

Aby zdiagnozować dzienniki zrzutów pamięci, można użyć narzędzi, takich jak zestaw SDK (Windows Software Development Kit) i symbole. W następnym rozdziale omówiono sposób korzystania z tego narzędzia.

Kroki zaawansowanego rozwiązywania problemów

Uwaga

Zaawansowane rozwiązywanie problemów z plikami zrzutów awaryjnych może być bardzo trudne, jeśli nie masz doświadczenia z programowaniem i wewnętrznymi mechanizmami systemu Windows. Spróbowaliśmy przedstawić tutaj krótki wgląd w niektóre używane techniki, w tym kilka przykładów. Jednak aby naprawdę skutecznie rozwiązywać problemy z plikiem zrzutu awaryjnego, należy poświęcić czas na zapoznanie się z zaawansowanymi technikami debugowania. Materiał wideo omawiający ten temat: Debugowanie awarii trybu jądra i zawieszenia systemu. Zapoznaj się również z zaawansowanymi źródłami wymienionymi poniżej.

Źródła dotyczące zaawansowanego debugowania

Kroki debugowania

  1. Sprawdź, czy komputer został skonfigurowany w celu wygenerowania kompletnego pliku zrzutu pamięci w przypadku wystąpienia awarii. Aby uzyskać więcej informacji, zobacz rozdział Metoda 1: Plik zrzutu pamięci.

  2. Znajdź plik memory.dmp w katalogu systemu Windows na komputerze, który uległ awarii, i skopiuj ten plik na inny komputer.

  3. Na innym komputerze pobierz zestaw SDK systemu Windows 10.

  4. Uruchom proces instalacyjny i wybierz pozycję Narzędzia debugowania dla systemu Windows. Narzędzie WinDbg jest zainstalowane.

  5. Przejdź do menu Plik i wybierz pozycję Ścieżka pliku symboli, aby otworzyć narzędzie WinDbg i ustawić ścieżkę symbolu.

    1. Jeśli komputer jest połączony z Internetem, wprowadź adres publicznego serwera symboli firmy Microsofthttps://msdl.microsoft.com/download/symbols i wybierz przycisk OK. Ta metoda jest rekomendowana.
    2. Jeśli komputer nie jest połączony z Internetem, określ lokalną ścieżkę symbolu.
  6. Wybierz pozycję Otwórz awaryjny plik zrzutu pamięci, a następnie otwórz skopiowany poprzednio plik memory.dmp.

    Zrzut ekranu przedstawiający przykładowe dane wyjściowe w narzędziu WinDbg podczas otwierania pliku awaryjnego zrzutu pamięci.

  7. W obszarze Analiza usterki wybierz pozycję !analyze -v. Polecenie !analyze -v zostanie wprowadzone w wierszu poleceń w dolnej części strony.

  8. Zostanie wyświetlona szczegółowa analiza sprawdzania usterek.

    Zrzut ekranu przedstawiający przykład szczegółowej analizy sprawdzania usterek.

  9. Przewiń w dół do obszaru STACK_TEXT. Będą tam znajdować się wiersze z liczbami, po każdym wierszu następuje dwukropek i jakiś tekst. Ten tekst informuje, jaka biblioteka DLL powoduje awarię. Jeśli ma to zastosowanie, mówi on również o tym, jaka usługa powoduje awarię biblioteki DLL.

  10. Aby uzyskać więcej informacji na temat interpretacji wyników obszaru STACK_TEXT, zobacz artykuł pt. Korzystanie z rozszerzenia !analyze.

Istnieje wiele możliwych przyczyn uruchomienia procesu sprawdzania usterek, a każdy przypadek jest unikatowy. W powyższym przykładzie ważne wiersze, które można zidentyfikować z obszaru STACK_TEXT to 20, 21 i 22:

Uwaga

Dane HEX są usuwane w tym miejscu, a wiersze są numerowane w celu uzyskania przejrzystości.

1  : nt!KeBugCheckEx
2  : nt!PspCatchCriticalBreak+0xff
3  : nt!PspTerminateAllThreads+0x1134cf
4  : nt!PspTerminateProcess+0xe0
5  : nt!NtTerminateProcess+0xa9
6  : nt!KiSystemServiceCopyEnd+0x13
7  : nt!KiServiceLinkage
8  : nt!KiDispatchException+0x1107fe
9  : nt!KiFastFailDispatch+0xe4
10 : nt!KiRaiseSecurityCheckFailure+0x3d3
11 : ntdll!RtlpHpFreeWithExceptionProtection$filt$0+0x44
12 : ntdll!_C_specific_handler+0x96
13 : ntdll!RtlpExecuteHandlerForException+0xd
14 : ntdll!RtlDispatchException+0x358
15 : ntdll!KiUserExceptionDispatch+0x2e
16 : ntdll!RtlpHpVsContextFree+0x11e
17 : ntdll!RtlpHpFreeHeap+0x48c
18 : ntdll!RtlpHpFreeWithExceptionProtection+0xda
19 : ntdll!RtlFreeHeap+0x24a
20 : FWPolicyIOMgr!FwBinariesFree+0xa7c2
21 : mpssvc!FwMoneisDiagEdpPolicyUpdate+0x1584f
22 : mpssvc!FwEdpMonUpdate+0x6c
23 : ntdll!RtlpWnfWalkUserSubscriptionList+0x29b
24 : ntdll!RtlpWnfProcessCurrentDescriptor+0x105
25 : ntdll!RtlpWnfNotificationThread+0x80
26 : ntdll!TppExecuteWaitCallback+0xe1
27 : ntdll!TppWorkerThread+0x8d0
28 : KERNEL32!BaseThreadInitThunk+0x14
29 : ntdll!RtlUserThreadStart+0x21

Ten problem jest spowodowany usługą mpssvc, która jest składnikiem Zapory systemu Windows. Ten problem został rozwiązany przez tymczasowe wyłączenie zapory, a następnie zresetowanie zasad zapory.

Aby uzyskać więcej przykładów, zobacz artykuł pt. Przykłady debugowania.

Zasoby wideo

Poniższe klipy wideo ilustrują różne techniki rozwiązywania problemów dotyczących analizowania pliku zrzutu pamięci.

Zaawansowane rozwiązywanie problemów przy użyciu weryfikatora sterowników

Szacujemy, że około 75 procent wszystkich błędów zatrzymania jest spowodowanych przez błędne sterowniki. Narzędzie Weryfikator sterowników udostępnia kilka metod ułatwiających rozwiązywanie problemów. Obejmują one uruchamianie sterowników w izolowanej puli pamięci (bez udostępniania pamięci innym składnikom), generowanie ekstremalnego obciążenia pamięci i weryfikowanie parametrów. Jeśli narzędzie napotka błędy podczas wykonywania kodu sterownika, proaktywnie tworzy wyjątek. Następnie można dokładniej zbadać ten fragment kodu.

Ostrzeżenie

Weryfikator sterownika potrzebuje dużo czasu pracy procesora CPU i może znacznie spowolnić komputer. Mogą również wystąpić dodatkowe awarie. Weryfikator wyłącza wadliwe sterowniki po wystąpieniu błędu zatrzymania i kontynuuje swoje działanie do czasu, aż będzie można pomyślnie ponownie uruchomić system i uzyskać dostęp do pulpitu. Można również oczekiwać, że zostanie utworzonych kilka plików zrzutu pamięci.

Nie próbuj weryfikować wszystkich sterowników jednocześnie. Takie działanie może obniżyć wydajność i spowodować, że system nie będzie odpowiadać. Ogranicza ono również skuteczność tego narzędzia.

Podczas korzystania z weryfikatora sterowników należy użyć następujących wskazówek:

  • Przetestuj wszystkie „podejrzane” sterowniki. Na przykład sterowniki, które zostały ostatnio zaktualizowane lub które są znane jako problematyczne.
  • Jeśli nadal występują awarie, których nie da się przeanalizować, spróbuj włączyć weryfikację dla wszystkich sterowników innych firm i tych niepodpisanych.
  • Włącz współbieżną weryfikację dla grup sterowników: 10–20.
  • Ponadto, jeśli komputer nie może uruchomić się do pulpitu z powodu weryfikatora sterowników, możesz wyłączyć to narzędzie, uruchamiając tryb awaryjny. To rozwiązanie jest możliwe, ponieważ narzędzie to nie może działać w trybie awaryjnym.

Aby uzyskać więcej informacji, zobacz artykuł pt. Weryfikator sterowników:

Typowe błędy zatrzymania systemu Windows

Ten rozdział nie zawiera listy wszystkich kodów błędów, ale ponieważ wiele kodów błędów ma takie same potencjalne rozwiązania, najlepszą praktyką jest wykonanie poniższych kroków w celu rozwiązania problemu z błędem. Aby uzyskać pełną listę kodów błędów zatrzymania, zobacz artykuł pt. Dokumentacja kodów sprawdzaniausterek.

W poniższych rozdziałach wymieniono ogólne procedury rozwiązywania problemów dla typowych kodów błędów zatrzymania.

VIDEO_ENGINE_TIMEOUT_DETECTED lub VIDEO_TDR_TIMEOUT_DETECTED

Kod błędu zatrzymania 0x00000141 lub 0x00000117

Skontaktuj się z dostawcą wymienionego sterownika ekranu, aby uzyskać odpowiednią aktualizację tego sterownika.

DRIVER_IRQL_NOT_LESS_OR_EQUAL

Kod błędu zatrzymania: 0x0000000D1

Zastosuj najnowsze aktualizacje sterownika, stosując najnowsze aktualizacje zbiorcze dla systemu za pośrednictwem witryny sieci Web katalogu aktualizacji firmy Microsoft. Zaktualizuj nieaktualny sterownik sieciowy. Wirtualne systemy VMware często działają ze sterownikiem „Intel(R) PRO/ 1000 MT Network Connection” (e1g6032e.sys). Ten sterownik można pobrać z witryny internetowej Intel Download Drivers &Software. Skontaktuj się z dostawcą sprzętu, aby zaktualizować sterownik sieciowy w celu rozwiązania tego problemu. W przypadku systemów VMware należy użyć zintegrowanego sterownika sieciowego VMware zamiast sterownika e1g6032e.sys firmy Intel. Na przykład użyj typów firmy VMware VMXNET, VMXNET2 lub VMXNET3.

PAGE_FAULT_IN_NONPAGED_AREA

Kod błędu zatrzymania: 0x000000050

Jeśli sterownik zostanie zidentyfikowany w komunikacie o błędzie zatrzymania, skontaktuj się z producentem w celu uzyskania aktualizacji. Jeśli nie są dostępne żadne aktualizacje, wyłącz ten sterownik i monitoruj system pod kątem stabilności. Uruchom polecenie chkdsk /f /r, aby wykryć i naprawić błędy dysku. Uruchom ponownie system przed rozpoczęciem skanowania dysku na partycji systemowej. Skontaktuj się z producentem wszelkich narzędzi diagnostycznych, które dotyczą podsystemu dysku twardego. Spróbuj ponownie zainstalować dowolną aplikację lub usługę, która została niedawno zainstalowana lub zaktualizowana. Możliwe, że awaria została wyzwolona podczas uruchamiania aplikacji przez system i odczytywania rejestru dla ustawień preferencji. Ponowne zainstalowanie aplikacji może naprawić uszkodzone klucze rejestru. Jeśli problem będzie się powtarzać i uruchomiono najnowszą kopię zapasową stanu systemu, spróbuj przywrócić gałąź rejestru z kopii zapasowej.

SYSTEM_SERVICE_EXCEPTION

Kod błędu zatrzymania c000021a {Krytyczny błąd systemu} Proces systemowy podsystemu Windows został nieoczekiwanie zakończony ze stanem 0xc0000005. System został zamknięty.

Za pomocą narzędzia „Sprawdzania plików systemowych” można naprawić brakujące lub uszkodzone pliki systemowe. Systemowy kontroler plików umożliwia użytkownikom skanowanie pod kątem uszkodzeń w plikach systemowych systemu Windows i przywracanie uszkodzonych plików. Aby uzyskać więcej informacji, zobacz Korzystanie z narzędzia Kontroler plików systemowych.

NTFS_FILE_SYSTEM

Kod błędu zatrzymania: 0x000000024

Ten błąd zatrzymania jest często spowodowany uszkodzeniem systemu plików NTFS lub nieprawidłowymi blokami (sektorami) na dysku twardym. Uszkodzone sterowniki dysków twardych (SATA lub IDE) mogą również negatywnie wpłynąć na zdolność systemu do odczytu i zapisu na dysku. Uruchom dowolną diagnostykę sprzętu dostarczaną przez producenta podsystemu pamięci fizycznej. Użyj narzędzia do skanowania dysku, aby sprawdzić, czy nie występują błędy systemu plików. Aby wykonać ten krok, kliknij prawym przyciskiem myszy dysk, który chcesz skanować, wybierz polecenie Właściwości, wybierz pozycję Narzędzia, a następnie wybierz przycisk Sprawdź teraz. Zaktualizuj sterownik systemu plików NTFS (Ntfs.sys). Zastosuj najnowsze aktualizacje zbiorcze dla bieżącego systemu operacyjnego, w którym występuje problem.

KMODE_EXCEPTION_NOT_HANDLED

Kod błędu zatrzymania: 0x0000001E

Jeśli w komunikacie o błędzie zatrzymania zidentyfikowano sterownik, wyłącz go lub usuń. Wyłącz lub usuń wszystkie sterowniki lub usługi, które zostały ostatnio dodane.

Jeśli błąd występuje podczas sekwencji uruchamiania, a partycja systemowa została sformatowana przy użyciu systemu plików NTFS, być może uda się użyć trybu awaryjnego w celu wyłączenia tego sterownika w Menedżerze urządzeń. Aby wyłączyć ten sterownik, wykonaj następujące czynności:

  1. Wybierz pozycję Ustawienia>Aktualizacje i zabezpieczenia>Odzyskiwanie.
  2. W obszarze Uruchamianie zaawansowane wybierz pozycję Uruchom ponownie teraz.
  3. Gdy podczas ponownego uruchamiania komputera zostanie wyświetlony ekran Wybierz opcję wybierz pozycję Rozwiązywanie problemów>Opcje zaawansowane>Ustawienia uruchamiania>Uruchom ponownie.
  4. Po ponownym uruchomieniu komputera zostanie wyświetlona lista opcji. Naciśnij klawisz 4 lub F4, aby uruchomić komputer w trybie awaryjnym. Jeśli zamierzasz w trybie awaryjnym używać Internetu, naciśnij klawisz 5 lub F5, aby uzyskać dostęp do opcji Tryb awaryjny z obsługą sieci.

DPC_WATCHDOG_VIOLATION

Kod błędu zatrzymania: 0x00000133

Ten kod błędu zatrzymania jest spowodowany przez uszkodzony sterownik, który nie wykonuje swojej pracy w ramach przydzielonego czasu w określonych warunkach. Aby rozwiązać ten błąd, pobierz plik zrzutu pamięci z systemu, a następnie znajdź uszkodzony sterownik za pomocą debugera systemu Windows. Jeśli sterownik zostanie zidentyfikowany w komunikacie o błędzie zatrzymania, wyłącz ten sterownik, aby wyizolować problem. Skontaktuj się z producentem, aby uzyskać aktualizacje sterowników. Sprawdź dziennik systemu w Podglądzie zdarzeń pod kątem dodatkowych komunikatów o błędach, które mogą pomóc w zidentyfikowaniu urządzenia lub sterownika powodującego błąd zatrzymania 0x133. Sprawdź, czy nowo zainstalowany sprzęt jest zgodny z zainstalowaną wersją systemu Windows. Możesz na przykład uzyskać informacje o wymaganym sprzęcie w specyfikacji systemu Windows 10. Jeśli jest zainstalowany debuger systemu Windows i masz dostęp do symboli publicznych, możesz załadować plik c:\windows\memory.dmp do debugera. Następnie zapoznaj się z artykułem pt. Określanie źródła błędu sprawdzania usterek 0x133 (DPC_WATCHDOG_VIOLATION) w systemie Windows Server 2012, aby znaleźć problematyczny sterownik z zrzutu pamięci.

USER_MODE_HEALTH_MONITOR

Kod błędu zatrzymania: 0x0000009E

Ten błąd zatrzymania wskazuje, że sprawdzanie kondycji trybu użytkownika nie powiodło się w sposób uniemożliwiający bezproblemowe zamknięcie. System Windows przywraca krytyczne usługi przez ponowne uruchomienie lub włączenie trybu failover aplikacji na innych serwerach. Usługa klastrowania zawiera mechanizm wykrywania, który może wykrywać brak odpowiedzi składników trybu użytkownika.

Ten błąd zatrzymania zwykle występuje w środowisku klastra, a wskazany uszkodzony sterownik to RHS.exe. Sprawdź dzienniki zdarzeń pod kątem błędów pamięci fizycznej, aby zidentyfikować proces, który uległ awarii. Spróbuj zaktualizować składnik lub proces wskazany w dziennikach zdarzeń. Powinieneś zobaczyć zarejestrowane następujące zdarzenie:

  • Identyfikator zdarzenia: 4870
  • Źródło: Microsoft-Windows-FailoverClustering
  • Opis: Monitorowanie kondycji trybu użytkownika wykryło, że system nie reaguje. Wirtualna karta klastra trybu failover straciła kontakt z procesem serwera klastra o identyfikatorze procesu '%1' przez '%2' sekund(-y)(-ę). Wykonywana jest akcja odzyskiwania. Przejrzyj dzienniki klastra, aby zidentyfikować proces i zbadać, które elementy mogą powodować zawieszenie tego procesu.

Aby uzyskać więcej informacji, zobacz artykuł pt. Błąd zatrzymania 0x0000009E w węzłach klastra w środowisku klastra trybu failover opartego na systemie Windows Server. Zobacz również poniższy film wideo firmy Microsoft Co zrobić, jeśli wystąpi błąd 9E.

Przykłady debugowania

Przykład 1

Ten proces sprawdzania usterek jest spowodowany przez zawieszenie sterownika podczas jego aktualizacji, co powoduje wykonanie procesu sprawdzenia błędu D1 w pliku NDIS.sys, który jest sterownikiem firmy Microsoft. Wartość IMAGE_NAME informuje o błędzie sterownika, ale ponieważ ten sterownik jest sterownikiem firmy Microsoft, nie można go wymienić ani usunąć. Metoda rozwiązywania polega na wyłączeniu urządzenia sieciowego w Menedżerze urządzeń i ponowieniu próby jego aktualizacji.

2: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high.  This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 000000000011092a, memory referenced
Arg2: 0000000000000002, IRQL
Arg3: 0000000000000001, value 0 = read operation, 1 = write operation
Arg4: fffff807aa74f4c4, address which referenced memory
Debugging Details:
------------------

KEY_VALUES_STRING: 1
STACKHASH_ANALYSIS: 1
TIMELINE_ANALYSIS: 1
DUMP_CLASS: 1
DUMP_QUALIFIER: 400
SIMULTANEOUS_TELSVC_INSTANCES:  0
SIMULTANEOUS_TELWP_INSTANCES:  0
BUILD_VERSION_STRING:  16299.15.amd64fre.rs3_release.170928-1534
SYSTEM_MANUFACTURER:  Alienware
SYSTEM_PRODUCT_NAME:  Alienware 15 R2
SYSTEM_SKU:  Alienware 15 R2
SYSTEM_VERSION:  1.2.8
BIOS_VENDOR:  Alienware
BIOS_VERSION:  1.2.8
BIOS_DATE:  01/29/2016
BASEBOARD_MANUFACTURER:  Alienware
BASEBOARD_PRODUCT:  Alienware 15 R2
BASEBOARD_VERSION:  A00
DUMP_TYPE:  2
BUGCHECK_P1: 11092a
BUGCHECK_P2: 2
BUGCHECK_P3: 1
BUGCHECK_P4: fffff807aa74f4c4
WRITE_ADDRESS: fffff80060602380: Unable to get MiVisibleState
Unable to get NonPagedPoolStart
Unable to get NonPagedPoolEnd
Unable to get PagedPoolStart
Unable to get PagedPoolEnd
000000000011092a
CURRENT_IRQL:  2
FAULTING_IP:
NDIS!NdisQueueIoWorkItem+4 [minio\ndis\sys\miniport.c @ 9708]
fffff807`aa74f4c4 48895120        mov     qword ptr [rcx+20h],rdx
CPU_COUNT: 8
CPU_MHZ: a20
CPU_VENDOR:  GenuineIntel
CPU_FAMILY: 6
CPU_MODEL: 5e
CPU_STEPPING: 3
CPU_MICROCODE: 6,5e,3,0 (F,M,S,R)  SIG: BA'00000000 (cache) BA'00000000 (init)
BLACKBOXPNP: 1 (!blackboxpnp)
DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT
BUGCHECK_STR:  AV
PROCESS_NAME:  System
ANALYSIS_SESSION_HOST:  SHENDRIX-DEV0
ANALYSIS_SESSION_TIME:  01-17-2019 11:06:05.0653
ANALYSIS_VERSION: 10.0.18248.1001 amd64fre
TRAP_FRAME:  ffffa884c0c3f6b0 -- (.trap 0xffffa884c0c3f6b0)
NOTE: The trap frame doesn't contain all registers.
Some register values may be zeroed or incorrect.
rax=fffff807ad018bf0 rbx=0000000000000000 rcx=000000000011090a
rdx=fffff807ad018c10 rsi=0000000000000000 rdi=0000000000000000
rip=fffff807aa74f4c4 rsp=ffffa884c0c3f840 rbp=000000002408fd00
r8=ffffb30e0e99ea30  r9=0000000001d371c1 r10=0000000020000080
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na pe nc
NDIS!NdisQueueIoWorkItem+0x4:
fffff807`aa74f4c4 48895120        mov     qword ptr [rcx+20h],rdx ds:00000000`0011092a=????????????????
Resetting default scope

LAST_CONTROL_TRANSFER:  from fffff800603799e9 to fffff8006036e0e0

STACK_TEXT:
ffffa884`c0c3f568 fffff800`603799e9 : 00000000`0000000a 00000000`0011092a 00000000`00000002 00000000`00000001 : nt!KeBugCheckEx [minkernel\ntos\ke\amd64\procstat.asm @ 134]
ffffa884`c0c3f570 fffff800`60377d7d : fffff78a`4000a150 ffffb30e`03fba001 ffff8180`f0b5d180 00000000`000000ff : nt!KiBugCheckDispatch+0x69 [minkernel\ntos\ke\amd64\trap.asm @ 2998]
ffffa884`c0c3f6b0 fffff807`aa74f4c4 : 00000000`00000002 ffff8180`f0754180 00000000`00269fb1 ffff8180`f0754180 : nt!KiPageFault+0x23d [minkernel\ntos\ke\amd64\trap.asm @ 1248]
ffffa884`c0c3f840 fffff800`60256b63 : ffffb30e`0e18f710 ffff8180`f0754180 ffffa884`c0c3fa18 00000000`00000002 : NDIS!NdisQueueIoWorkItem+0x4 [minio\ndis\sys\miniport.c @ 9708]
ffffa884`c0c3f870 fffff800`60257bfd : 00000000`00000008 00000000`00000000 00000000`00269fb1 ffff8180`f0754180 : nt!KiProcessExpiredTimerList+0x153 [minkernel\ntos\ke\dpcsup.c @ 2078]
ffffa884`c0c3f960 fffff800`6037123a : 00000000`00000000 ffff8180`f0754180 00000000`00000000 ffff8180`f0760cc0 : nt!KiRetireDpcList+0x43d [minkernel\ntos\ke\dpcsup.c @ 1512]
ffffa884`c0c3fb60 00000000`00000000 : ffffa884`c0c40000 ffffa884`c0c39000 00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x5a [minkernel\ntos\ke\amd64\idle.asm @ 166]

RETRACER_ANALYSIS_TAG_STATUS:  Failed in getting KPCR for core 2
THREAD_SHA1_HASH_MOD_FUNC:  5b59a784f22d4b5cbd5a8452fe39914b8fd7961d
THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  5643383f9cae3ca39073f7721b53f0c633bfb948
THREAD_SHA1_HASH_MOD:  20edda059578820e64b723e466deea47f59bd675
FOLLOWUP_IP:
NDIS!NdisQueueIoWorkItem+4 [minio\ndis\sys\miniport.c @ 9708]
fffff807`aa74f4c4 48895120        mov     qword ptr [rcx+20h],rdx
FAULT_INSTR_CODE:  20518948
FAULTING_SOURCE_LINE:  minio\ndis\sys\miniport.c
FAULTING_SOURCE_FILE:  minio\ndis\sys\miniport.c
FAULTING_SOURCE_LINE_NUMBER:  9708
FAULTING_SOURCE_CODE:
  9704:     _In_ _Points_to_data_      PVOID                       WorkItemContext
  9705:     )
  9706: {
  9707:
> 9708:     ((PNDIS_IO_WORK_ITEM)NdisIoWorkItemHandle)->Routine = Routine;
  9709:     ((PNDIS_IO_WORK_ITEM)NdisIoWorkItemHandle)->WorkItemContext = WorkItemContext;
  9710:
  9711:     IoQueueWorkItem(((PNDIS_IO_WORK_ITEM)NdisIoWorkItemHandle)->IoWorkItem,
  9712:                     ndisDispatchIoWorkItem,
  9713:                     CriticalWorkQueue,

SYMBOL_STACK_INDEX:  3
SYMBOL_NAME:  NDIS!NdisQueueIoWorkItem+4
FOLLOWUP_NAME:  ndiscore
MODULE_NAME: NDIS
IMAGE_NAME:  NDIS.SYS
DEBUG_FLR_IMAGE_TIMESTAMP:  0
IMAGE_VERSION:  10.0.16299.99
DXGANALYZE_ANALYSIS_TAG_PORT_GLOBAL_INFO_STR:  Hybrid_FALSE
DXGANALYZE_ANALYSIS_TAG_ADAPTER_INFO_STR:  GPU0_VenId0x1414_DevId0x8d_WDDM1.3_Active;
STACK_COMMAND:  .thread ; .cxr ; kb
BUCKET_ID_FUNC_OFFSET:  4
FAILURE_BUCKET_ID:  AV_NDIS!NdisQueueIoWorkItem
BUCKET_ID:  AV_NDIS!NdisQueueIoWorkItem
PRIMARY_PROBLEM_CLASS:  AV_NDIS!NdisQueueIoWorkItem
TARGET_TIME:  2017-12-10T14:16:08.000Z
OSBUILD:  16299
OSSERVICEPACK:  98
SERVICEPACK_NUMBER: 0
OS_REVISION: 0
SUITE_MASK:  784
PRODUCT_TYPE:  1
OSPLATFORM_TYPE:  x64
OSNAME:  Windows 10
OSEDITION:  Windows 10 WinNt TerminalServer SingleUserTS Personal
OS_LOCALE:
USER_LCID:  0
OSBUILD_TIMESTAMP:  2017-11-26 03:49:20
BUILDDATESTAMP_STR:  170928-1534
BUILDLAB_STR:  rs3_release
BUILDOSVER_STR:  10.0.16299.15.amd64fre.rs3_release.170928-1534
ANALYSIS_SESSION_ELAPSED_TIME:  8377
ANALYSIS_SOURCE:  KM
FAILURE_ID_HASH_STRING:  km:av_ndis!ndisqueueioworkitem
FAILURE_ID_HASH:  {10686423-afa1-4852-ad1b-9324ac44ac96}
FAILURE_ID_REPORT_LINK: https://go.microsoft.com/fwlink/?LinkID=397724&FailureHash=10686423-afa1-4852-ad1b-9324ac44ac96
Followup:     ndiscore
---------

Przykład 2

W tym przykładzie sterownik firmy innej niż firma Microsoft spowodował błąd stronicowania, więc nie mamy symboli dla tego sterownika. Jednak patrząc na wartość IMAGE_NAME i/lub MODULE_NAME widzimy, że plik WwanUsbMP.sys spowodował ten problem. Odłączenie urządzenia i ponowienie próby uaktualnienia jest możliwym jego rozwiązaniem.

1: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This can't be protected by try-except.
Typically the address is just plain bad or it is pointing at freed memory.
Arguments:
Arg1: 8ba10000, memory referenced.
Arg2: 00000000, value 0 = read operation, 1 = write operation.
Arg3: 82154573, If non-zero, the instruction address which referenced the bad memory
                address.
Arg4: 00000000, (reserved)

Debugging Details:
------------------

*** WARNING: Unable to verify timestamp for WwanUsbMp.sys
*** ERROR: Module load completed but symbols could not be loaded for WwanUsbMp.sys

KEY_VALUES_STRING: 1
STACKHASH_ANALYSIS: 1
TIMELINE_ANALYSIS: 1
DUMP_CLASS: 1
DUMP_QUALIFIER: 400
BUILD_VERSION_STRING:  16299.15.x86fre.rs3_release.170928-1534
MARKER_MODULE_NAME:  IBM_ibmpmdrv
SYSTEM_MANUFACTURER:  LENOVO
SYSTEM_PRODUCT_NAME:  20AWS07H00
SYSTEM_SKU:  LENOVO_MT_20AW_BU_Think_FM_ThinkPad T440p
SYSTEM_VERSION:  ThinkPad T440p
BIOS_VENDOR:  LENOVO
BIOS_VERSION:  GLET85WW (2.39 )
BIOS_DATE:  09/29/2016
BASEBOARD_MANUFACTURER:  LENOVO
BASEBOARD_PRODUCT:  20AWS07H00
BASEBOARD_VERSION:  Not Defined
DUMP_TYPE:  2
BUGCHECK_P1: ffffffff8ba10000
BUGCHECK_P2: 0
BUGCHECK_P3: ffffffff82154573
BUGCHECK_P4: 0
READ_ADDRESS: 822821d0: Unable to get MiVisibleState
8ba10000
FAULTING_IP:
nt!memcpy+33 [minkernel\crts\crtw32\string\i386\memcpy.asm @ 213
82154573 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
MM_INTERNAL_CODE:  0
CPU_COUNT: 4
CPU_MHZ: 95a
CPU_VENDOR:  GenuineIntel
CPU_FAMILY: 6
CPU_MODEL: 3c
CPU_STEPPING: 3
CPU_MICROCODE: 6,3c,3,0 (F,M,S,R)  SIG: 21'00000000 (cache) 21'00000000 (init)
BLACKBOXBSD: 1 (!blackboxbsd)
BLACKBOXPNP: 1 (!blackboxpnp)
DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT
BUGCHECK_STR:  AV
PROCESS_NAME:  System
CURRENT_IRQL:  2
ANALYSIS_SESSION_HOST:  SHENDRIX-DEV0
ANALYSIS_SESSION_TIME:  01-17-2019 10:54:53.0780
ANALYSIS_VERSION: 10.0.18248.1001 amd64fre
TRAP_FRAME:  8ba0efa8 -- (.trap 0xffffffff8ba0efa8)
ErrCode = 00000000
eax=8ba1759e ebx=a2bfd314 ecx=00001d67 edx=00000002 esi=8ba10000 edi=a2bfe280
eip=82154573 esp=8ba0f01c ebp=8ba0f024 iopl=0         nv up ei pl nz ac pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010216
nt!memcpy+0x33:
82154573 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
Resetting default scope
LOCK_ADDRESS:  8226c6e0 -- (!locks 8226c6e0)
Cannot get _ERESOURCE type
Resource @ nt!PiEngineLock (0x8226c6e0)    Available
1 total locks
PNP_TRIAGE_DATA:
                Lock address  : 0x8226c6e0
                Thread Count  : 0
                Thread address: 0x00000000
                Thread wait   : 0x0

LAST_CONTROL_TRANSFER:  from 82076708 to 821507e8

STACK_TEXT:
8ba0ede4 82076708 00000050 8ba10000 00000000 nt!KeBugCheckEx [minkernel\ntos\ke\i386\procstat.asm @ 114]
8ba0ee40 8207771e 8ba0efa8 8ba10000 8ba0eea0 nt!MiSystemFault+0x13c8 [minkernel\ntos\mm\mmfault.c @ 4755]
8ba0ef08 821652ac 00000000 8ba10000 00000000 nt!MmAccessFault+0x83e [minkernel\ntos\mm\mmfault.c @ 6868]
8ba0ef08 82154573 00000000 8ba10000 00000000 nt!_KiTrap0E+0xec [minkernel\ntos\ke\i386\trap.asm @ 5153]
8ba0f024 86692866 a2bfd314 8ba0f094 0000850a nt!memcpy+0x33 [minkernel\crts\crtw32\string\i386\memcpy.asm @ 213]
8ba0f040 866961bc 8ba0f19c a2bfd0e8 00000000 NDIS!ndisMSetPowerManagementCapabilities+0x8a [minio\ndis\sys\miniport.c @ 7969]
8ba0f060 866e1f66 866e1caf adfb9000 00000000 NDIS!ndisMSetGeneralAttributes+0x23d [minio\ndis\sys\miniport.c @ 8198]
8ba0f078 ac50c15f a2bfd0e8 0000009f 00000001 NDIS!NdisMSetMiniportAttributes+0x2b7 [minio\ndis\sys\miniport.c @ 7184]
WARNING: Stack unwind information not available. Following frames may be wrong.
8ba0f270 ac526f96 adfb9000 a2bfd0e8 8269b9b0 WwanUsbMp+0x1c15f
8ba0f3cc 866e368a a2bfd0e8 00000000 8ba0f4c0 WwanUsbMp+0x36f96
8ba0f410 867004b0 a2bfd0e8 a2bfd0e8 a2be2a70 NDIS!ndisMInvokeInitialize+0x60 [minio\ndis\sys\miniport.c @ 13834]
8ba0f7ac 866dbc8e a2acf730 866b807c 00000000 NDIS!ndisMInitializeAdapter+0xa23 [minio\ndis\sys\miniport.c @ 601]
8ba0f7d8 866e687d a2bfd0e8 00000000 00000000 NDIS!ndisInitializeAdapter+0x4c [minio\ndis\sys\initpnp.c @ 931]
8ba0f800 866e90bb adfb64d8 00000000 a2bfd0e8 NDIS!ndisPnPStartDevice+0x118 [minio\ndis\sys\configm.c @ 4235]
8ba0f820 866e8a58 adfb64d8 a2bfd0e8 00000000 NDIS!ndisStartDeviceSynchronous+0xbd [minio\ndis\sys\ndispnp.c @ 3096]
8ba0f838 866e81df adfb64d8 8ba0f85e 8ba0f85f NDIS!ndisPnPIrpStartDevice+0xb4 [minio\ndis\sys\ndispnp.c @ 1067]
8ba0f860 820a7e98 a2bfd030 adfb64d8 8ba0f910 NDIS!ndisPnPDispatch+0x108 [minio\ndis\sys\ndispnp.c @ 2429]
8ba0f878 8231f07e 8ba0f8ec adf5d4c8 872e2eb8 nt!IofCallDriver+0x48 [minkernel\ntos\io\iomgr\iosubs.c @ 3149]
8ba0f898 820b8569 820c92b8 872e2eb8 8ba0f910 nt!PnpAsynchronousCall+0x9e [minkernel\ntos\io\pnpmgr\irp.c @ 3005]
8ba0f8cc 820c9a76 00000000 820c92b8 872e2eb8 nt!PnpSendIrp+0x67 [minkernel\ntos\io\pnpmgr\irp.h @ 286]
8ba0f914 8234577b 872e2eb8 adf638b0 adf638b0 nt!PnpStartDevice+0x60 [minkernel\ntos\io\pnpmgr\irp.c @ 3187]
8ba0f94c 82346cc7 872e2eb8 adf638b0 adf638b0 nt!PnpStartDeviceNode+0xc3 [minkernel\ntos\io\pnpmgr\start.c @ 1712]
8ba0f96c 82343c68 00000000 a2bdb3d8 adf638b0 nt!PipProcessStartPhase1+0x4d [minkernel\ntos\io\pnpmgr\start.c @ 114]
8ba0fb5c 824db885 8ba0fb80 00000000 00000000 nt!PipProcessDevNodeTree+0x386 [minkernel\ntos\io\pnpmgr\enum.c @ 6129]
8ba0fb88 8219571b 85852520 8c601040 8226ba90 nt!PiRestartDevice+0x91 [minkernel\ntos\io\pnpmgr\enum.c @ 4743]
8ba0fbe8 820804af 00000000 00000000 8c601040 nt!PnpDeviceActionWorker+0xdb4b7 [minkernel\ntos\io\pnpmgr\action.c @ 674]
8ba0fc38 8211485c 85852520 421de295 00000000 nt!ExpWorkerThread+0xcf [minkernel\ntos\ex\worker.c @ 4270]
8ba0fc70 82166785 820803e0 85852520 00000000 nt!PspSystemThreadStartup+0x4a [minkernel\ntos\ps\psexec.c @ 7756]
8ba0fc88 82051e07 85943940 8ba0fcd8 82051bb9 nt!KiThreadStartup+0x15 [minkernel\ntos\ke\i386\threadbg.asm @ 82]
8ba0fc94 82051bb9 8b9cc600 8ba10000 8ba0d000 nt!KiProcessDeferredReadyList+0x17 [minkernel\ntos\ke\thredsup.c @ 5309]
8ba0fcd8 00000000 00000000 00000000 00000000 nt!KeSetPriorityThread+0x249 [minkernel\ntos\ke\thredobj.c @ 3881]


RETRACER_ANALYSIS_TAG_STATUS:  Failed in getting KPCR for core 1
THREAD_SHA1_HASH_MOD_FUNC:  e029276c66aea80ba36903e89947127118d31128
THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  012389f065d31c8eedd6204846a560146a38099b
THREAD_SHA1_HASH_MOD:  44dc639eb162a28d47eaeeae4afe6f9eeccced3d
FOLLOWUP_IP:
WwanUsbMp+1c15f
ac50c15f 8bf0            mov     esi,eax
FAULT_INSTR_CODE:  f33bf08b
SYMBOL_STACK_INDEX:  8
SYMBOL_NAME:  WwanUsbMp+1c15f
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: WwanUsbMp
IMAGE_NAME:  WwanUsbMp.sys
DEBUG_FLR_IMAGE_TIMESTAMP:  5211bb0c
DXGANALYZE_ANALYSIS_TAG_PORT_GLOBAL_INFO_STR:  Hybrid_FALSE
DXGANALYZE_ANALYSIS_TAG_ADAPTER_INFO_STR:  GPU0_VenId0x1414_DevId0x8d_WDDM1.3_NotActive;GPU1_VenId0x8086_DevId0x416_WDDM1.3_Active_Post;
STACK_COMMAND:  .thread ; .cxr ; kb
BUCKET_ID_FUNC_OFFSET:  1c15f
FAILURE_BUCKET_ID:  AV_R_INVALID_WwanUsbMp!unknown_function
BUCKET_ID:  AV_R_INVALID_WwanUsbMp!unknown_function
PRIMARY_PROBLEM_CLASS:  AV_R_INVALID_WwanUsbMp!unknown_function
TARGET_TIME:  2018-02-12T11:33:51.000Z
OSBUILD:  16299
OSSERVICEPACK:  15
SERVICEPACK_NUMBER: 0
OS_REVISION: 0
SUITE_MASK:  272
PRODUCT_TYPE:  1
OSPLATFORM_TYPE:  x86
OSNAME:  Windows 10
OSEDITION:  Windows 10 WinNt TerminalServer SingleUserTS
OS_LOCALE:
USER_LCID:  0
OSBUILD_TIMESTAMP:  2017-09-28 18:32:28
BUILDDATESTAMP_STR:  170928-1534
BUILDLAB_STR:  rs3_release
BUILDOSVER_STR:  10.0.16299.15.x86fre.rs3_release.170928-1534
ANALYSIS_SESSION_ELAPSED_TIME:  162bd
ANALYSIS_SOURCE:  KM
FAILURE_ID_HASH_STRING:  km:av_r_invalid_wwanusbmp!unknown_function
FAILURE_ID_HASH:  {31e4d053-0758-e43a-06a7-55f69b072cb3}
FAILURE_ID_REPORT_LINK: https://go.microsoft.com/fwlink/?LinkID=397724&FailureHash=31e4d053-0758-e43a-06a7-55f69b072cb3

Followup:     MachineOwner
---------

ReadVirtual: 812d1248 not properly sign extended

Informacje

Dokumentacja kodów sprawdzania pod kątem usterek