web-dev-qa-db-ja.com

Windows10でMEMORY_MANAGEMENTおよびATTEMPTED_WRITE_TO_READONLY_MEMORYBSODを修正する方法

そのため、Windows 7 x64の新規インストールを3年間使用した後、仕事上の理由からWindows10にアップグレードする必要があります。

Microsoftから最新のWindows10 Proビルドイメージ(1803)をダウンロードし、Rufus3.1を使用して起動可能なフラッシュディスクを作成しました。

SSDに新規インストール(以前にフォーマット)を行い、コンピューターを数日使用した後、ランダムなBSODを取得し始めました。 1日あたり約1または2。

BSODエラーは、MEMORY_MANAGEMENTまたはATTEMPTED_WRITE_TO_READONLY_MEMORYのいずれかです。

私が試したこと:

  • Windowsメモリ診断を2回実行します。エラーはありません。
  • 実行sfc /scannow。エラーはありません。
  • GPUドライバーを最新のものに更新しました(Nvidia Geforce GTX 970)
  • BIOSを最新バージョンに更新しました(ASUS Z-97Eでは0802から0803)

Windows 7の3年間でBSODが2、3しかなかったかもしれないので、ハードウェア関連の問題ではないと思います。 BSODは、Windows10を新たにインストールした直後に開始されました。

Windowsによって生成されたMEMORY.DMPを開くにはどうすればよいですか?また、BSODの原因を確認するためにそこで何を調べますか?

他に試すことができるものはありますか?

