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


Принудительное вызов зависания системы с помощью кнопки питания

Проверка ошибок 0x1C8: MANUALLY_INITIATED_POWER_BUTTON_HOLD аварийное завершение работы системы можно вызвать вручную, нажав и удерживая кнопку питания, если в указанном разделе реестра установлено следующее значение реестра:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
"PowerButtonBugcheck"=dword:00000001

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

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power /v PowerButtonBugCheck /t REG_DWORD /d 0x1 /f

Если это значение реестра не существует, система должна быть перезагружена, чтобы это изменение вступило в силу.

Если это значение реестра существует и значение изменено, система не должна быть перезагружена, чтобы изменения вступили в силу.

Проверка ошибок происходит, когда кнопка питания удерживается в течение 7 секунд, но выпускается перед сбросом UEFI, который происходит примерно через 10 секунд.

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

Важно, чтобы вы выпустили кнопку питания после просмотра этого экрана. Если вы продолжаете держать кнопку питания дольше, то вы можете активировать время ожидания выключения встроенного ПО, которое обычно составляет около 10 секунд. В этом случае дампа может не завершиться и может быть повреждена.

В некоторых системах, таких как ноутбуки ARM64, таймер встроенного ПО короче, поэтому вы должны освободить кнопку питания сразу через 7 секунд, чтобы предотвратить прерывание завершения дампа.

Эта функция доступна в Windows 10 1809 / Windows Server 2019 и более поздней версии.

Проверка ошибок 0x11C8: MANUALLY_INITIATED_POWER_BUTTON_HOLD_LIVE_DUMP (вручную инициированный дамп через удержание кнопки питания)

Вместо перезагрузки компьютера, также можно создать активный дамп при долгом нажатии кнопки питания (LPBH). Для получения общей информации о живых дампах см. справочник по коду живого дампа ядра.

Чтобы включить функцию Power Button Hold Live Dump, для параметра PowerButtonLiveDump в следующем разделе реестра задано значение PowerButtonLiveDump :

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
"PowerButtonLiveDump"=dword:00000001

Чтобы включить функцию Power Button Live Dump, выполните следующие команды из командной строки с повышенными привилегиями:

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power /v PowerButtonLiveDump /t REG_DWORD /d 0x1 /f

Если этот раздел реестра не существует, система должна быть перезагружена, чтобы это изменение вступило в силу.

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

Эта функция доступна в Windows 10 версии 22000 и более поздних версий.

Настройка PowerButtonLiveDump

Значение реестра PowerButtonLiveDump можно настроить, как показано ниже.

Имя Длина в битах Смещение от начала Значение Значение по умолчанию
Включен 1 0 При установке функция активного дампа кнопки питания включена. Не применимо
Страницы пользователя 1 1 Если задано, запросит запись памяти режима пользователя в экспресс-дампе. 0
Гипервизорные страницы 1 2 При установке запросит запись страниц гипервизора в динамическом дамле. 0
Зарезервировано 1 3 Зарезервировано Не применимо
TimeoutInSec 4 4 Укажите значение времени ожидания в секундах, когда требуется записать файл динамического дампа. Допустимы только значения от 2 до 6 (включая 2 и 6). Если указано другое значение, будет использоваться значение времени ожидания по умолчанию, 5 секунд. 5
Зарезервировано двадцать четыре 8 Зарезервировано Не применимо

Например, выполнение следующей команды из командной строки с повышенными привилегиями включает функцию PowerButtonLiveDump с включенными UserPages и TimeoutInSec, установленным на 2 секунды. Ядро запросит запись файла полного динамического дампа (Full Live Dump), если кнопку питания удерживать в течение 2 секунд.

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power /v PowerButtonLiveDump /t REG_DWORD /d 0x23 /f

PowerButtonBugcheck и PowerButtonLiveDump Приоритизация

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

Поддержка устройства при удержании кнопки питания в течение длительного времени (LPBH)

Для поддержки длительного удержания кнопки питания устройство должно:

  • Кнопка питания на основе ввода-вывода общего назначения (GPIO)
  • Прошивка для передачи события питания в Диспетчер питания Windows
  • Функция проверки ошибок, включенная в реестре

См. также

Проверка ошибок 0x11C8: MANUALLY_INITIATED_POWER_BUTTON_HOLD_LIVE_DUMP

Внутри Show - Bugcheck 0x1C8 MANUALLY_INITIATED_POWER_BUTTON_HOLD

Устройство кнопки ACPI