Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga 16.
Użytkownicy domowi: ten artykuł jest przeznaczony dla pracowników pomocy technicznej i informatyków. Jeśli szukasz więcej informacji na temat komunikatów o błędach niebieskiego ekranu, odwiedź stronę Rozwiązywanie problemów z błędami niebieskiego ekranu.
Preferowanym sposobem zamknięcia systemu Windows jest wybranie pozycji Uruchom, a następnie wybranie opcji wyłączenia lub zamknięcia komputera. W przypadku korzystania z tej standardowej metody system operacyjny zamyka wszystkie pliki i powiadamia uruchomione usługi i aplikacje, aby mogły zapisywać wszystkie niezapisane dane na dysku i opróżniać wszystkie aktywne pamięci podręczne.
Jeśli komputer zostanie nieoczekiwanie zamknięty, system Windows rejestruje zdarzenie o identyfikatorze 41 przy następnym uruchomieniu komputera. Tekst zdarzenia przypomina następujące informacje:
Event ID: 41
Description: The system has rebooted without cleanly shutting down first.
To zdarzenie wskazuje, że niektóre nieoczekiwane działania uniemożliwiły prawidłowe zamknięcie systemu Windows. Takie zamknięcie może być spowodowane przerwą w zasilaniu lub błędem zatrzymania. Jeśli jest to możliwe, system Windows rejestruje kody błędów podczas zamykania. W fazie jądra następnego uruchomienia systemu Windows system Windows sprawdza te kody i zawiera wszystkie istniejące kody w danych zdarzenia o identyfikatorze 41 zdarzeń.
EventData
BugcheckCode 159
BugcheckParameter1 0x3
BugcheckParameter2 0xfffffa80029c5060
BugcheckParameter3 0xfffff8000403d518
BugcheckParameter4 0xfffffa800208c010
SleepInProgress false
PowerButtonTimestamp 0Converts to 0x9f (0x3, 0xfffffa80029c5060, 0xfffff8000403d518, 0xfffffa800208c010)
Jak używać zdarzenia o identyfikatorze 41 podczas rozwiązywania problemów z nieoczekiwanym zamknięciem lub ponownym uruchomieniem
Sam identyfikator zdarzenia 41 może nie zawierać wystarczających informacji, aby jawnie zdefiniować, co się stało. Zazwyczaj należy również rozważyć, co miało miejsce w momencie nieoczekiwanego zamknięcia (na przykład zasilanie nie powiodło się). Skorzystaj z informacji w tym artykule, aby zidentyfikować podejście do rozwiązywania problemów, które jest odpowiednie dla Twoich okoliczności:
- Scenariusz 1: Komputer jest uruchamiany ponownie z powodu błędu zatrzymania, a identyfikator zdarzenia 41 zawiera kod błędu zatrzymania (sprawdzanie błędów)
- Scenariusz 2. Komputer zostanie uruchomiony ponownie, ponieważ został naciśnięty i zatrzymany przycisk zasilania
- Scenariusz 3: Komputer nie odpowiada lub losowo uruchamia się ponownie, a identyfikator zdarzenia 41 nie jest rejestrowany lub wpis o identyfikatorze zdarzenia 41 wyświetla wartości kodu błędu zera
Scenariusz 1: Komputer jest uruchamiany ponownie z powodu błędu zatrzymania, a identyfikator zdarzenia 41 zawiera kod błędu zatrzymania (sprawdzanie błędów)
Po zamknięciu lub ponownym uruchomieniu komputera z powodu błędu zatrzymania system Windows zawiera dane błędu zatrzymania w identyfikatorze zdarzenia 41 w ramach większej liczby danych zdarzenia. Te informacje zawierają kod błędu zatrzymania (nazywany również kodem sprawdzania błędów), jak pokazano w poniższym przykładzie:
EventData
BugcheckCode 159
BugcheckParameter1 0x3
BugcheckParameter2 0xfffffa80029c5060
BugcheckParameter3 0xfffff8000403d518
BugcheckParameter4 0xfffffa800208c010
Uwaga 16.
Identyfikator zdarzenia 41 zawiera kod sprawdzania błędów w formacie dziesiętny. Większość dokumentacji opisujących kody sprawdzania błędów odnosi się do kodów jako wartości szesnastkowych zamiast wartości dziesiętnych. Aby przekonwertować wartość dziesiętną na szesnastkowy, wykonaj następujące kroki:
- Wybierz pozycję Start, wpisz calc w polu Wyszukaj, a następnie wybierz pozycję Kalkulator.
- W oknie Kalkulator wybierz pozycję Wyświetl>programistę.
- Po lewej stronie kalkulatora sprawdź, czy grudzień jest wyróżniony.
- Użyj klawiatury, aby wprowadzić wartość dziesiętną kodu sprawdzania błędów.
- Po lewej stronie kalkulatora wybierz pozycję Szesnastkowy.
Wartość wyświetlana przez kalkulator jest teraz kodem szesnastkowym.
Po przekonwertowaniu kodu sprawdzania błędów na format szesnastkowy sprawdź, czy oznaczenie "0x" następuje po ośmiu cyfrach (czyli część kodu po "x" zawiera wystarczającą liczbę zer, aby wypełnić osiem cyfr). Na przykład 0x9F jest zwykle udokumentowana jako 0x0000009f, a 0xA jest udokumentowana jako 0x0000000A. W przypadku przykładowych danych zdarzenia w tym artykule wyrażenie "159" konwertuje na 0x0000009f.
Po zidentyfikowaniu wartości szesnastkowej użyj następujących odwołań, aby kontynuować rozwiązywanie problemów:
- Zaawansowane rozwiązywanie problemów dotyczących błędu zatrzymania lub błędu niebieskiego ekranu.
- Odwołanie do kodu sprawdzania błędów. Ta strona zawiera linki do dokumentacji różnych kodów sprawdzania błędów.
- Jak debugować tryb jądra Niebieski ekran ulega awarii (dla początkujących).
Scenariusz 2. Komputer zostanie uruchomiony ponownie, ponieważ został naciśnięty i zatrzymany przycisk zasilania
Ponieważ ta metoda ponownego uruchamiania komputera zakłóca operację zamykania systemu Windows, zalecamy użycie tej metody tylko wtedy, gdy nie ma alternatywy. Na przykład może być konieczne użycie tego podejścia, jeśli komputer nie odpowiada. Po ponownym uruchomieniu komputera, naciskając i trzymając przycisk zasilania, komputer rejestruje zdarzenie o identyfikatorze 41, który zawiera wartość inną niż zero dla wpisu PowerButtonTimestamp .
<EventData>
<Data Name="BugcheckCode">0</Data>
<Data Name="BugcheckParameter1">0x0</Data>
<Data Name="BugcheckParameter2">0x0</Data>
<Data Name="BugcheckParameter3">0x0</Data>
<Data Name="BugcheckParameter4">0x0</Data>
<Data Name="SleepInProgress">0</Data>
<Data Name="PowerButtonTimestamp">131728546170882432</Data>
<Data Name="BootAppStatus">0</Data>
</EventData>
Aby uzyskać pomoc dotyczącą rozwiązywania problemów z komputerem, który nie odpowiada, zobacz Pomoc systemu Windows. Rozważ wyszukiwanie pomocy przy użyciu słów kluczowych, takich jak "hang", "responding" lub "blank screen".
Scenariusz 3. Komputer nie odpowiada lub losowo uruchamia się ponownie, a identyfikator zdarzenia 41 nie jest rejestrowany lub wpis o identyfikatorze zdarzenia 41 lub wyświetla wartości kodu błędu o wartości zero
Ten scenariusz obejmuje następujące okoliczności:
- Należy wyłączyć zasilanie komputera, który nie odpowiada, a następnie ponownie uruchomić komputer.
Aby sprawdzić, czy komputer nie odpowiada, naciśnij Caps lock na klawiaturze. Jeśli po naciśnięciu Caps lock na klawiaturze nie zmieni się Caps lock, komputer może nie odpowiadać (znany również jako twardy powieszenie). - Komputer zostanie uruchomiony ponownie, ale nie generuje zdarzenia o identyfikatorze 41.
- Komputer uruchamia się ponownie i generuje zdarzenie o identyfikatorze 41, ale wartości BugcheckCode i PowerButtonTimestamp są zerowe.
W takich przypadkach coś uniemożliwia systemowi Windows generowanie kodów błędów lub zapisywanie kodów błędów na dysku. Coś może zablokować dostęp do zapisu na dysku (tak jak w przypadku komputera, który nie odpowiada) lub komputer może zamknąć zbyt szybko, aby zapisać kody błędów, a nawet wykryć błąd.
Informacje w identyfikatorze zdarzenia 41 zawierają pewne wskazówki dotyczące tego, gdzie rozpocząć sprawdzanie problemów:
Identyfikator zdarzenia 41 nie jest rejestrowany lub kod sprawdzania usterek wynosi zero. To zachowanie może wskazywać na problem z zasilaniem. Jeśli zasilanie komputera zostanie przerwane, komputer może zostać wyłączony bez generowania błędu zatrzymania. Jeśli wygeneruje błąd zatrzymania, może nie zakończyć zapisywania kodów błędów na dysku. Przy następnym uruchomieniu komputera może nie być rejestrowane zdarzenie o identyfikatorze 41. Lub, jeśli tak, kod sprawdzania usterek jest zerowy. Przyczyną mogą być następujące warunki:
- W przypadku komputera przenośnego bateria została usunięta lub opróżniona.
- W przypadku komputera stacjonarnego komputer został odłączony lub wystąpiła awaria zasilania.
- Zasilanie jest zaniżone lub wadliwe.
Wartość parametru PowerButtonTimestamp ma wartość zero. To zachowanie może wystąpić, jeśli odłączono zasilanie komputera, który nie odpowiada na dane wejściowe. Przyczyną mogą być następujące warunki:
- Proces systemu Windows zablokował dostęp do zapisu na dysku, a komputer został zamknięty przez naciśnięcie i przytrzymanie przycisku zasilania przez co najmniej cztery sekundy.
- Odłączono zasilanie komputera, który nie odpowiada.
Nie można zapisać pliku zrzutu i wszystkie wartości to Zero. Na przykład:
<EventData> <Data Name="BugcheckCode">0</Data> <Data Name="BugcheckParameter1">0x0</Data> <Data Name="BugcheckParameter2">0x0</Data> <Data Name="BugcheckParameter3">0x0</Data> <Data Name="BugcheckParameter4">0x0</Data> <Data Name="SleepInProgress">0</Data> <Data Name="PowerButtonTimestamp">0</Data> <Data Name="BootAppStatus">0</Data> </EventData>
Istnieje jednak zdarzenie o identyfikatorze 46 zarejestrowane przez volmgr: inicjowanie zrzutu awaryjnego nie powiodło się!. To zdarzenie może wystąpić, jeśli komputer został uruchomiony bez skonfigurowanego pliku zrzutu. Domyślnym plikiem zrzutu jest plik stronicowania.
W związku z tym w przypadku nieoczekiwanego ponownego uruchomienia i identyfikator zdarzenia 41 ma wszystkie wartości jako 0, sprawdź, czy masz zdarzenie o identyfikatorze 46 przez volmgr. Jeśli tak, sprawdź konfigurację pliku stronicowania. Nieoczekiwane ponowne uruchomienie mogło się jeszcze zdarzyć z powodu usterki, ale system nie może zapisać typu czeku w zdarzeniu o identyfikatorze 41 i nie mógł również wygenerować zrzutu pamięci. Zobacz Zdarzenie o identyfikatorze 46 podczas uruchamiania komputera
Zazwyczaj objawy opisane w tym scenariuszu wskazują na problem sprzętowy. Aby pomóc wyizolować problem, wykonaj następujące czynności:
- Wyłącz przekręcanie. Jeśli na komputerze włączono przekręcanie, wyłącz go. Sprawdź, czy problem występuje, gdy system działa z prawidłową szybkością.
- Sprawdź pamięć. Użyj modułu sprawdzania pamięci, aby określić kondycję i konfigurację pamięci. Sprawdź, czy wszystkie mikroukłady pamięci działają z taką samą szybkością i czy każdy mikroukład jest poprawnie skonfigurowany w systemie.
- Sprawdź zasilanie. Sprawdź, czy zasilacz ma wystarczającą moc, aby odpowiednio obsłużyć zainstalowane urządzenia. Jeśli dodano pamięć, zainstalowano nowszy procesor, zainstalowano więcej dysków lub dodano urządzenia zewnętrzne, takie urządzenia mogą wymagać większej ilości energii niż obecne zasilanie może zapewnić spójnie. Jeśli komputer zarejestrował zdarzenie o identyfikatorze 41, ponieważ zasilanie komputera zostało przerwane, rozważ uzyskanie zasilacza awaryjnego (UPS), takiego jak zasilacz zapasowy baterii.
- Sprawdź przegrzanie. Sprawdź wewnętrzną temperaturę sprzętu i sprawdź, czy nie ma żadnych składników przegrzanych.
- Jeśli komputer jest maszyną fizyczną, mogło zostać uruchomione ponownie przez oprogramowanie automatycznego odzyskiwania serwera (ASR), które wykryło, że maszyna nie odpowiada.
- Jeśli system jest uruchomiony na maszynie wirtualnej funkcji Hyper-V i nie jest częścią środowiska klastrowanego, system mógł zostać uruchomiony ponownie przez funkcję pulsu funkcji Hyper-V. Jeśli ta funkcja jest włączona, a host nie wykryje pulsu z maszyny wirtualnej (być może dlatego, że nie odpowiada), funkcja Hyper-V uruchomi ponownie maszynę wirtualną.
- Jeśli problem występuje w środowisku klastra funkcji Hyper-V, problem może być związany z opcją Włącz monitorowanie pulsu dla maszyny wirtualnej. Zobacz Uszkodzony plik zrzutu pamięci podczas próby uzyskania pełnego pliku zrzutu pamięci z maszyny wirtualnej uruchomionej w środowisku klastra.
- Jeśli problem występuje z maszyną wirtualną VMWare, może to być związane z funkcją pulsu w programie VMWare lub jest częścią klastra innej firmy.
- Sprawdź wszelkie podejrzane zdarzenia przed czasem zamknięcia (uzyskanym z identyfikatora zdarzenia 6008) w dzienniku aplikacji i systemu.
Jeśli wykonasz te testy i nadal nie możesz odizolować problemu, ustaw system na jego domyślną konfigurację i sprawdź, czy problem nadal występuje.
Uwaga 16.
Jeśli zostanie wyświetlony komunikat o błędzie Zatrzymaj zawierający kod sprawdzania usterek, ale identyfikator zdarzenia 41 nie zawiera tego kodu, zmień zachowanie ponownego uruchamiania komputera. W tym celu wykonaj następujące kroki:
- Kliknij prawym przyciskiem myszy pozycję Mój komputer, a następnie wybierz pozycję Właściwości>Zaawansowane ustawienia>systemowe Zaawansowane.
- W sekcji Uruchamianie i odzyskiwanie wybierz pozycję Ustawienia.
- Wyczyść pole wyboru Automatycznie uruchom ponownie.
Więcej informacji
Szczegółowe informacje o zdarzeniu o identyfikatorze 41
Błąd zdarzenia zasilania jądra o identyfikatorze 41 występuje, gdy komputer zostanie nieoczekiwanie zamknięty lub ponownie uruchomiony. Po uruchomieniu komputera z systemem Windows jest wykonywane sprawdzanie w celu określenia, czy komputer został zamknięty w sposób czysty. Jeśli nie, zostanie wygenerowany komunikat o identyfikatorze 41 zdarzenia zasilania jądra.
Zdarzenie o identyfikatorze 41 służy do zgłaszania, że wystąpił nieoczekiwany błąd uniemożliwiający prawidłowe zamknięcie systemu Windows. Być może nie ma wystarczających informacji, aby jawnie zdefiniować, co się stało. Aby uzyskać więcej informacji, zobacz Zdarzenie zasilania jądra o identyfikatorze 41 .
- Nazwa dziennika: System
- Produkt: System operacyjny Windows
- Identyfikator: 41
- Źródło: Microsoft-Windows-Kernel-Power
- Poziom: Krytyczny
- Wersja: 6.1
- Komunikat: System został ponownie uruchomiony bez uprzedniego zamknięcia. Ten błąd może być spowodowany nieoczekiwanym wstrzymaniem odpowiedzi, awarią lub utratą zasilania przez system.
Uwaga 16.
Czas wyświetlany w pliku evtx jest dostosowywany do czasu systemu. Sprawdź strefę czasową serwera.
- Identyfikator zdarzenia 41: To zdarzenie wskazuje, że system Windows został uruchomiony ponownie bez całkowitego zamknięcia.
- Identyfikator zdarzenia 1074: To zdarzenie jest rejestrowane, gdy aplikacja jest odpowiedzialna za zamknięcie lub ponowne uruchomienie systemu. Wskazuje również, kiedy użytkownik ponownie uruchomił lub zamknął system przy użyciu menu Start lub naciskając Ctrl+Alt+Del.
- Identyfikator zdarzenia 6006: To zdarzenie wskazuje, że system Windows został odpowiednio wyłączony.
- Identyfikator zdarzenia 6008: To zdarzenie wskazuje nieprawidłowe lub zanieczyszczone zamknięcie. Jest rejestrowany, gdy ostatnie zamknięcie było nieoczekiwane.
Tuż przed zamknięciem shutdown.exe
komputera zapisze zdarzenie zamknięcia w dzienniku systemu Windows ze źródłem=Użytkownik32 i identyfikatorem zdarzenia 1074 wraz z dowolnym niestandardowym kodem komunikatu i przyczyny.
Dziennik zdarzeń jest jedynym sposobem, aby poinformować, że ponowne uruchomienie wyzwalane z shutdown.exe
oczekuje. Zdarzenie rejestruje również nazwę użytkownika oraz datę i godzinę wystawienia shutdown
polecenia.
W przypadku ponownego shutdown.exe
uruchomienia serwera proces zamykania zwykle umożliwia 30 sekund, aby upewnić się, że każda uruchomiona usługa ma czas na zatrzymanie. Usługi są zamykane w kolejności alfabetycznej. Ręczne zatrzymywanie usług w określonej kolejności NET STOP
lub SC
może być nieco szybsze.
Plik stanu rozruchu (z wewnętrznych okien 6)
System Windows używa pliku stanu rozruchu (%SystemRoot%\Bootstat.dat), aby zarejestrować fakt, że przechodzi przez różne etapy cyklu życia systemu, w tym uruchamianie i zamykanie.
Dzięki temu menedżer rozruchu, moduł ładujący systemu Windows i narzędzie do naprawy uruchamiania wykrywają nietypowe zamykanie lub nie można zamknąć w sposób czysty, w celu zaoferowania opcji odzyskiwania i rozruchu diagnostycznego użytkownika, takich jak Ostatnie znane dobre i tryb awaryjny. Ten plik binarny zawiera informacje, za pomocą których system zgłasza powodzenie następujących faz cyklu życia systemu:
- Rozruch (definicja pomyślnego rozruchu jest taka sama jak ta, która została użyta do określenia ostatniego znanego stanu dobrego, który został opisany wcześniej)
- Zamknij
- Wznawianie z hibernacji lub wstrzymanie
Plik stanu rozruchu wskazuje również, czy problem został wykryty podczas ostatniej próby uruchomienia systemu operacyjnego przez użytkownika i pokazano opcje odzyskiwania wskazujące, że użytkownik został poinformowany o problemie i podjął akcję. Interfejsy API biblioteki środowiska uruchomieniowego (Rtl) w ntdll.dll zawierają interfejsy prywatne używane przez system Windows do odczytu i zapisu w pliku. Podobnie jak bcD, nie można go edytować przez użytkowników.
Informacje o zamykaniu
Po zainicjowaniu zamknięcia system Windows wysyła komunikat WM_QUERYENDSESSION do wszystkich uruchomionych aplikacji, które mają wątek interfejsu użytkownika. Ten komunikat prosi aplikację o zapisanie niezapisanych danych i jej zakończenie w sposób bezproblemowy. Jeśli aplikacja nie odpowiada na komunikat w określonym limicie czasu, system Windows wysyła do aplikacji komunikat WM_ENDSESSION, który natychmiast kończy działanie aplikacji.
Jeśli wszystkie aplikacje odpowiadają na komunikat WM_QUERYENDSESSION i zakończą się bezpiecznie, system Windows rejestruje czyste zdarzenie zamknięcia w dzienniku zdarzeń systemu. Jeśli jakakolwiek aplikacja nie odpowiada na komunikat lub kończy się nieprawidłowo, system Windows rejestruje zdarzenie zamknięcia brudnego w dzienniku zdarzeń systemu.
Nieoczekiwane zamknięcia są głównie spowodowane przez składniki spoza systemu operacyjnego.
Brudne zamknięcie jest wtedy, gdy system komputerowy jest zamykany bez przechodzenia przez właściwy proces zamykania. Może się to zdarzyć, gdy zasilanie jest nagle odcięte lub gdy komputer jest zmuszony do wyłączenia, przytrzymując przycisk zasilania. Brudne zamknięcie może spowodować utratę lub uszkodzenie danych, co może również prowadzić do problemów z rozruchem.
Brudny rejestr liczby zamykania jest kluczem rejestru w rejestrze systemu Windows, który jest używany do śledzenia liczby razy system komputerowy został zamknięty bez przechodzenia przez właściwy proces zamykania. Ten klucz może być przydatny podczas rozwiązywania problemów z rozruchem w celu określenia, czy system został nieprawidłowo wyłączony.
Możesz również wyczyścić wszystkie wartości (takie jak DirtyShutdown, LastAliveStamp, TimeStampInterval) w następującym kluczu rejestru: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
. Może to pomóc zapobiec pojawieniu się monitora zdarzeń zamknięcia po nieoczekiwanym zamknięciu.