ブルー スクリーンのデータ

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

IT プロフェッショナルまたはサポート エージェントの場合は、「停止エラーまたはブルー スクリーン エラーの高度なトラブルシューティング」を参照してください。

Microsoft Windows は、安全なシステム操作を損なう状態が検出されると、システムが停止します。 この状態を、バグ チェックと呼びます。 また、システム クラッシュカーネル エラーストップ エラーとも呼ばれています。
発生の可能性がある状況の例を次に示します。

  • オペレーティング システムの整合性が侵害された後も OS の実行を継続できる場合、データが破損したり、システムのセキュリティが損なわれたりする可能性があります。

  • システム上でクラッシュ ダンプが有効になっている場合は、クラッシュ ダンプ ファイルが作成されます。

  • カーネル デバッガーがアタッチされ、アクティブな場合、システム中断の原因となるため、デバッガーを使用してクラッシュを調査することができます。

  • デバッガーがアタッチされていない場合は、エラーに関する情報を含む青いテキスト画面が表示されます。 この画面は、ブルー スクリーンバグ チェック画面停止画面と呼ばれています。

Windows のインサイダー ビルドを使用している場合、テキストは緑色の背景に表示されます。 ブルー スクリーンの正確な外観は、エラーの原因によって異なります。 次の例は、表示される可能性があるブルー スクリーンを示しています。

Screenshot of a Windows 10 blue screen displaying a bug check with a QR code.

PAGE_FAULT_IN_NONPAGED_AREA などの停止コードが表示されます。 使用可能な場合は、実行中のコードのモジュール名 (AcmeVideo.sys など) も表示されます。

カーネル モードのダンプ ファイルが書き込まれている場合、ダンプが書き込まれると、カウント ダウンが完了した割合が示されます。

バグ チェック コード リファレンス」に記載されているように、停止コードの 16 進値は各停止コードに関連付けられています。

停止コード パラメーターの収集

各バグ チェック コードには、情報を提供する 4 つのパラメーターが関連付けられています。 パラメーターについては、各停止コードの「バグ チェック コード リファレンス」に記載されています。

