メモリの Read エラー対策


内容
パソコンで、次のようなエラーには比較的お目にかかる機会が多いが、万能的な対策は無く殆どの場合「無視」あるいは「再起動」という場合が多い。
0X????????の命令が0x????????のメモリを参照しました。メモリが「read」になることはできませんでした。
プログラムを終了するにはOK」を押してください。

或いは画面が真っ青くなって問題が発生したため、PCを再起動する必要があります。
エラー情報を収集しています。自動的に再起動します。
と言うブルースクリーンエラーだ。
多くの場合は、再発することもまれで偶発的なエラーかな?と思ってしまうのだが、中には頻発して作業に支障をきたす場合もある。そうした場合の対処をまとめてみた。
最新の Windows10による問題も追加しました。


最終更新日:2019/06/18

<考えられる原因>
メモリの参照エラーの原因はたくさんある。
代表的な不具合の現象・原因は以下の通り。

1.メモリの品質不良
診断方法:メモリ診断をしてみる*1・メモリを交換してみる
原因:発熱や電源ノイズなどの外部要因、メモリセルそのものの不良など
Webの情報では Windows10で頻発する(アップグレードしてから頻発する)場合はこの原因の事が多く、メモリ交換で治ったと言う情報が散見される。
メモリモジュールは高額だし、交換となるとどのメモリを買っていいのか?とか素人にはちょっと敷居が高いが、まず現在のメモリモジュールを一旦外して、コネクタの部分をガーゼのような柔らかいキレイな布で注意しつつ拭いてもとに戻して様子見(これで治る場合もあるので)、それでも治らなければ・・・・と言う手順を踏むのがセオリーだろう。
注意することとして、メモリモジュールの外し方は単にモジュールを引っ張って抜くのではなくて、モジュールのコネクタの両端の爪を押し下げるようにすること。こうするとモジュールが浮き上がって簡単に抜ける。

2.メモリモジュールの特性不一致
解決方法:自作PCでもなければこんなことはないと思うが、2枚セットのメモリモジュールが異なるブランドを使用している場合は、同じメーカーの同じ規格のメモリに交換

3.メモリモジュールのコネクタの接触不良
解決方法:メモリモジュールを一旦抜いてモジュールやコネクタのホコリを払ってから挿し直す。メモリスロットが空いていれば別のコネクタへ挿入

4.ハードディスクエラー
解決方法(HDDのエラーチェック、またはハードディスクの交換)
原因:HDD上のプログラム番地などが転んでしまってアクセス禁止のアドレスを指示した
実は、私も最近(2019年5月)、Cドライブの SSDが 128GBでは空き容量が不足か? と気になり始めたので、500GBの SSDにクローン化して載せ替えたところ、2回/月程度起きていた起動時の不具合(ディスプレイに何も表示されない)やメモリエラーが完治した。

5.アプリケーションバグ:ある組み合わせの場合に不正なメモリ番地を指示する
アプリのプログラムのメモリ管理バグ
解決方法:エラーが起きるときに操作していたアプリやデバイスがある程度絞れるなら、そのアプリやドライバーを一旦アンインストールして様子を見る。それで治ったと思って、再インストールしたら再発するなら、アプリやドライバーのアップデートを探してアップデートしてみる。
結構有名なものに、Office 2007 付属の IMEの問題があったりします。

6.アプリケーションの競合
解決方法:いつも同じアプリケーションの実行中ならそのアプリケーションを一旦アンインストールして様子見。再発しないならそのアプリケーションが原因と言うこと。アップデートを探してみる。

7.アプリやデバイスドライバーの互換性の問題(元々対応していないO/Sバージョンや デバイス上でアプリを実行させた)
解決方法:不具合が起きる際に操作していたアプリや、新しくインストールしたハードウェアを確認して一旦削除、アンインストールして様子見。

8. Windows10 でタッチパネル/パッド関連のサービスが原因の場合


これらはほんの一部で、実際に起きる症状はもっと多くのケースがあるはず。
以下は 上記原因の一般的な詳しい対応策です。



2. メモリの相性・不良・規格を満たしていない場合
パソコンのメインメモリ(D-RAM)は業界標準化団体の策定した標準規格にそって製造・検査されて出荷されるが、その規格に則った製品でも相性などの不具合は多い。理由はいくつかあるが、根本的には半導体のプロセスルールが進歩すればより集積度を上げてコストダウンするために、マージンはぎりぎりまで削られ、メーカーによってはほんの僅かのプロセス条件の変化で規格を割ってしまうこともありうる。それらが検査をすり抜けたり、低価格製品では承知の上で市場で売られることもあり得る。
一般的な確認方法・対処方法を以下に記す。

