Поделиться через


Расширенное устранение неполадок для события с идентификатором 41: "Система перезагрузилась без предварительного завершения работы"

Примечание.

Домашние пользователи: эта статья предназначена для агентов поддержки и ИТ-специалистов. Если вам нужны дополнительные сведения о сообщениях об ошибках синего экрана, см. раздел Устранение ошибок синего экрана.

Предпочтительный способ завершить работу Windows — нажать кнопку Пуск, а затем выбрать параметр выключения или выключения компьютера. При использовании этого стандартного метода операционная система закрывает все файлы и уведомляет запущенные службы и приложения, чтобы они могли записывать несохраненные данные на диск и сбрасывать все активные кэши.

Если компьютер неожиданно завершает работу, Windows регистрирует событие с идентификатором 41 при следующем запуске компьютера. Текст события выглядит следующим образом:

Event ID: 41  
Description: The system has rebooted without cleanly shutting down first.

Это событие указывает на то, что некоторые непредвиденные действия не позволили правильно завершить работу Windows. Такое завершение работы может быть вызвано прерыванием работы блока питания или ошибкой остановки. Если это возможно, Windows записывает все коды ошибок при завершении работы. На этапе ядра следующего запуска Windows Windows проверяет наличие этих кодов и включает все существующие коды в данные события с идентификатором события 41.

EventData  
BugcheckCode 159  
BugcheckParameter1 0x3  
BugcheckParameter2 0xfffffa80029c5060  
BugcheckParameter3 0xfffff8000403d518  
BugcheckParameter4 0xfffffa800208c010  
SleepInProgress false  
PowerButtonTimestamp 0Converts to 0x9f (0x3, 0xfffffa80029c5060, 0xfffff8000403d518, 0xfffffa800208c010)  

Использование события с идентификатором 41 при устранении неполадок с непредвиденным завершением работы или перезапуском

Само по себе событие с идентификатором 41 может не содержать достаточных сведений для явного определения того, что произошло. Как правило, необходимо также учитывать, что происходило во время непредвиденного завершения работы (например, сбой питания). Используйте сведения, приведенные в этой статье, чтобы определить подход к устранению неполадок, подходящий для ваших обстоятельств:

  • Сценарий 1. Компьютер перезагружается из-за stop-ошибки, а событие с идентификатором 41 содержит код stop-ошибки (проверка ошибки)
  • Сценарий 2. Компьютер перезагружается, так как вы нажали и удерживали кнопку питания
  • Сценарий 3. Компьютер не отвечает или случайным образом перезагружается, а событие с идентификатором 41 не зарегистрировано или в записи события с идентификатором 41 перечислены значения кода ошибок, равные нулю.

Сценарий 1. Компьютер перезагружается из-за stop-ошибки, а событие с идентификатором 41 содержит код stop-ошибки (проверка ошибки)

Когда компьютер завершает работу или перезапускается из-за stop-ошибки, Windows включает данные stop error в событие с идентификатором 41 как часть дополнительных данных о событиях. Эти сведения включают код стоп-ошибки (также называемый кодом ошибки проверка), как показано в следующем примере:

EventData  
BugcheckCode 159  
BugcheckParameter1 0x3  
BugcheckParameter2 0xfffffa80029c5060  
BugcheckParameter3 0xfffff8000403d518  
BugcheckParameter4 0xfffffa800208c010  

Примечание.

Событие с идентификатором 41 содержит код ошибки проверка в десятичном формате. В большинстве документации, описывающей коды ошибок проверка, коды называются шестнадцатеричными, а не десятичными значениями. Чтобы преобразовать десятичное значение в шестнадцатеричное, выполните следующие действия:

  1. Нажмите кнопку Пуск, введите calc в поле Поиск, а затем выберите Калькулятор.
  2. В окне калькулятора выберите Просмотр>программиста.
  3. Убедитесь, что в левой части калькулятора выделено значение Dec .
  4. С помощью клавиатуры введите десятичное значение кода проверка ошибки.
  5. В левой части калькулятора выберите Шестнадцатеричный.
    Значение, отображаемое калькулятором, теперь представляет собой шестнадцатеричный код.