4 つの停止コード パラメーターを収集するには、複数の方法があります。

  • イベント ビューアー Windows システム ログを確認します。 バグ チェックのイベント プロパティには、4 つの停止コード パラメーターが一覧表示されます。 詳しくは、「イベント ビューアーの使用」を参照してください。

  • 生成されたダンプ ファイルを読み込み、デバッガーをアタッチして !analyze コマンドを使用します。 詳細については、「WinDbg を使用してカーネル モード ダンプ ファイルを分析する」を参照してください。

  • 障害が発生している PC にカーネル デバッガーをアタッチします。 停止コードが発生すると、デバッガーの出力には、停止コードの 16 進値の後に 4 つのパラメーターが含まれます。

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************
    
    Use !analyze -v to get detailed debugging information.
    
    BugCheck 9F, {3, ffffe000f38c06a0, fffff803c596cad0, ffffe000f46a1010}
    
    Implicit thread is now ffffe000`f4ca3040
    Probably caused by : hidusb.sys
    

バグ チェックのシンボリック名

DRIVER_POWER_STATE_FAILURE は、バグ チェックのシンボリック名であり、関連するバグ チェック コードは 9F です。 バグ チェックのシンボリック名に関連付けられている停止コードの 16 進値は、「バグ チェック コード リファレンス」に一覧表示されています。

デバッガーからのバグ チェック情報の読み取り

デバッガーがアタッチされていて、PC でデバッグが有効になっている場合、バグ チェックにより、ターゲット コンピューターがデバッガーに割り込みます。 この場合、ブルー スクリーンがすぐに表示されない場合があります。 このクラッシュの詳細はデバッガーに送信され、デバッガーのウィンドウに表示されます。 この情報を 2 回目に表示するには、.bugcheck コマンド (バグ チェック データの表示) または !analyze 拡張コマンドを使用します。 デバッグの有効化の詳細については、「WinDbg の概要 (カーネル モード)」を参照してください。

カーネルのデバッグとクラッシュ ダンプの分析

カーネル デバッグは、他のトラブルシューティング手法が失敗した場合や、定期的な問題が発生した場合に特に便利です。 必ず、エラー メッセージのバグ チェック情報セクションの正確なテキストをキャプチャしてください。 複雑な問題を特定し、実行可能な回避策を策定するには、エラーにつながる正確なアクションを記録しておくと役立ちます。

!analyze デバッグ拡張コマンドは、バグ チェックに関する情報を表示し、根本原因の特定に役立ちます。

また、この停止コードの前にあるコードにブレークポイントを設定し、エラーが発生したコードへのシングル ステップ フォワードを試行することもできます。

詳細については、次の記事をご覧ください。

Windows デバッガー (WinDbg) を使用したクラッシュ ダンプ分析

WinDbg によるカーネル モード ダンプ ファイルの分析

!analyze 拡張コマンド!analyzeの使用

デフラグ ツール ショー

ドライバー検証ツールを使用した情報収集

ブルー スクリーンの約 4 分の 3 は、ドライバーの障害が原因であると推定されています。 ドライバーの検証ツールは、リアルタイムで実行してドライバーの動作を調べるためのツールです。 たとえば、ドライバーの検証ツールでは、メモリ プールなどのメモリ リソースの使用がチェックされます。 ドライバー コードの実行でエラーが検出された場合は、ドライバー コードのその部分をさらに詳しく調査できるように、事前に例外が作成されます。 ドライバーの検証ツール マネージャーは、Windows に組み込まれており、すべての Windows PC で使用できます。 ドライバーの検証マネージャーを起動するには、コマンドプロンプトで「Verifier」と入力します。 どのドライバーを検証するかを構成できます。 ドライバーを検証するコードでは、実行時にオーバーヘッドが増加するため、可能な限り最小のドライバー数を確認してみてください。 詳細については、「ドライバーの検証ツール」を参照してください。

ソフトウェア エンジニア向けのヒント

記述したコードの結果としてバグ チェックが発生した場合は、カーネル デバッガーを使用して問題を分析し、コード内のバグを修正する必要があります。 詳細については、「バグ チェック コード リファレンス」セクションの個々のバグ チェック コードを参照してください。

ただし、独自のコードでは発生しないバグ チェックが発生する場合もあります。 その場合、問題の実際の原因を解決できない可能性があるため、目標は問題を回避することです。 可能であれば、障害が発生しているハードウェアまたはソフトウェア コンポーネントを分離して取り除きます。

命令の検証、主要コンポーネントの再インストール、ファイルの日付の検証など、基本的なトラブルシューティング手順で、多くの問題を解決できます。 また、イベント ビューアー、Sysinternals 診断ツール、ネットワーク監視ツールで、これらの問題を分離して解決できることがあります。

Windows バグ チェック コードの一般的なトラブルシューティングについては、次の推奨事項に従ってください。

  • 最近システムにハードウェアを追加した場合は、除去または交換してみてください。 または、利用可能なパッチがないか、製造元に確認することもできます。

  • 新しいデバイス ドライバーまたはシステム サービスが最近追加された場合は、それらを削除または更新してみてください。 新しいバグ チェック コードが表示される原因となったシステムの変更内容を確認します。

  • デバイス マネージャーを見て、感嘆符 (!) でマークされているデバイスがないか確認します。 ドライバーのプロパティに表示されるイベント ログで、障害が発生しているドライバーを確認します。 関連するドライバーを更新してみます。

  • イベント ビューアーのシステム ログを確認して、エラーの原因となっているデバイスまたはドライバーを特定するのに役立つ可能性があるその他のエラー メッセージを確認します。 詳しくは、「イベント ビューアーの使用」を参照してください。 ブルー スクリーンと同じ時間枠で発生したシステム ログで、重大なエラーを探します。

  • システムの製造元から提供されているハードウェア診断を実行してみることができます。

  • Windows メモリ診断ツールを実行して、メモリをテストします。 コントロール パネルの検索ボックスに「メモリ」と入力し、[お使いのコンピューターのメモリの問題の診断] を選択します。テストの実行後、イベント ビューアーを使用して、システム ログの下に結果を表示します。 MemoryDiagnostics-Results エントリを探して、結果を表示します。

  • インストールされた新しいハードウェアが、インストールされている Windows のバージョンと互換性があることを確認します。 たとえば、Windows 10 の仕様で必要なハードウェアに関する情報を取得できます。

  • ウイルス検出プログラムを実行します。 ウイルスは、Windows 用にフォーマットされたあらゆる種類のハード ディスクに感染する可能性があり、その結果、ディスクが破損すると、システム バグ チェック コードが生成される可能性があります。 マスター ブート レコードで、ウイルス検出プログラムが感染していないことを確認します。

  • スキャン ディスク ユーティリティを使用して、ファイル システム エラーがないことを確認します。 スキャンするドライブを長押し (または右クリック) し、Properties>Tools>Check now の順に選択します。

  • システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復します。 システム ファイル チェッカーは、Windows システム ファイルの破損をスキャンし、破損したファイルを復元できる Windows のユーティリティです。 次のコマンドを使用して、システム ファイル チェッカー ツール (SFC.exe) を実行します。

    SFC /scannow
    

    詳細については、「システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する」を参照してください。

  • ハード ドライブに十分な空き領域があることを確認します。 オペレーティング システムと一部のアプリケーションでは、スワップ ファイルを作成したりその他の関数を実行したりするための十分な空き領域が必要です。 システム構成に基づいて、正確な要件は異なりますが、10% から 15% の空き領域を確保しておくことをお勧めします。

  • システムに最新の Service Pack がインストールされていることを確認します。 システムにインストールされている Service Pack を検出するには、[スタート] を選択して [実行] を選択してから、「winver」と入力して Enter キーを押します。 [Windows バージョン情報] ダイアログには、Windows バージョン番号と Service Pack のバージョン番号が表示されます (インストールされている場合)。

  • 製造元に問い合わせて、更新されたシステム BIOS またはファームウェアが使用可能かどうかを確認します。

  • キャッシュやシャドウなどの BIOS メモリ オプションを無効にします。

  • PC の場合は、すべての拡張ボードが適切に装着され、すべてのケーブルが完全に接続されていることを確認します。

  • セーフ モードの使用

    コンポーネントを削除または無効にする場合は、セーフ モードを使用することを検討してください。 セーフ モードを使用すると、Windows の起動時に必要最小限のドライバーとシステム サービスのみが読み込まれます。

    1. セーフ モードに入るには、[設定] に移動し、[更新とセキュリティ] を選択します。
    2. [回復]>[PC の起動をカスタマイズする] の順に選択してメンテナンス モードで起動します。
    3. 表示されたメニューで、[トラブルシューティング]>[詳細オプション]>[スタートアップ設定]>[再起動] の順に選択します。
    4. Windows が再起動して [スタートアップ設定] 画面が表示されたら、オプション 4、5、または 6 を選択してセーフ モードで起動します。

    セーフ モードは、起動時にファンクション キー (F8 キーなど) を押すことで使用できる場合があります。 特定のスタートアップ オプションについては、製造元からの情報を参照してください。

関連項目