Jak rozwiązywać problemy z błędem „STOP 0xC000021A” w systemie Windows XP lub Windows Server 2003

W tym artykule przedstawiono zaawansowane rozwiązywanie problemu z błędem „STOP 0xC000021A”.

Użytkownicy domowi: ten artykuł jest przeznaczony dla pracowników pomocy technicznej i informatyków. Jeśli szukasz dodatkowych informacji na temat kodu błędu wyświetlonego na błękitnym ekranie podczas korzystania z komputera, zobacz Rozwiązywanie problemów z błędami na błękitnym ekranie.

Dotyczy: Windows 10 — wszystkie wersje, Windows Server 2012 R2
Oryginalny numer KB: 156669

Ten artykuł jest przeznaczony dla zaawansowanych użytkowników komputera. W przypadku braku doświadczenia z zaawansowanym rozwiązywaniem problemów można poprosić kogoś o pomoc lub skontaktować się z pomocą techniczną.

W przypadku używania serwera lub stacji roboczej z jednym z systemów operacyjnych wymienionych w sekcji „Informacje zawarte w tym artykule dotyczą” może zostać zwrócony następujący komunikat o błędzie:

STOP: c000021a {Krytyczny błąd systemu}
Proces systemowy Proces usługi logowania systemu Windows został nieoczekiwanie zakończony z kodem stanu 0xc0000034 (0x00000000 0x0000000)
System został zamknięty.

Uwaga

Parametry w nawiasach zależą od konfiguracji konkretnego komputera i mogą się różnić w poszczególnych wystąpieniach.

Przyczyna

Błąd STOP 0xC000021A występuje w przypadku awarii programu Winlogon.exe lub Csrss.exe. Gdy jądro systemu Windows NT wykrywa, że któryś z tych procesów został zatrzymany, zatrzymuje system i zgłasza błąd STOP 0xC000021A. Ten błąd może mieć kilka przyczyn, w tym:

  • Zainstalowano niezgodne pliki systemowe.
  • Instalacja dodatku Service Pack nie powiodła się.
  • Program do tworzenia kopii zapasowej używany do przywracania dysku twardego nie przywrócił poprawnie plików, które mogły być w użyciu.
  • Zainstalowano niezgodny program innego producenta.

Rozwiązanie

W celu rozwiązania tego problemu należy ustalić, który proces uległ awarii i dlaczego.

Aby ustalić, który proces uległ awarii, należy zarejestrować program Dr. Watson jako domyślnego debugera systemu (jeśli jeszcze nim nie jest). Program Dr. Watson dla systemu Windows NT rejestruje informacje diagnostyczne o awariach procesów w pliku dziennika Drwtsn32.log. Ponadto można skonfigurować ten program do tworzenia plików zrzutu pamięci procesów zakończonych niepowodzeniem. Następnie można przeanalizować pliki w debugerze, aby ustalić, dlaczego proces kończy się niepowodzeniem.

Aby skonfigurować w programie Dr. Watson przechwytywanie błędów programów trybu użytkownika, wykonaj następujące czynności:

  1. W wierszu polecenia wpisz ciąg katalog_główny_systemu\System32\Drwtsn32.exe -I, a następnie naciśnij klawisz Enter.

    To polecenie powoduje skonfigurowanie programu Dr. Watson jako domyślnego debugera systemowego.

  2. W wierszu polecenia wpisz ciąg katalog_główny_systemu\System32\Drwtsn32.exe, a następnie wybierz następujące opcje:

    • Dołącz do istniejącego pliku dziennika
    • Utwórz plik zrzutu awaryjnego
    • Powiadomienie wizualne
  3. Po ponownym uruchomieniu komputera po wystąpieniu błędu STOP 0xC000021A uruchom program Dr. Watson (Drwtsn32.exe).

  4. Wyświetl dziennik programu Dr. Watson w celu ustalenia, który proces trybu użytkownika może powodować problem.

  5. Jeśli informacje w dzienniku programu Dr. Watson nie wystarczają do ustalenia przyczyny problemu, przeanalizuj plik User.dmp w celu ustalenia przyczyny błędu STOP 0xC000021A.

    Jeśli program Dr. Watson nie utworzył pliku User.dmp dla procesu Winlogon.exe ani Csrss.exe, może być konieczne wygenerowanie pliku zrzutu pamięci procesu ulegającego awarii za pomocą innego narzędzia. Aby uzyskać więcej informacji, zobacz następujący artykuł:

    241215 Jak utworzyć plik zrzutu za pomocą narzędzia Userdump.exe

    Uwaga

    Należy wykonać instrukcje podane w tym artykule z bazy wiedzy, aby rozwiązać problem z procesem zamykanym z powodu wyjątku. Podczas wykonywania tych instrukcji należy monitorować poniższe procesy w celu rozwiązania problemu z błędem STOP 0xC000021A:

    • Winlogon.exe
    • Csrss.exe

    Przyczyną większości błędów STOP 0xC000021A jest awaria procesu Winlogon.exe. Typową przyczyną tej awarii jest uszkodzenie biblioteki DLL GINA (Graphical Identification and Authentication) innego producenta. GINA to nadający się do zamiany składnik DLL ładowany przez proces Winlogon.exe. W bibliotece GINA są zaimplementowane zasady uwierzytelniania modelu logowania interakcyjnego. Biblioteka GINA wykonuje wszelkie interakcje związane z identyfikacją i uwierzytelnianiem użytkowników.