При преобразовании кода ошибки проверка в шестнадцатеричный формат убедитесь, что за обозначением "0x" следуют восемь цифр (то есть часть кода после "x" содержит достаточно нулей для заполнения восьми цифр). Например, 0x9F обычно документируется как 0x0000009f, а 0xA — как 0x0000000A. В случае примера данных о событиях, приведенных в этой статье, значение "159" преобразуется в 0x0000009f.

Определив шестнадцатеричное значение, используйте следующие ссылки, чтобы продолжить устранение неполадок:

Сценарий 2. Компьютер перезагружается, так как вы нажали и удерживали кнопку питания

Так как этот метод перезапуска компьютера мешает операции завершения работы Windows, рекомендуется использовать этот метод только в том случае, если у вас нет альтернативы. Например, вам может потребоваться использовать этот подход, если компьютер не отвечает. При перезагрузке компьютера, нажав и удерживая кнопку питания, компьютер регистрирует событие с идентификатором 41, которое содержит ненулевое значение для записи 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>

Сведения об устранении неполадок с компьютером, не отвечающим на запросы, см. в справке Windows. Рассмотрите возможность поиска помощи с помощью таких ключевых слов, как "зависнуть", "ответить" или "пустой экран".

Сценарий 3. Компьютер не отвечает или случайным образом перезагружается, а событие с идентификатором 41 не записывается или запись события с идентификатором 41 или содержит значения кода ошибки, равные нулю

Этот сценарий включает в себя следующие обстоятельства:

  • Вы отключаете питание для компьютера, не отвечающего на запросы, а затем перезагружаете компьютер.
    Чтобы убедиться, что компьютер не отвечает, нажмите клавишу CAPS LOCK на клавиатуре. Если индикатор caps lock на клавиатуре не меняется при нажатии клавиши CAPS LOCK , компьютер может не отвечать (также известное как жесткое зависание).
  • Компьютер перезагружается, но не создает событие с идентификатором 41.
  • Компьютер перезагружается и создает событие с идентификатором 41, но значения BugcheckCode и PowerButtonTimestamp равны нулю.

В таких случаях что-то мешает Windows создавать коды ошибок или записывать коды ошибок на диск. Что-то может блокировать доступ на запись на диск (как в случае с компьютером, не отвечающим на запросы), или компьютер может завершить работу слишком быстро, чтобы записать коды ошибок или даже обнаружить ошибку.

Сведения в коде события 41 содержат некоторые сведения о том, с чего начать проверку на наличие проблем:

  • Событие с идентификатором 41 не записывается или код ошибки проверка равен нулю. Такое поведение может указывать на проблему с источником питания. Если питание компьютера прервано, компьютер может завершить работу без возникновения stop-ошибки. Если ошибка возникает, коды ошибок могут быть не завершены. При следующем запуске компьютера может не быть в журнале событие с идентификатором 41. Или, если это так, код ошибки проверка равен нулю. Причиной могут быть следующие условия:

    • В случае с портативным компьютером батарея была снята или разрядилась.
    • В случае с настольным компьютером компьютер был отключен или произошло отключение питания.
    • Блок питания не работает или неисправен.
  • Значение PowerButtonTimestamp равно нулю. Это может произойти, если вы отключили питание от компьютера, который не отвечает на входные данные. Причиной могут быть следующие условия:

    • Процесс Windows заблокировал доступ на запись на диск, и вы завершаете работу компьютера, нажав и удерживая кнопку питания не менее четырех секунд.
    • Вы отключили питание от компьютера, не отвечающего на запросы.
  • Не указать файл дампа, и все значения равны нулю. Например:

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

    Однако volmgr регистрирует событие с идентификатором 46: сбой инициализации аварийного дампа!. Это событие может возникнуть, если компьютер запущен без настроенного файла дампа. Файл дампа по умолчанию — это файл подкачки.

    Снимок экрана: журнал событий.

    Таким образом, если у вас есть случай с непредвиденным перезапуском и событие с идентификатором 41 имеет значение 0, проверка, если у вас есть событие с идентификатором 46 от volmgr. Если да, проверка конфигурацию файла подкачки. Непредвиденная перезагрузка по-прежнему может произойти из-за проверки ошибок, но система не может записать тип ошибки в событие с идентификатором 41, а также не смогла создать дамп памяти. См. сведения о событии с идентификатором 46 при запуске компьютера.