[〜#〜] update [〜#〜]WinDbg x64でC:\ MEMORY.DMPを開いたところ、結果は次のとおりです。 https://Pastebin.com/B2pS9VZt

UPDATE 2別のBSODがありました。今回はSPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
ここにダンプ: https://Pastebin.com/0hckXpqP

UPDATE 3ミニダンプファイル

UPDATE 4
私は一晩中memtestを実行しましたが、多くのエラーが発生しました。 RAMに障害があると思います。これに問題があると確信していますRAM正しいですか?正しく交換すると修正されますか?どのスティックに問題があるかを知る方法はありませんか?それらを取り外して、memtestを再度実行して確認する必要がありますどれ?
結果は次のとおりです: http://ancient-name.surge.sh/

4
emzero

このタイプのクラッシュの最も可能性の高い原因は、メモリの欠陥です。 harrymcが示唆しているように、最初に試すことは、通常、メモリテストプログラムを実行することです。たとえば、 Windowsメモリ診断 (Windowsに含まれています)、元の MemTest86 ( PassMark Software)、またはオープンソース Memtest86 + 。 (同様の問題が発生している可能性があるが、メモリテストを試したことがない他の読者のために、このセクションを追加しました。)


質問の作成者はこのセクションをスキップできます。他の読者が参照できるように保持されています。

メモリテストに合格した場合は、プロセッサに障害がある可能性があります。

プロセッサの統合メモリコントローラ(IMC)は、メモリの問題を引き起こす場合があります。特定のメモリ位置からデータを読み取るなどの単純なメモリ操作は正常に機能する場合がありますが、 仮想メモリ などの重要なメモリ管理操作を実行するプロセッサの機能は、メモリテストプログラムによってテストされません。

もう1つの可能性は、障害キャッシュです。キャッシュは、メモリアクセスを高速化するために使用されるプロセッサ内の少量のメモリです。プロセッサはキャッシュエラーを検出できるはずですが(そして、それが発生すると マシンチェック例外 が発生し、WHEA_UNCORRECTABLE_ERROR BSODが発生します)、キャッシュ内のデータが破損することは不可能ではありません。プロセッサ自体が気付かないうちにメモリ破損を引き起こします。それも、メモリテストソフトウェアでは検出されません。

IMCを確認するには、 Intelのプロセッサ診断プログラム をダウンロードしてIMCテストを実行します。プロセッサのキャッシュを確認するには、 Prime95 をダウンロードして、小さなFFT拷問テストを実行します(プロセッサが非常に熱くなるか、ファンが大音量で動作する可能性があります。これは正常です)。いずれかのテストが失敗した場合は、おそらくプロセッサを交換する必要があります。 (プロセッサとメモリがnotオーバークロックされているか、仕様外で動作していると想定しています。)


メモリテストを実行してエラーが見つかったので、1つまたは複数のメモリモジュールを交換する必要があることは明らかです。あなたが投稿したレポートからより多くの情報を集めることができます。

エラーは、メモリの特定の領域(0x19BDD79F0付近)で発生します。これにより、問題が1つのモジュールに制限されます。アドレスは、問題がPatriotメモリモジュールの1つにあることを示唆していますが、確認していませんnot

あなたのシステムを含むほとんどのシステムのメモリはペアで最適に機能するため、いずれかのブランドのbothモジュールを削除して、テストを再実行してみてください。それでも問題が解決しない場合は、取り外したモジュールを再インストールして、もう一方のペアを取り外します。問題が解決した場合は、交換用のメモリモジュールを入手するまで、システムを正常に使用できます。


Windows 10は、メモリが限られているシステムでパフォーマンスを最大化するために、 仮想メモリ圧縮 などのより高度なメモリ管理手法を使用していることに注意してください。システムには16GBのメモリがありますが、Windowsはデフォルトでメモリ内のデータを圧縮します(私のデスクトップには32 GBがあり、ここでも違いはありません)。メモリエラーは、データの圧縮および解凍中に容易に検出され、すぐに操作が失敗し、システムがクラッシュします。圧縮されていないアプリケーションやその他のデータに影響を与えるメモリエラーは、「単に」アプリケーションのクラッシュやファイルの破損を引き起こします(ただし、OSのクラッシュを引き起こす可能性はあります)。このため、Windows 10は、以前のバージョンのWindowsよりもメモリエラーの影響を受けやすくなっています。

10
bwDraco

ダンプによって、エラーは2つのソース(IRQとint 3命令)から発生しています。 IRQは、割り込みによって呼び出された一部のドライバーに障害があることを意味します。つまり、このシステムにインストールされているすべてのドライバーに障害があるかどうかを確認する必要があります。

Int 3はデバッガー割り込みです。つまり、ブレークポイント(int 3)を呼び出すべきではない場所にあるソフトウェア(ドライバーの場合もあります)があります。これは、ソフトウェアのデバッグバージョンで発生する可能性があります。

ほとんどの場合、そのようなBSODは適切に記述されていないドライバーからのものであるため、これが問題を検索するソースです。すべてのドライバーをアンインストールして(またはオペレーティングシステムを新規インストールして)、1つずつ確認します。各ドライバー間でシステムをより大きく使用し(たとえば、7-Zipベンチマークを作成します)、障害のあるドライバーを見つけます。

問題のもう1つの原因は、CPUまたはRAMのオーバークロックである可能性があります。これを確認するには、提供されたハードウェアの公称値のみを使用するようにBIOSでシステムを構成します。それ以上ではありません。

3
pbies

ミニダンプで、SPECIAL_POOL_DETECTED_MEMORY_CORRUPTIONのクラッシュ状態も発生していることがわかります。また、すべてのクラッシュはカーネルまたはHAL内で発生しますが、デバイスドライバー内では発生しないため、特定の誤動作しているデバイスに問題が発生することはありません。

したがって、メモリに欠陥がある可能性が非常に高くなります。 Windows 10は、以前は使用されていなかったRAMの欠陥部分を使用している可能性があります。

最初にイベントビューアを見て、有用な情報が含まれているかどうかを確認してください。

次に、実行することをお勧めします MemTest86

MemTest86は、x86コンピューター用のオリジナルの無料のスタンドアロンメモリテストソフトウェアです。 MemTest86は、USBフラッシュドライブまたはCDから起動し、一連の包括的なアルゴリズムとテストパターンを使用して、コンピューターのRAM)の障害をテストします。

不良スティックを見つけるために、マザーボードに指定された配置を尊重して、RAMスティックのサブセットを使用して起動することもできます。


MemTest86の結果に関する注記:何千ものエラーがあります。メモリアドレス指定のテストに合格したため、問題はメモリコントローラにありません。エラーはRAM自体にあり、読み取ったときに保存されたデータが正しくありません。これは、少なくとも1つのメモリースティックが不良であり、CPUまたはマザーボードに問題がないことを示しています。 。

あなたにできること

スティックを取り出して、サブセットでMemTest86を実行できます。お使いのマザーボードはAsusZ97-Eで、DIMM_A1とDIMM_B1に少なくとも2本のスティックが必要です。次の図は、 手動 の1-7ページからのものです。

image

同じメーカーのスティックを2つ入れてテストすると、フィールドがCorsairスティックまたはPatriotスティックのいずれかに絞り込まれます。 2本のスティックのうち1本だけが(うまくいけば)悪いことがわかっている場合は、異なるメーカーのスティックを混ぜてみてください。それらの仕様は同じように見えるので、これはうまくいくかもしれません。

MemTest86では、DIMM_A1にスティックを1つだけ入れるだけで十分に機能する可能性もあります。マニュアルの図は不明確であり、1本のスティックがDIMM_A1またはDIMM_B1のいずれかで機能する可能性があることを示している可能性があります。そうでない場合でも、マザーボードによっては、推奨されない構成がある程度機能する場合があります。

1
harrymc