Microsoft Windows Vistaがクラッシュする、再起動する、またはブルースクリーンが表示される

概要: Windows Vistaコンピューターでブルー スクリーンエラーを診断および解決する方法について説明します。

文書の内容


現象
SLN129734_ja__1icon 2017年4月11日以降、Windows Vistaのお客様は、新しいセキュリティ更新プログラム、非セキュリティホットフィックス、無償または有償サポートのサポートオプション、オンラインでのテクニカルコンテンツのアップデートをMicrosoftから受けることができなくなっています。この記事の更新は今後行われず、参照のみを目的として残されます。Microsoftのサイトにアクセスして、サポートの完全終了に関するお知らせをご確認ください。

目次:

  1. ブルースクリーンエラーとは
  2. 一般的なブルースクリーンエラーメッセージをトラブルシューティング
    1. 0x000000EDおよび0x0000007B
    2. 0x00000024
    3. 0x0000007Eおよび0x0000008E
    4. 0x00000050
    5. 0x000000D1
    6. 0x000000EA
  3. Windowsデバッガの使用

 


この文書では、ブルースクリーンエラーについて、原因、認識方法、一般的なエラーメッセージへの対処方法について説明します。


この文書は、Microsoft Windows 7に特化した内容です。
OSを変更するにはこちらをクリックしてください。

 

デル推奨:

Windows Vista がシャットダウンまたは突然再起動する原因とBlueScreen (STOP) エラーを修正する方法

 


 

ブルースクリーンエラーとは

Windowsである状況が発生すると、システムが停止し、その診断結果が青色のスクリーンに白い文字で表示されます。このエラーの状態を「ブルースクリーン」と呼び、またここからBSOD(Blue Screen of Death)という用語が生まれました。

ブルースクリーンエラーは、次の場合に発生します。

  • データの損失を伴わずに回復ができないエラーがWindowsで検出された場合
  • 重大なOSデータが破損していることがWindowsで検出された場合
  • 回復不可能な状態でハードウェアに障害が発生したことがWindowsで検出された場合
  • 表示されるメッセージは年々変化しており、非常に詳細であったWindows NT 4.0時代に比べ、現在のWindowsのバージョンでは比較的簡単なメッセージに変わっています。

 


 

一般的なブルースクリーンエラーメッセージをトラブルシューティング

Stop 0x000000ED (UNMOUNTABLE_BOOT_VOLUME)
Stop 0x0000007B (INACCESSIBLE_BOOT_DEVICE)

これら2つのエラーの原因は似通っており、双方に同じトラブルシューティング手順を適用できます。これらのSTOPコードは、必ず起動時に発生します。これらのSTOPコードのいずれかが発生したときには、次の現象のいずれかが発生しています。
  1. システムでPOSTが完了しています。
     
  2. システムでNTLDRが読み込まれ、起動プロセスの制御がNTOSKRNL(カーネル)に転送されています。
     
  3. NTOSKRNLが正しく動作できません。カーネルの残りの部分が見つからないか、ファイルシステムを保存されているはずの場所から読み取れません。
    このエラーのトラブルシューティングを行うには、Windowsカーネルが正しく動作できない原因を突き止め、それを解決する必要があります。
確認する項目
  • システムBIOSでのSATAコントローラの設定。SATAコントローラがATAモードからAHCIモードに切り替わる場合に(またはその逆の場合に)、モードの違いにより要求するドライバが異なるためにWindowsがSATAコントローラと通信できなくなります。BIOSでSATAコントローラのモードを切り替えてみてください。
  • RAIDの設定。RAIDコントローラの設定を試みたときにこのエラーが発生する事があります。RAIDの設定をAutodetectに戻してみてください(通常は正確)。
  • 不十分または不適切なケーブル接続。ドライブとコントローラを接続しているデータケーブルの両端を接続し直してみてください。
  • ハードドライブの障害。ハードドライブ内蔵の診断プログラムを実行してください。重要: コード7は、ディスクの障害ではなく、修正が可能なデータの破損であることを意味します。
  • ファイルシステムの破損。Windowsのインストールディスクから回復コンソールを起動して、chkdsk /f /rを実行します。
  • BOOT.INI (Windows Vista)が正しく設定されていない。boot.iniファイルを誤って削除するか、内容を変更すると、起動プロセスの中でSTOPコード0x7Bが発生することがあります。Windowsのインストールディスクから回復コンソールを起動して、BOOTCFG /REBUILDを実行してください。

 


STOP 0x00000024 (NTFS_FILE_SYSTEM)

このSTOPコードは、NTFSファイルシステムドライバで対応できない状況が発生したことを意味します。ほとんどの場合、原因は次の3つです。
  • ディスクでのデータの破損
  • メモリでのデータの破損
  • システムが完全にメモリ不足の状態で実行されている(これは一般的に非常に負荷の高いサーバーでのみ発生します)
