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


0x18C проверки ошибок: HYPERGUARD_VIOLATION

Проверка ошибок HYPERGUARD_VIOLATION имеет значение 0x0000018C. Это означает, что ядро обнаружило повреждение критического кода ядра или данных.

Важно!

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

Примечание

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

Параметры HYPERGUARD_VIOLATION

Параметр Описание
1 Тип поврежденной области — значения, перечисленные ниже.
2 Сведения, зависящие от типа сбоя.
3 Зарезервировано.
4 Зарезервировано.

Тип поврежденного региона

1001: универсальная область данных

1002: несоответствие хэша страницы

1004: идентификатор процессора

1005 : процессор GDT

1007: изменение процедуры отладки

1008: область динамического кода

1009: общая область данных с общим доступом

100a: область наложения гипервизора

100b: неправильная настройка режима процессора

100c: расширенный регистр управления процессором

100d: безопасная область памяти

100e: загруженный модуль

100f: регион состояния процессора

1010: растровое изображение CFG ядра

1011: страница виртуального адреса 0

1012: альтернативная таблица инвертированных функций

1013: сбой проверки страницы по запросу

1016: область безопасного образа

1017: несоответствие защиты виртуальных адресов ядра

1101: повреждение внутреннего контекста

1102: изменение IDTR

1103: изменение GDTR

Причина

Эта проверка ошибок возникает, когда ядро обнаруживает, что критически важный код ядра или данные повреждены. Как правило, существует три причины повреждения:

  1. Драйвер непреднамеренно или намеренно изменил критически важный код или данные ядра.

  2. Разработчик попытался установить обычную точку останова ядра с помощью отладчика ядра, который не был подключен при загрузке системы. Обычные точки останова (bp) можно задать только в том случае, если отладчик подключен во время загрузки. Точки останова оборудования,"ba", можно задать в любое время.

  3. Произошло повреждение оборудования, например сбой ОЗУ, включающего код ядра или данные.

См. также:

Bug Check Code Reference (Справочник с кодами критических ошибок)