次の方法で共有


バグ チェック 0x18C: HYPERGUARD_VIOLATION

HYPERGUARD_VIOLATION バグ チェックには、0x0000018Cの値があります。 これは、カーネルが重要なカーネル コードまたはデータが破損していることを検出したことを示します。

重要

この記事は、プログラマー向けです。 コンピューターを使用中に、ブルー スクリーン エラーが表示された場合は、「ブルー スクリーン エラーのトラブルシューティング」を参照してください。

Note

このバグ コードは、Hyperguard でのみ使用するためにリザーブされています。
これは、データ破損のシナリオで他のコンポーネントで使用することを目的とした汎用バグ コードではありません。
代わりに、コンポーネントの一意のバグ コードを定義します。
コンポーネントでこのバグ コードを使用しないでください。

HYPERGUARD_VIOLATION パラメーター

パラメーター 説明
1 破損したリージョンの種類 - 以下に値を示します。
2 エラーの種類に依存する情報。
3 予約済み。
4 予約済み。

破損したリージョンの種類

1001 : 汎用データ リージョン

1002 : ページ ハッシュの不一致

1004 : IDT プロセッサ

1005 : GDT プロセッサ

1007 : デバッグ ルーチンの変更

1008 : 動的コード領域

1009 : 一般的な共有可能なデータ領域

100a: ハイパーバイザー オーバーレイ領域

100b : プロセッサ モードの構成ミス

100c : 拡張プロセッサ コントロール レジスタ

100d : セキュリティで保護されたメモリ領域

100e: ロードされたモジュール

100f: プロセッサ状態領域

1010 : カーネル CFG ビットマップ

1011 : 仮想アドレス 0 ページ

1012 : 代替逆関数テーブル

1013: オンデマンド ページ検証に失敗しました

1016: セキュリティで保護されたイメージ領域

1017 : カーネル仮想アドレス保護の不整合

1101 : 内部コンテキストの破損

1102 : IDTR修正

1103 : GDTR 修正

原因

このバグ チェックは、カーネルが重要なカーネル コードまたはデータが破損していることを検出したときに生成されます。 通常、破損の原因は 3 つあります。

  1. ドライバーが誤って、または意図的にクリティカルなカーネル コードまたはデータを変更しました。

  2. 開発者が、システムの起動時にアタッチされなかったカーネル デバッガーを使用して、通常のカーネル ブレークポイントを設定しようとしましたた。 通常のブレークポイント (bp) は、デバッガーが起動時にアタッチされている場合にのみ設定できます。 ハードウェア ブレークポイント "ba" は、いつでも設定できます。

  3. カーネル コードやデータを保持している RAM の障害など、ハードウェアの破損が発生しました。

参照

バグ チェック コード リファレンス