確認する項目
  1. メモリとすべてのデータケーブルを装着し直して、ハードウェアの不完全な装着によって生じているデータ破損の問題を排除します。
     
  2. メモリとハードドライブの完全な診断を実行します。この場合、クイックテストでは不十分です。完全なシステム診断を実行する必要があります。
     
  3. これらの診断にパスした場合は、回復コンソールから完全なファイルシステムチェックを実行して(chkdsk /f /r)、破損したデータを検出し、(可能であれば)修復します。
     
  4. 上記のいずれの方法でも解決できない場合は、Windowsを再インストールしてください。
     
  5. 問題が解決しない場合は、ハードドライブを交換してください。

     


STOP 0x0000007E (SYSTEM_THREAD_EXEPTION_NOT_HANDLED)
STOP 0x0000008E (KERNEL_MODE_EXCEPTION_NOT_HANDLED)

この2つのエラーは、カーネルで実行されているプログラムに予期しない状況が発生し、その状態から回復できなかったことを示します。この2つのトラブルシューティングと解決方法の手順は同じで、おそらくWindowsデバッガを使用してエラーの原因を見つけ出す必要があります。
確認する項目
  • ブルースクリーンのメッセージにドライバファイルまたはライブラリファイルが示されている場合は、そのファイルがどのドライバまたはアプリケーションのものかを調べ、それを更新するかまたは無効にします。
  • システムBIOSを入手可能な最新リビジョンに更新します。
  • 最近インストールしたプログラムをすべてアンインストールし、最近インストールしたドライバをすべてロールバックします。
  • コンピュータのメモリに診断プログラムを実行します。
 

STOP 0x00000050 (PAGE_FAULT_IN_NON_PAGED_AREA)

このSTOPコードは、システムが存在しないメモリ領域にアクセスしようとしていることを意味します。通常、原因としては次のことが考えられます。

  • ドライバが存在しないメモリのページにアクセスしようとしている。
  • システムサービス(ウィルススキャナーなど)が異常終了した。
  • メモリの取り付け方が不完全、または誤りがある。
  • ハードディスク(HDD)上のデータが破損している。
これらのエラーの正確な原因を突き止めるには、Windowsデバッガを使用します。
確認する項目
  1. ブルースクリーンエラーにドライバファイルまたはライブラリファイルが示されている場合は、そのファイルがどのドライバまたはプログラムのものかを調べて、ドライバまたはプログラムを最新バージョンにアップグレードするかアンインストールします。
     
  2. 起動プロセスの途中でエラーが発生する場合は、前回正常起動時の構成で起動してみます。
     
  3. プログラムまたはドライバをインストールした後にエラーが発生し始めた場合は、そのプログラムまたはドライバをアンインストールしてください。
     
  4. メモリおよびハードドライブのデータケーブルを装着し直した後、ハードドライブとメモリの完全な診断を実行してみます。

 

STOP 0x000000D1 (DRIVER_IRQL_NOT_LESS_THAN_OR_EQUAL_TO)

このSTOPコードは、ドライバがメモリ内の本来アクセスすべきではない特定の領域にアクセスしようとしたことを示します。これは、ドライバ自体に欠陥があることを意味します。このトラブルシューティングの目標は、ドライバを見つけ出して、それを無効にするかまたは置き換えることです。このエラーのトラブルシューティングには、Windowsデバッガを使用します。
デバッガを使用しない場合、ブルースクリーンで示されたドライバファイルを含むドライバのアンインストール/更新/ロールバックだけに制限されます。

 


 

STOP 0x000000EA (THREAD_STUCK_IN_DEVICE_DRIVER)

このブルースクリーンエラーは、デバイスドライバ(ほとんどの場合がビデオカードドライバ)が何らかの動作の発生(通常はハードウェアの動作)を待機しているために停止してしまったことを意味します。ほとんどの場合、このブルースクリーンとnv4_disp.sysが関連していると思われます。
確認する項目:
  1. ビデオドライバがDellの最新バージョンにアップデートされていることを確認します。
     
  2. システムBIOSが最新であることを確認します。
     
  3. ビデオドライバとシステムBIOSの両方が最新である場合は、ドライバの最新のアップデートについて製造元に問い合わせます。
     
  4. 最終手段として、ビデオカードを交換します。

Windowsを再インストールしても、このエラーの再発生を避けることはできません。

 

Windowsデバッガの使用

Windowsデバッガは、Microsoftのソフトウェア開発者やサポートスタッフが、メモリダンプの結果からエラーを解析して解決するために使用する重要なツールの1つですが、一般にも使用が認められています。

Windowsデバッガは便利なアプリケーションが多数付属した強力なツールですが、この場合はブルースクリーンエラーによって生成されたメモリダンプファイルを解析し、エラーの原因を突き止める機能だけを対象とします。

