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


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


この記事では、Windows 7のブルー スクリーン エラーの概要、それらが発生する理由、それらを特定して修正する方法について説明します。



目次:

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

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

デル推奨:

Windows 7のSTOP(ブルースクリーン)エラーを解決する(Microsoftコンテンツ)

Windows(Microsoftコンテンツ)におけるブルー スクリーンの問題のトラブルシューティング


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

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

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

  • Windowsが、データの損失を伴わずに回復できないエラーを検出した場合
  • 重大なOSデータが破損していることがWindowsで検出された場合
  • 回復不可能なハードウェア障害がWindowsで検出された場合
このエラー メッセージは、Windows NT 4.0時代の非常に詳細な情報から、最新Windowsバージョンの比較的簡単なメッセージに変更されました。

オンラインDiagnostics(診断)を実行

デルでは、問題の原因となっているPCのハードウェアまたは構成の問題を特定できるオンライン診断プログラムを提供しています。Dell Online Diagnostics(オンライン診断)にアクセスして詳細情報を確認し、コンピュータのスキャンを実行します。


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

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. ビデオ ドライバーがデルの最新バージョンにアップデートされていることを確認します。
     
  2. システムBIOSが最新であることを確認します。
     
  3. ビデオドライバとシステムBIOSの両方が最新である場合は、ドライバの最新のアップデートについて製造元に問い合わせます。
     
  4. 最終手段として、ビデオカードを交換します。

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

 

Windowsデバッガの使用

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

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

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

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

     

    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)

     

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


    図2: Windowsデバッガ

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

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

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

     

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

     

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


    図3: 結果の解析

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


    図4: 詳細な解析結果

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

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

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

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


    図5:その他の解析

    クラッシュが発生したときにシステムが処理していたモジュールの名前。実際のシステムでは、モジュール名は、クリックするとモジュールについての役立つ情報を入手できるリンクです。

 





Quick Tips(クイックヒント)の内容は、問題を日々解決するDellサポート担当者によって公開されます。 迅速な公開を実現するため、Quick Tipsは部分的な解決策や対処方法のみを示すことがあり、これらはまだ開発段階であるか、問題を無事解決できることを裏付けるさらなる検証を保留中のものです。 こうしたQuick Tipsは、Dellが確認、検証、承認をしていないため、適切に注意して利用する必要があります。お客様がQuick Tipsにある手順やアドバイスに従うことにより被るデータの喪失、利益の損失、収入の損失などの一切の損失について、Dellは責任を負いません

記事ID: SLN115577

最終更新日: 2020/09/29 20:01

この記事を評価する

正確
有益
分かりやすい
この記事は役に立ちましたか?
0/3000 characters
1~5個の星の数で評価してください。
1~5個の星の数で評価してください。
1~5個の星の数で評価してください。
この記事は役に立ちましたか?
コメントでは、以下の特殊文字は利用できません: <>()\
文字入力できます。