Niektóry typy oprogramowania do sterowania zdalnego bardzo często zamieniają domyślną bibliotekę DLL GINA systemu Windows (Msgina.dll). Najlepiej w pierwszej kolejności zbadać system pod kątem obecności biblioteki DLL GINA innego producenta. W tym celu należy odszukać następujący klucz rejestru:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonValue = GinaDLL REG_SZ

  • Jeśli wartość Gina DLL jest obecna i różni się od Msgina.dll, oznacza to prawdopodobnie, że produkt innego producenta zmienił tę wartość.
  • Jeśli tej wartości nie ma, system używa biblioteki Msgina.dll jako domyślnej biblioteki DLL GINA. Jeśli ten błąd wystąpił po raz pierwszy po zainstalowaniu nowego lub zaktualizowanego sterownika urządzenia, usługi systemowej lub programu innego producenta, nowe oprogramowanie należy usunąć lub wyłączyć. Należy skontaktować się z producentem oprogramowania i dowiedzieć się, czy jest dostępna aktualizacja.

Ostatnia znana dobra konfiguracja

Jeśli czynności przedstawione we wcześniejszej części tego artykułu nie umożliwiły rozwiązania problemu, należy uruchomić komputer, używając ostatniej znanej dobrej konfiguracji. Aby uruchomić komputer przy użyciu ostatniej znanej dobrej konfiguracji, wykonaj następujące czynności:

Uwaga

Ponieważ istnieje wiele wersji systemu Microsoft Windows, poniższe kroki mogą się różnić na poszczególnych komputerach. W takim wypadku, aby wykonać te kroki, należy skorzystać z dokumentacji danego produktu.

  1. Wybierz pozycję Rozpocznij>Zamykanie.

  2. Wybierz pozycję Uruchom ponownie>OK.

  3. We wskazanym momencie naciśnij klawisz F8:

    • Dla komputerów opartych o architekturę x86: gdy pojawi się, a następnie zniknie ekran z tekstem, naciśnij klawisz F8. (Ekran tekstu może zawierać test pamięci, wiersze dotyczące systemu BIOS i inne wiersze). Może być również wyświetlany monit informujący o tym, kiedy nacisnąć klawisz F8.
    • Dla komputerów opartych o architekturę Itanium: po wybraniu pozycji z menu rozruchu naciśnij klawisz F8. Może pojawić się monit z informacją, kiedy należy nacisnąć klawisz F8.
  4. Za pomocą klawiszy strzałek wybierz opcję Ostatnia znana dobra konfiguracja, a następnie naciśnij klawisz Enter.

    Aby można było skorzystać z klawiszy strzałek na klawiaturze numerycznej, należy wyłączyć tryb NUM LOCK.

  5. Korzystając z klawiszy strzałek, wyróżnij system operacyjny, a następnie naciśnij klawisz Enter.

Uwaga

  • Wybierając opcję rozruchu Ostatnia znana dobra konfiguracja, można rozwiązać problemy, takie jak z nowo dodanym sterownikiem, który może być niewłaściwy dla używanego sprzętu. Jednak ta funkcja nie rozwiązuje problemów spowodowanych przez uszkodzone lub brakujące pliki albo sterowniki.
  • Wybranie opcji Ostatnia znana dobra konfiguracja powoduje przywrócenie tylko informacji z klucza rejestru HKLM\System\CurrentControlSet. Wszelkie zmiany wprowadzone w innych kluczach rejestru pozostają.

Usuwanie niezgodnego oprogramowania przy użyciu konsoli odzyskiwania

Jeśli czynności przedstawione dotąd w tym artykule nie umożliwiły rozwiązania problemu, należy usunąć niezgodne oprogramowanie przy użyciu konsoli odzyskiwania. Pełny opis wykonywania tej operacji przekracza zakres tego artykułu. Można jednak użyć następujących artykułów jako wskazówek:

816104 Jak zamienić sterownik przy użyciu konsoli odzyskiwania w systemie Windows Server 2003
326215 Jak używać konsoli odzyskiwania na komputerze z systemem Windows Server 2003, którego nie można uruchomić
307654 Jak zainstalować konsolę odzyskiwania i używać jej w systemie Windows XP