このツールを使用する前に、次のことに注意してください。

  • WindowsデバッガはWindowsに元々備わっているツールではありません。このアプリケーション(15 MB)はMicrosoftのWebサイトからダウンロードしてインストールする必要があります。このツールをインストールするには、Administratorのアクセス権が必要です。
  • デバッガを使用する前に、細部のカスタマイズをする必要があります。
  • デバッガが1つのメモリダンプを完全に解析するには、30秒から2分程度かかります。
このツールを使用するには、次の手順に従います。
  1. MicrosoftのWebサイト

     

    Googleを使用して「windows debugger」を検索すると、最初に返されるリンクがWindowデバッガのホームページになります。

     

  2. インストールが完了したら、「スタート」「すべてのプログラム」「Debugging Tools for Windows(Windows用デバッグツール)」「WinDbg」の順にクリックし、Windowsデバッガを開きます。

     

  3. デバッガで使用するシンボルパスを設定して、メモリ・ダンプ・ファイル内のアドレスを意味のある場所の名前に変えます。「File(ファイル)」メニューを開き、「Symbol File Path(シンボル・ファイル・パス)」を選択して、ダイアログボックスに「SRV*c:\debug_symbols*http://msdl.microsoft.com/download/symbols」と入力し、「OK」をクリックします。

     

  4. ミニダンプファイルを開きます。「File(ファイル)」メニューを開き、「Open Crash Dump(クラッシュダンプを開く)」を選択して、目的のダンプファイルを選択し、「Open(開く)」をクリックします。

     

    システムでは、通常ミニダンプファイルをC:\WINNT\Minidump\またはC:\Windows\Minidump\に作成します。ファイルの名前はminiMMDDYY-NN.dmpになります。MMDDYYは、それぞれダンプファイルが作成された月、日、年になります。NNは複数のダンプが同じ日に作成された場合のシーケンス番号です(ある日に作成された最初のクラッシュダンプが01、2番目が02、となります)。

     

  5. デバッガによってダンプファイルが開き、システムがクラッシュした原因についての簡潔な説明が表示されます。(図2)

     

    デバッガを使用してシステム上で初めてダンプファイルを開いたときには、バックグラウンドでシンボル情報がダウンロードされるため、情報が表示されるまでに数分かかります。

    SLN129734_ja__2W_cat_dump1_cc_v1
    図2: Windowsデバッガ

    SLN129734_ja__3W_cat_Caption1_cc_v1デバッガのコマンド ラインで推奨されるコマンド

    SLN129734_ja__4W_cat_Caption2_cc_v1ブルースクリーンのSTOPコード(1000007Fは0x7Fと同じ)

    SLN129734_ja__5W_cat_Caption3_cc_v1Windowsが判断したクラッシュの原因(この例ではatapi.sysmemory_corruptionのように表示される場合もあります)

     

  6. この予備的な解析が返されると、デバッガからより深く掘り下げるための方法が示されます。ウィンドウの下部にあるコマンドライン(kd>)のフィールドで、「!analyze -v」と入力し、Enterキーを押して、WinDbgでファイルのより詳細な解析を実行するようにします。

     

    結果は非常に長くなるため、核心となる情報を突き止めるには、デバッガのウィンドウを垂直方向にスクロールしなければならない場合もあります。

    SLN129734_ja__6W_cat_dump2_cc_v1
    図3: 結果の解析

    SLN129734_ja__3W_cat_Caption1_cc_v1STOPコードの詳細な説明(この例では、カーネルでEXCEPTION_DOUBLE_FAULT (8)が発生したこと、すなわちあるエラーの処理を試みているときにエラーが発生したことがわかります)

    SLN129734_ja__8W_cat_dump3_cc_v1
    図4: 詳細な解析結果

    SLN129734_ja__3W_cat_Caption1_cc_v1バグチェックコード(この例では、数字の8が含まれていることに注意してください。これはダブルフォールトを意味します)

    SLN129734_ja__4W_cat_Caption2_cc_v1このエラーによってシステムがこれまでにクラッシュした回数(通常は1)

    SLN129734_ja__5W_cat_Caption3_cc_v1Windowsによってクラッシュが分類されたバケット

    SLN129734_ja__12W_cat_Caption4_cc_v1システムがクラッシュした時点でのスタックトレース。直前に呼び出されたプロシージャが先頭になっています(この例ではIDEコントローラからのリクエストの処理中にシステムがクラッシュしていることがわかります)

    SLN129734_ja__13W_cat_dump4_cc_v1
    図5:その他の解析

    SLN129734_ja__3W_cat_Caption1_cc_v1クラッシュが発生したときにシステムが処理していたモジュールの名前。実際のシステムでは、モジュール名は、モジュールについての有意義な情報(作成者、作成されてからの経過時間など)を入手するためにクリックできるリンクになっています。

 

文書のプロパティ


最後に公開された日付

21 2月 2021

バージョン

4

文書の種類

Solution

この文書を評価


正確
有益
わかりやすさ
この記事は役に立ちましたか?

0/3000 文字