Windows メモリ診断をHDD起動にする

 パソコンに装着したメモリがおかしいと感じた場合に、よく使うソフトとしてはmemtest86なんかが有名です。ところが、マイクロソフトも同様のツールを公開していると言うのが分かりました。
 私のパソコンはフロッピーが標準では内蔵されていないのでUSB接続しなければなりませんでした。普段は滅多に使いませんので奥深い所に仕舞ってあるのでこれを取り出すのは一苦労です。
 また、このソフトはCD-ROMから起動できるのですが、私のパソコンではCD-ROMはIEEE1394接続で、CD起動はできないのです。これを実現するには2台目の内蔵HDDを取り外してCD-ROMドライブと交換する手間が発生します。このドライブも奥深くにあったりします。
 そこで、ハードディスクから起動できないか試行錯誤して、その方法を見つけましたので公開します。
 実現するには、バイナリエディタが必要です。不用意に行うとパソコンやデータを壊しますのでご注意ください。

Windows メモリ診断 ダウンロード先

 Microsoft オンライン クラッシュ ダンプ解析サービス という次の所からダウンロードします。
http://oca.microsoft.com/ja/windiag.asp

mtinst.exe の実行と専用起動フロッピーまたは専用起動CD-ROMの作成

mtinst.exe がダウンロードされます。これを実行するとFDに書き出すか、またはISOイメージをHDDに書き出します。その後ライティングソフトでCD-ROMを作ります。

ソフト本体を取り出して配置

 作成したフロッピーやCD-ROMを見ると、WINDIAG と言う拡張子の無いファイルが出来上がります。このファイルを C:\ にコピーします。

回復コンソールをインストールします

 Windows2000やWindowsXPなどには回復コンソールが付いています。これは普通はインストールされていないと思うので、これをインストールします。インストール方法はヘルプの中を回復コンソールで探すか、パソコンメーカーのWebなどで調べてください。実際に必要なのはこの中の cmldr と言うファイルと、BOOTSECT.DAT と言うファイルの2つだけです。

回復コンソールのブートシーケンス

 回復コンソールがどのように起動するかは、私の勝手な予想ですが、次の通りです。
HDDのMBRよりブートし、BootSectorを読み、ntldrが呼ばれます。ntldr はBOOT.INIを読みます。ここで回復コンソールを選ぶと、そこには次のような行があります。
C:\CMDCONS\BOOTSECT.DAT="Recovery console" /cmdcons
""で囲まれた部分は適宜読み替えてください。これは=の左にあるファイルをブートセクターとみなして実行すると言うことを意味しています。そして、/cmdcons と言うパラメータで実行するわけです。

Windowsメモリ診断を実行させるシーケンス

 それで、回復コンソールのシーケンスを利用させてもらってWindowsメモリ診断を実行させようと言うのです。BOOT.INIに行を追加して、ブートセクタに飛ばし、その後Windowsメモリ診断に飛ばします。BOOTSECT.DAT のあとに、どうして回復コンソールが起動するかというと、BOOTSECT.DAT の中にそのファイル名が入っているからで、ここを書き換えてやるとメモリ診断を起動させることができます。
 

BOOT.INIの編集

 BOOT.INI の最終行に次の1文を追加します。
C:\WDIAG\BOOTSECT.DAT="WINDIAG(HDD)"

 もうこれで意味の分かる方はそれを実行してください。では、拝聴ありがとうございました。
















これで終わりってわけには行きません。。。よね。

フォルダ作成

 別にフォルダを作らなくも良いと思いますけども回復コンソールに習って作っておきます。C:\ に WDIAG と言うフォルダを作ります。これはファイル名と同名では作れないので、短くしました。

BOOTSECT.DAT をコピー

 回復コンソールをインストールすると、cmldr と言うファイルは勝手に C:\ に作成されます。このファイルは必要ですので放っておきます。そして回復コンソールで必要となるファイルは、 C:\cmdcons に作られますので、このフォルダの中の BOOTSECT.DAT を先ほど作った WDIAG フォルダにコピーします。

WDIAG フォルダの BOOTSECT.DAT を編集

 WDIAG フォルダの BOOTSECT.DAT を編集します。間違って回復コンソールのフォルダのものを使わないように気をつけましょう。間違ってしまっても、回復コンソールが使えなくなるだけで、再度回復コンソールをインストールすればいいので失敗しても致命的ではありません。
 ここでバイナリエディタを使います。この中に次のようなデータがあります。

00000200 : 05 00 43 00 4D 00 4C 00 44 00 52 00 04 00 24 00 : ..C.M.L.D.R...$.

これが、cmldr を呼んでいる部分です。ユニコードで記述されているので1文字飛ばしのように感じます。ここを次のように変えます。

00000200 : 05 00 57 00 49 00 4E 00 44 00 49 00 04 00 24 00 : ..W.I.N.D.I...$.

本当はここはファイル名にしたいのですけども、文字数を増やすと位置がずれて誤動作する恐れがありますので CMLDR と同じ5文字以下にする必要があります。Windowsのバージョンやサービスパックが異なると修正する位置は変更になる場合がありますので適宜見つけてください。

WINDIAGのファイル名変更

 フロッピーやCD-ROMから c:\ にコピーしておいた WINDIAG のファイル名を上の編集した WINDI に変更します。

これで再起動するとメニューに追加されているのでそれを選択するとWindowsメモリ診断が起動できます。

| このページのTOPへ移動 |