Как правило, симптомы, описанные в этом сценарии, указывают на проблему с оборудованием. Чтобы изолировать проблему, сделайте следующее:

  • Отключите оверклокинг. Если на компьютере включена оверклокинга, отключите его. Убедитесь, что проблема возникает, когда система работает с правильной скоростью.
  • Проверьте память. Используйте средство проверки памяти, чтобы определить работоспособность и конфигурацию памяти. Убедитесь, что все микросхемы памяти работают с одинаковой скоростью и что каждая микросхема настроена правильно в системе.
  • Проверьте источник питания. Убедитесь, что блок питания имеет достаточную мощность для надлежащей обработки установленных устройств. Если вы добавили память, установили более новый процессор, установили больше дисков или добавили внешние устройства, такие устройства могут требовать больше энергии, чем текущий блок питания может обеспечить согласованно. Если компьютер зарегистрировал событие с идентификатором 41, так как питание компьютера было прервано, рассмотрите возможность получения источника бесперебойного питания (ИБП), например резервного источника питания от батареи.
  • Проверьте наличие перегрева. Проверьте внутреннюю температуру оборудования и проверка на наличие перегрева компонентов.
  • Если компьютер является физическим компьютером, он мог быть перезапущен программным обеспечением автоматического восстановления сервера (ASR), которое обнаружило, что компьютер не реагирует.
  • Если система работает на виртуальной машине Hyper-V и не является частью кластеризованной среды, система могла быть перезапущена с помощью функции пульса Hyper-V. Если эта функция включена и узел не обнаруживает пульс от виртуальной машины (возможно, из-за того, что она не отвечает), Hyper-V перезапустит виртуальную машину.
  • Если проблема возникает в кластеризованной среде Hyper-V, проблема может быть связана с параметром Включить мониторинг пульса для виртуальной машины . При попытке получить файл полного дампа памяти из виртуальной машины, работающей в среде кластера, см. раздел Поврежденный файл дампа памяти.
  • Если проблема возникает с виртуальной машиной VMWare, она может быть связана с функцией пульса в VMWare или виртуальная машина является частью стороннего кластера.
  • Проверьте наличие подозрительных событий до времени завершения работы (полученного из события с идентификатором 6008) в журнале приложений и системных журналах.

Если вы выполняете эти проверки и по-прежнему не можете изолировать проблему, задайте для системы конфигурацию по умолчанию и проверьте, возникает ли проблема.

Примечание.

Если отображается сообщение о stop-ошибке, включающее проверка код ошибки, но событие с идентификатором 41 не включает этот код, измените поведение перезагрузки компьютера. Для этого выполните следующие действия:

  1. Щелкните правой кнопкой мыши Мой компьютер, а затем выберите Свойства>Дополнительные параметры> системыДополнительно.
  2. В разделе Запуск и восстановление выберите Параметры.
  3. Снимите флажок Автоматически перезапускать проверка.

Дополнительная информация

Сведения о событии с идентификатором 41

Ошибка события ядра Power с идентификатором 41 возникает, когда компьютер завершает работу или неожиданно перезагружается. При запуске компьютера под управлением Windows выполняется проверка, чтобы определить, был ли компьютер полностью выключен. В противном случае создается сообщение о событии Ядра Power с идентификатором 41.

Событие с идентификатором 41 используется для сообщения о том, что произошло непредвиденное событие, которое не позволило правильно завершить работу Windows. Может быть недостаточно информации для явного определения того, что произошло. Дополнительные сведения см. в разделе Ядро Power Event с идентификатором 41 .

  • Имя журнала: System
  • Продукт: Операционная система Windows
  • Идентификатор: 41
  • Источник: Microsoft-Windows-Kernel-Power
  • Уровень: критический
  • Версия: 6.1
  • Сообщение. Система перезагрузилась без предварительного завершения работы. Эта ошибка может быть вызвана, если система перестала отвечать, аварийно сбой или неожиданно потеряла питание.

Примечание.