1.メモリ自体が壊れかかっている > メモリを交換する。
2.メモリが2つあり、互換性が良くない > 同じメーカーのメモリを使う、または1つだけ使用する。
3.メモリの質が良くない > メモリを交換する。
4.熱の問題(夏場だけ起きる) > ケースファン交換など PC内の熱対策をする。
5.メモリをしっかり挿していない、または他のデバイスとの互換性が悪い
   > メモリをしっかり挿し直す、または別のスロットに挿してみる。
  6.HDDの記録領域に問題がある > ハードディスクの完全エラーチェック又は交換してみる。
 経験的に O/Sパーティションが SSDの場合、5年以上使い続けたり、電源を切って長期保存後の最初の立ち上がりでエラーが起きる、夏場にエラーが多いようなら SSDを疑った方がいいと思います。SSDは「消耗品」です。
7.デバイスドライバの問題 > ドライバの再インストール、OSをインストールしたばかりなら  まず、一番先にチップセットドライバをインストールすべき。
8.アプリケーションが壊れている > アプリケーションの再インストールやアップデート。
9.アプリケーションにバグがある > バグに対する更新があるならば更新、または最新のバージョンに更新。
10.アプリケーションとシステムの互換性が悪い(特に超古いアプリを使用している場合)
 > アプリケーションの更新、または互換モードを使用してみる。
11.アプリケーションとアプリケーションとの間で競合が起きている 
 >もし最近インストールしたアプリケーションがあるならばアンインストールして様子を見る。
12.アプリケーションが使用するその他のアプリケーションに問題がある
 >例えば特定の形式の動画などを見るとエラーが出る場合は、そのコーデックに問題がある可能性もあり。
13.ウイルスに感染 > 全面的に検査し、ウイルスの駆除する。
14.ウイルス駆除ソフトがシステム、または他のアプリケーションとの間で競合が起きている(相性が悪い)
 >常駐保護などの機能があるウイルス駆除ソフトは常にシステムを監視しています。
  問題が出る前にインストールしたアプリケーションをアンインストールしてみる。
15.OS自体に問題がある > 時にOS自体にもバグがあることがあって「システムの更新」で治ることがあります。
 更新プログラムなどは、こまめにチェックしましょう。
 どうしてもだめな場合は O/Sの再インストール。


3. メモリの競合
デバイスやアプリをインストールすると、レジストリにそれらの情報が登録されるが、その際何かの拍子にOCXやDLLの登録情報が書き換えられてしまっている場合の解決策。
方法は、まずコントロールパネルを開いて右上の検索窓に「復元ポイント」と入力して検索し、「システムの復元ポイントの作成」を開き、C:ドライブを選択して「復元ポイント」の作成ボタンを押す。
次に全てのプログラムを閉じてから 「Windowsキー」+「Rキー」を押して「ファイル名を指定して実行」ダイアログを表示させ(Win10は Cortanaでも可)、「cmd」とタイプしてコマンドプロンプトを起動。
まず システムフォルダの OCX(Windows用プログラム部品の OLEカスタムコントロールファイル *.ocx )をレジストリに再登録する
1.for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1
と入力してEnter。
続いて、ライブラリの *.dll をレジストリに再登録する。
2.for %1 in (%windir%\system32\*.dll) do regsvr32 /s %1 
と入力してEnter。
・・・終わるまで数分待つ。 アプリをインストールしたり、アンインストールしたり、バージョンアップしたりすると ほとんどの場合 レジストリが書き換わるが、その際何かの拍子にOCXやDLLの登録情報が書き換えられることがあるので、それらを再登録してみる。 数分すると終了するので、再起動して様子をみる。



4. 知っているようで知らないシステムファイルチェッカー の機能
「ファイル保護」というのは聞いたことがあると思うが、システムファイルが書き換えられないように保護すること。詳細は上記リンク先を参照。
(.dll、.exe、.ocx、.sys 拡張子の付いたファイルや特定のフォントなど)サービスパックや修正プログラムをインストール、OSのアップグレードをした時などに保護されたファイルが置き換えられると「ファイル保護」によって元のファイルを復元する。
この「ファイル保護」も場合によっては機能しないこともあり、システムファイルが壊れることがある。
例えばコンピュータの管理が起動しない、ディスク管理も開けないなどなど。
今回は特に Windows7 以降のシステムファイルが壊れた時に修復に使う命令を紹介。
コマンドプロンプトを管理者権限で開いて「sfc /scannow」 と入力してEnter。(全て半角、sfc の後に半角スペース1つ開ける)
すると、システムファイルのチェックが始まる。

約10~20分程でチェックが終了する。ディスク管理が開けなかった場合も、もう一度開けば起動するようになる。
「整合性違反を検出しませんでした」と表示されれば問題ないことになる。
システムの調子が悪い時など、これを実行すれば元に戻る可能性がある。
システムファイルチェッカーを使うと今までに削除したコンポーネント(Windows Messengerなど) 圧縮ファイル(zip)の無効なども復元されるので、高速化などで無効にした場合はもう一度設定する必要がある。



