メモリの Read エラー対策


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

多くの場合は、再発することもまれで偶発的なエラーかな?と思ってしまうのだが、中には頻発して作業に支障をきたす場合もある。そうした場合の対処をまとめてみた。
最新の Windows10による問題も追加しました。(2017/03/21)


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

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


1.メモリの品質不良
診断方法:メモリ診断をしてみる*1・メモリを交換してみる
原因:発熱や電源ノイズなどの外部要因、メモリセルそのものの不良など

2.メモリモジュールの特性不一致
解決方法:2枚セットのメモリモジュールが異なるブランドを使用している場合は、同じメーカーの同じ規格のメモリに交換

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

4.ハードディスクエラー
解決方法(HDDのエラーチェック、またはハードディスクの交換)
原因:HDD上のプログラム番地などが転んでしまってアクセス禁止のアドレスを指示した

5.アプリケーションバグ:ある組み合わせの場合に不正なメモリ番地を指示する
解決方法(新しくインストールしたアプリやデバイス(周辺機器)のドライバーをアンインストールしてみる、またはエラーの出るアプリケーションの再インストール)
結構有名なものに、Office 2007 付属の IMEがあったりします。

6.アプリケーションの競合
解決方法:いつも同じアプリケーションの実行中ならそのアプリケーションを再インストールしてみる。

7.互換性の問題(元々対応していないO/Sバージョンや デバイス上でアプリを実行させた)
解決方法:新しくインストールしたハードウェアを確認する。

これらはほんの一部で、実際に起きるのはもっと多くの場合があるはず。



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


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

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


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~)
[コントロールパネル]-[システムとセキュリティ]-[管理ツール]をクリック
「管理ツール」画面の「Windows メモリ診断」をダブルクリック
(Windows10 では コントロールパネルの右上の検索窓に「メモリ診断」と入れて検索する)
「Windowsメモリ診断」画面で[今すぐ再起動して……(推奨)]をクリック
一旦シャットダウンして再起動後にメモリーのチェックが始まる。実行中は何もせず、終わるのを待つ。
メモリーのチェックが終了するとWindowsが自動的に再起動し、タスクバーの通知領域に結果が表示される。

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

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


Access Counter:  総アクセス数


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