メモリの Read エラー対策


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

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


<考えられる原因>
メモリの参照エラーの原因はたくさんある。
ユーザの手元で発生する代表的な不具合の現象は
1.メモリの品質不良  診断方法:メモリ診断をしてみる*1・メモリを交換してみる
発熱や電源ノイズなどの外部要因、メモリセルそのものの不良など
2.メモリモジュールの組み合わせ不良  解決方法:同じメーカーの同じ規格のメモリに交換
3.メモリモジュールのコネクタの接触不良  解決方法:メモリの挿抜か別のコネクタへ挿入
4.ハードディスクエラー。  解決方法(HDDのエラーチェック、またはハードディスクの交換)
  HDD上のプログラム番地などが転んでしまってアクセス禁止のアドレスを指示した
5.アプリケーションバグ:ある組み合わせの場合に不正なメモリ番地を指示する。  解決方法(新しくインストールしたものをアンインストールしてみる、またはエラーの出るアプリケーションの再インストール)
結構有名なものに、Office 2007 付属の IMEがあったりします。
6.アプリケーションの競合  解決方法:いつも同じアプリケーションの実行中ならそのアプリケーションを再インストールしてみる。
7.互換性の問題(元々対応していないO/Sバージョンや デバイス上でアプリを実行させた)  解決方法:新しくインストールしたハードウェアを確認する。
これらはほんの一部で、実際に起きるのはもっと多くの場合があるはず。


方法は、まず全てのプログラムを閉じてから 「Windowsキー」+「Rキー」を押して「ファイル名を指定して実行」ダイアログを表示させ、「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の登録情報が書き換えられることがあるので、それらを再登録してみる。 何分かすると終了するので、再起動して様子をみる。
http://nagabuchi.jugem.jp/?eid=123


パソコンの主要部品のメモリ(D-RAM)は業界標準化団体が策定した標準規格にそって製造・検査されて出荷されるが、その規格に則った製品でも相性などの不具合は多い。理由はいくつかあるが、根本的には半導体のプロセスルールが進歩すればより集積度を上げてコストダウンするために、マージンはぎりぎりまで削られ、メーカーによってはほんの僅かのプロセス条件の変化で規格を割ってしまうこともありうる。それらが検査をすり抜けて市場で売られる可能性は否定できない。
1.メモリ自体が壊れている > メモリを交換する。 2.メモリが2つあり、互換性が良くない > 同じメーカーのメモリを使う、または1つだけ使用する。 3.メモリの質が良くない > メモリを交換する。 4.熱の問題 > PC内の熱対策をする。 5.メモリをしっかり挿していない、または他のデバイスとの互換性が悪い   > メモリをしっかり挿し直す、または別のスロットに挿してみる。 6.デバイスに問題がある > ハードディスクを交換してみる。 7.ドライバの問題 > ドライバの再インストール、OSをインストールしたばかりなら  まず、一番先にチップセットドライバをインストールすべき。 8.アプリケーションが壊れている > アプリケーションの再インストール。 9.アプリケーションにバグがある > バグに対する更新があるならば更新、または最新のバージョンに更新。 10.アプリケーションとシステムの互換性が悪い   > アプリケーションの更新、または互換モードを使用してみる。 11.アプリケーションとアプリケーションとの間で競合が起きている   >もし最近インストールしたアプリケーションがあるならばアンインストールして様子を見る。 12.アプリケーションが使用するその他のアプリケーションに問題がある  >例えば特定の形式の動画などを見るとエラーが出る場合は、そのコーデックに問題がある可能性あり。 13.ウイルスに感染 > 全面的に検査し、ウイルスの駆除する。 14.ウイルス駆除ソフトがシステム、または他のアプリケーションとの間で競合が起きている(相性が悪い)  >常駐保護などの機能があるウイルス駆除ソフトは常にシステムを監視しています。   問題が出る前にインストールしたアプリケーションをアンインストールしてみる。 15.OS自体に問題がある > 時にOS自体にもバグがあることがあります。  更新プログラムなどは、こまめにチェックしましょう。  どうしてもだめな場合は再インストール。
こんにちは、みなさん知っているようで知らない「SFC」(システムファイルチェッカー)の機能
みなさん「ファイル保護」というのは聞いたことがありますよね?
知らない人のために簡単に説明したいと思います。
「ファイル保護」とは、システムファイルが置き換えられないように保護します。
(.dll、.exe、.ocx、.sys 拡張子の付いたファイルや特定のフォントなど)
サービスパックや修正プログラムをインストール、OSのアップグレードをした時などに
保護されたファイルが置き換えられると「ファイル保護」によって元のファイルに復元されます。
この「ファイル保護」も場合によっては機能しないこともあり、システムファイルが壊れることがあります。
例えばコンピュータの管理が起動しない、ディスク管理も開けないなどなど。
今日は特にWindows XPのシステムファイルが壊れた時に修復に使う命令を紹介します。
Windows7 はCDなしでも実行可能。
これは、XPのインストールCDを持っている人に限ります。
手順は、まずXPのインストールCDをCDドライブに入れ、ファイル名を指定して実行に sfc /scannow と入力してEnter。(全て半角、sfc の後に半角スペース1つ開ける) すると、このような画面が出てシステムファイルのチェックを始めます。 約10分程でチェックが終了します。ディスク管理が開けなかった方も、もう一度開けば 起動するようになります。 システムの調子が悪い時など、これを実行すれば元に戻る可能性があります。 システムファイルチェッカーを使うと今までに削除したコンポーネント(Windows Messengerなど) 圧縮ファイル(zip)の無効なども復元されますので、高速化などで無効にした方は一部は もう一度設定する必要があります。
1.必要のない「ActiveX」を削除する。
インターネットをしていると知らず知らずのうちに必要のないものが 勝手にインストールされてしまうので一度調べてみましょう。
2.メモリの読み書きに関係するサービスの修復
「Windows Management Instrumentation」というサービスがエラーを起こすと メモリの読み書きのエラーがでます。 なので手動で「Windows Management Instrumentation」を修復します。
手順はマイコンピュータを右クリック>管理>サービスとアプリケーション>サービス 「Windows Management Instrumentation」を探し、サービスの一時停止をクリック。(間違えないように)
次に C:>WINDOWS>system32>wbem>Repositoryを開いて Repository フォルダの 中身をすべてコピーしてどこかに保存しておきます。(何かあった時に戻せます) そして、Repository フォルダの中身をすべて削除。 削除したら再起動すれば「Windows Management Instrumentation」サービスは 正常に起動します。

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

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




Access Counter:  総アクセス数


  Y.Nakajima's Top Page
 one of 技術屋 のページ
  >Memory Error対策<