Время, указанное в EVTX-файле, настраивается в соответствии с временем вашей системы. Проверьте часовой пояс сервера.

  • Событие с идентификатором 41: это событие указывает, что Windows перезапущена без полного завершения работы.
  • Идентификатор события 1074: это событие регистрируется, когда приложение отвечает за завершение работы или перезапуск системы. Он также указывает, когда пользователь перезапустил или завершил работу системы с помощью меню "Пуск" или нажатия клавиш CTRL+ALT+DEL.
  • Идентификатор события 6006: это событие указывает на то, что Windows была должным образом отключена.
  • Идентификатор события 6008: это событие указывает на неправильное или грязное завершение работы. Он регистрируется в журнале, когда последнее завершение работы было неожиданным.

Непосредственно перед завершением работы shutdown.exe компьютера запишет событие завершения работы в системном журнале Windows с кодом Source=User32 и идентификатором события 1074, а также любое пользовательское сообщение & код причины.

Журнал событий — это единственный способ сообщить, что перезагрузка, активироваемая из shutdown.exe , находится в ожидании. Событие также записывает имя пользователя, дату и время shutdown выполнения команды.

При использовании shutdown.exe для перезапуска сервера процесс завершения работы обычно обеспечивает 30 секунд, чтобы убедиться, что каждая запущенная служба имеет время на остановку. Работа служб завершается в алфавитном порядке. Остановка служб вручную в определенном порядке с NET STOP или SC может быть немного быстрее.

Файл состояния загрузки (из внутренних элементов Windows 6th)

Windows использует файл состояния загрузки (%SystemRoot%\Bootstat.dat) для записи того, что он прошел различные этапы жизненного цикла системы, включая запуск и завершение работы.

Это позволяет диспетчеру загрузки, загрузчику Windows и средству восстановления при запуске обнаруживать аномальное завершение работы или сбой при чистом завершении работы, чтобы предложить пользователю параметры восстановления и диагностики загрузки, такие как последний известный хороший режим и безопасный режим. Этот двоичный файл содержит сведения, с помощью которых система сообщает об успешном выполнении следующих этапов жизненного цикла системы:

  • Загрузка (определение успешной загрузки совпадает с определением состояния "Последний известный хороший"", которое было описано ранее)
  • Shutdown
  • Возобновление работы из режима гибернации или приостановка

Файл состояния загрузки также указывает, была ли обнаружена проблема при последней попытке пользователя загрузить операционную систему, а также показаные параметры восстановления, указывающие на то, что пользователь был осведомлен о проблеме и принял меры. API библиотеки времени выполнения (Rtl) в ntdll.dll содержат частные интерфейсы, которые Windows использует для чтения из файла и записи в файл. Как и bcd, его не могут изменить пользователи.

Сведения о завершении работы

При инициации завершения работы Windows отправляет сообщение WM_QUERYENDSESSION всем запущенным приложениям с потоком пользовательского интерфейса. Это сообщение предлагает приложению сохранить несохраненные данные и корректно завершить работу. Если приложение не отвечает на сообщение в течение определенного времени, Windows отправляет WM_ENDSESSION сообщение приложению, которое немедленно завершает работу приложения.

Если все приложения реагируют на сообщение WM_QUERYENDSESSION и корректно завершают работу, Windows регистрирует событие чистого завершения работы в журнале событий системы. Если какое-либо приложение не отвечает на сообщение или завершает работу аномально, Windows регистрирует событие грязное завершения работы в журнале системных событий.

Непредвиденные завершения работы в основном вызваны компонентами за пределами операционной системы.

Грязное завершения работы — это когда компьютерная система завершает работу без прохождения надлежащего процесса завершения работы. Это может произойти, когда питание внезапно отключается или когда компьютер вынужден выключиться, удерживая кнопку питания. Завершение работы грязное может привести к потере или повреждению данных, а также к проблемам с загрузкой.

Реестр счетчика грязное завершения работы — это раздел реестра в реестре Windows, который используется для отслеживания количества выключений компьютерной системы без прохождения надлежащего процесса завершения работы. Этот ключ может быть полезен при устранении проблем с загрузкой, чтобы определить, правильно ли была отключена система.

Вы также можете очистить все значения (например, DirtyShutdown, LastAliveStamp, TimeStampInterval) в следующем разделе реестра: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability. Это поможет предотвратить появление средства отслеживания событий завершения работы после непредвиденного завершения работы.