web-dev-qa-db-ja.com

Linuxマシンでの奇妙なmemtest86 / bootの問題

Intel Core 2Duoプロセッサを搭載したHPサーバーでDebianLenny64ビットを実行しています。 XFSルートパーティションがあるため、GRUB)ではなくLILOで起動します。今日まで3 GB(2x512MBおよび2x1GB)のECCRAMがありました。EDACからECCエラーが発生しています。たまにシングルスロットでしたが、クラッシュがなかったのであまり心配していませんでした。

今日、私はSeagateがそのマシンのmdadmのRAID-1にある2つのドライブ(データのみ、/ではない)に対して推奨するSeagateファームウェアの更新を試みました。起動に永遠に時間がかかっていたので、これを実行できなかった、またはそのディスクのREADME)に到達することさえできませんでした。うんざりしてシステムを再起動しようとしました。その後ハングしました。 LILOからの... sの3行。

私はおそらくECCエラーのためにいくつかの悪いRAMがあると思ったので、私は多くの異なる構成を試しました(6つのDIMM、前述の4つと2つの非ECC DIMM、明らかに同じではありません)時間)が、起動できませんでした。

不良RAMを切り分けることを期待して、memtest86を実行しました。これにより、memtest86のテスト#2で、使用したDIMMやスロットに関係なく、毎回まったく同じエラーが発生しました。最初に占有されたRAMスロットで常に3つのエラーを返しました。返されたエラーを理解することはできませんが、関連する場合はここでエラーを生成できます。

この後、メインディスクからDebianを起動しようとしても、「LILO」という単語は表示されませんでした。カーソルが点滅しているだけでハングします。これは、毎回メモリエラーが発生したという事実とともに、マザーボードまたはCPUに何か問題があると私に信じさせました。

しかし、非常に奇妙なことに、Knoppixは正常に起動し、問題なく実行されます。 Knoppixが32ビットでシステムが64ビットであるため、liloを実行できません。しかし、これは私に上記のもののいくつかに疑問を投げかけます-確かにKnoppixはRAMエラーまたは悪いプロセッサで実行できませんか?

2
Bryan

マザーボードのスロットが悪いようです。最初のスロットの使用をスキップできる場合は、それを試して、何が起こるかを確認してください。問題がなければ、問題はほぼ確認されています。

汚れた接点、スロットの汚れなどをチェックします。運が良ければ、それはとても簡単なことかもしれません。

予備のボックスを置いている場合は、そのボックスにRAMを入れて、memtestを実行し、何が起こるかを確認してみてください。

3
David

ディスク、ディスクコントローラ、またはコントローラが使用しているバスが疑われます。 LILOのLの前に失敗した場合は、LILOのパーティションが正常に読み取られています。 Knoppixはこれに対処する必要がないので、問題なく起動します。 Knoppixから何かをマウントできますか?

1
matt

私はDavidの分析に大いに同意します。
memtest86 (Ubuntu LiveCDからも)を使用してRAMエラー。
これら memtest86 +ページのトラブルシューティングノート も良い読み物です。

  • memtest86 +はメモリの安定性に重点を置いています
  • モジュールを変更しても同じアドレスの場所でエラーが発生する場合は、
    メモリスロットが原因である可能性が非常に高い
  • あなたは問題のエラーアドレスにテストを集中することができます
    memtest86画面の下部にあるシンプルなコントロールでテストサイクルを短縮します
  • memtest86がエラーを示した場合、他の上位層のチェックは価値がないので、メモリパスに焦点を合わせます
1
nik

メモリエラーは非常に「難しい」です。そのため、RAMに障害があってもソフトウェアが実行されることがあります。

エラービットは、エラーを引き起こさないようなものである場合があります。 1つの例は、これらの場所に、メモリアライメントを確保するために存在したが、ソフトウェアによって実際には使用されていない余分なデータビットが格納されている場合です。実際のプログラムを格納するために使用されたとしても、実際には必須ではない、またはプロセッサによってデコードされないのは、命令のビットだけである可能性があります。最近のほとんどのPCには、物理​​メモリと仮想メモリの場所を変換するメモリ管理ユニット(MMU)が搭載されています。したがって、障害のあるRAMはメモリの最初の部分ですが、RAMのその特定のブロックをアドレス指定しているソフトウェアによって本質的に使用されない場合があります。

ただし、他の人が言っているように、それはおそらく欠陥のあるスロットです。欠陥があることが判明した場合は、そのスロットの使用を避けてください。 RAMの固定領域である場合は、LinuxカーネルでBADMEM領域をマークすることにより、使用を回避できる場合もあります。

RAMエラーが戻ってきて、遅かれ早かれあなたを噛みます。

0
sybreon