考えてみてください:Memtest86は、RAMの大きさ、後で比較するためにRAMに入れるもの、画面を更新する場所、およびその他の多くの情報に関する情報を保存する必要があります。変数を使用するには、RAMが適切に機能している必要があります。しかし、欠陥のある可能性のあるRAMでプログラムを実行するときに、どのようにして信頼できる結果を得ることができますか?
まあ、これはMemtestが行うことです-さまざまな(既知の)パターンをRAMに書き込み、それを読み戻し、比較します。不一致がある場合、RAMを破損する必要があります。
これに例えると、チェックするハードドライブからハードドライブチェックプログラムを実行しています。あなたはそれを決してしないだろう、悪いブロックは多くの予期しない方法でプログラムに影響を与える可能性がある
これは事実ですが、選択の余地がない場合もあります。プログラムを正常にロードできる限り、(何らかの種類の障害のあるメディアで実行されている場合でも)診断タスクを実行できる必要があります。
Memtest86はどのように悪いRAMで機能しますか?
まあ、それは最初にメモリに自分自身をロードする必要があります。ほとんどの場合、このメモリは依然として良好です。それがある場合ではない、MEMTESTは、最も可能性の高いプログラム自体は、チェックサムといくつかのインプレース変数を比較することにより、破損していることを決定します。それらが一致しない場合は、RAMが不良であるか、ダウンロードしたコピーが破損していることがすぐにわかります(後者が原因かどうかを判断するのは簡単な作業です)。
TL、DR:Memtest86 +は、RAMの最初のメガバイトがまだ問題ない(ロードされる可能性が最も高い場所)と仮定してのみ機能します。この領域が破損していると仮定すると、Memtest86 +自体は単純に機能しません(これは、テストを実行していなくてもRAMが不良であることを示す非常に迅速な指標です)。