5.必要のない「ActiveX」を削除する。
Active-X とは Internet Explorerなどのブラウザ上で特殊な表示などの各種の拡張機能を実行するプログラムの一種。 Webブラウジングをしていると知らず知らずのうちに必要のないものが勝手にインストールされてしまうが、中には一度しか利用しなかったり、悪意のあるものもあるのでチェックした方がいい。
操作方法は、Explorerで「C:\Windows\Downloaded Program Files」ディレクトリを開いて不要なものを削除する。「要・不要」の判断が難しいが右クリックしてプロパティ画面でチェックして判断する。
判断が付かなければファイル名の上で右クリックして「ファイル名の変更」からファイル名を変えてみる。戻す場合のことを考えて 一旦名前の頭に”_”(アンダーバー)などの文字を追加してシステムから見えなくすることをお勧めする。問題あった場合には その”_”を削除してもとに戻し、問題なければそのままファイルを削除すればいい。
因みに私の場合、Chromeをメインに使っており、e-Tax申請や Javaの実行が必要など限られた場合以外使わないのでこのフォルダは空になっている。



6.メモリの読み書きに関係するサービスの修復
「Windows Management Instrumentation」というサービスがエラーを起こすとメモリの読み書きエラーが出る。
なので手動で「Windows Management Instrumentation」を修復する。
手順はマイコンピュータを右クリック>管理>サービスとアプリケーション>サービスから、
「Windows Management Instrumentation」を探し、サービスの一時停止をクリック。(間違えないように)
画像は Windows10の場合
確認ダイアログが表示されるので「はい」をクリック。
次に C:>WINDOWS>system32>wbem>Repositoryを開いて Repository フォルダの名前を ”_Repository” に変更する
変更したら再起動すれば「Windows Management Instrumentation」サービスは正常に起動する。



7. メモリ診断実行方法(Windows7~)
説明する前に水を指すようなことを言うのも心苦しいが、このメモリ診断を一回実行して「問題なし」と言う結果になっても、メモリが不良ではない、と言う保証はない。というより一回の診断で見つかるようなメモリ不良ならほとんどPCとして動作しない、と言っても過言ではない。多くのアプリ(特に動画や画像処理系、或いはタブを何十個も開いたブラウザ)を同時に起動しておいて、PCに負荷をかけてから何回も診断を実行して、やっと見つかればラッキーというくらいだと思う。因みに私は一回も不良と診断されたことはない。
[コントロールパネル]-[システムとセキュリティ]-[管理ツール]をクリック
分からなければ[コントロールパネル]や[設定]の検索窓に「管理ツール」と入力する。
「管理ツール」画面の「Windows メモリ診断」をダブルクリック
(Windows10 では コントロールパネルの右上の検索窓に「メモリ診断」と入れて検索する)
「Windowsメモリ診断」画面で[今すぐ再起動して……(推奨)]をクリック
一旦シャットダウンして再起動後にメモリーのチェックが始まる。実行中は何もせず、終わるのを待つ。
メモリーのチェックが終了するとWindowsが自動的に再起動し、タスクバーの通知領域に結果が表示される。

ここでメモリに異常が見つかったら新しいメモリに交換するしかない。
なお、異常が見つからなくてもメモリ不良が「真っ白」と言うことにはならない。DRAMはごく僅かの電荷を蓄積してその状態を記憶するもので、温度等によって微妙に変化する場合もあるので、動画を再生するなどした後で、何回か繰り返し実行してみた方がいい。
なお、上記のような Windows O/S上からのテストでは、すべてのメモリを徹底的にテストすることは出来ないので、専用O/Sのツールを使う。これだと怪しいものもすべて検出されそうで怖いが、作業中に不具合がおきるよりはマシ。



8. Windows10にアップグレード後メモリーや DLL関連のエラーが出るようになった場合は、タッチパネル/タッチパッドなどの入力デバイスのデバイスドライバーが悪さしている事が多いようです。
その場合、(タッチパネルなどを使っていなければ)関連のサービスを停止することで回避できます。
方法は、「Ctrl」+「Alt」+「Del」キーを同時押しして、「タスクマネージャの起動」をクリックします。
サービスタブを開いて「名前」をクリックしてサービスをアルファベット順に並べてから、「Touch Keyboard and Handwriting Panel Service」や 「TabletInputService」など関連のサービスがあればその上で右クリックして「停止」を選択します。
もしタッチパネルなど関連のデバイスを利用している場合は一旦停止してみて、現象が出なくなるならそのサービス関連に問題が有るので、デバイスドライバーなどを更新します。


なお、私の情報はなるべく正確に記述するように意識しているが、記述の正誤にかかわらず、結果の責任は負わないので、参考にする場合は自己責任で。特にメモリエラーや HDDエラーの場合、操作によっては大切なデータを失ったり、却って回復不能な症状を引き出したりする可能性もあるので、データのバックアップやシステムのバックアップ、最低でもシステムの復元ポイントの設定は必須。


Access Counter:  総アクセス数


趣味人 必携の商品が楽しめます
ドローン、ウェアラブルカメラ、デジタル機器など面白い商品の超破格値海外通販!
★購入には Paypalのような決済手段が安全です★