Windows XP ハングアップ地獄の改善
TROUBLE REPORT
Windows XP Professional のハングアップ
Microsoft 社の、Windows 2000 の後継にあたる OS、Windows XP Professional をインストールしてみました。が、数日ほど使ってみるとその落ちる頻度に唖然…。
電源を入れて、Windows Messenger をポップアップさせるとハングアップ。ほぼ 100% の確率で、再起動することなくそのまま固まってしまいました。
それがしばらく使って環境が変わっていくにつれて、ハングアップする頻度や場面が変わってきました。そのうちにアイコンをドラッグするとハングアップとか、スタートメニューを選択しているとハングアップとか…。
そんな感じで何かの拍子に何の操作も受け付けなくなってしまうこともあれば、使っていると突然、青画面になって Windows XP が強制的に終了してしまうこともありました。そのときはだいたい決まって、IRQL_NOT_LESS_OR_EQUAL というエラーメッセージが表示されていました。違う場合もありましたけど。
こんな調子が起動直後 10 分以内といった具合で続いていたので、いい加減に実用レベルとはいえない状況、なので安定稼動を目指してちょっと調べてみることにしました。結局、1週間以上かかって幾分ましなレベルにまで持っていけました/完璧じゃないですが ^^;
システム環境
今回のインストールに使用したコンピュータは、自作機の DOS/V コンピュータです。
稼動中でいろいろと試行錯誤をする前のシステムは下のようになっていました。マザーボード VP6 には、HighPoint Technology 社の HPT370 という RAID チップが搭載されていて、UltraATA/100 に対応しています。今回の Windows XP は、この HPT370 上のハードディスクから起動するように設定されています。
Mother Board | ABIT VP6 | ||
---|---|---|---|
CPU @0 | Intel Pentium III 1GHz | CPU @1 | Intel Pentium III 1GHz |
Memory @0 | nobrand DIMM 512MB | Memory @1 | nobrand DIMM 256MB |
Memory @2 | nobrand DIMM 256MB | Memory @3 | nobrand DIMM 128MB |
IDE0 Master | - | IDE0 Slave | - |
IDE1 Master | DVD-ROM | IDE1 Slave | - |
IDE2 Master | HDD 20GB | IDE2 Slave | - |
IDE3 Master | HDD 8GB | IDE3 Slave | - |
AGP | Matrox Millennium G400 Dual Head 16MB | ||
PCI @0 | IO-DATA GA-SV408 16MB | PCI @1 | Creative Sound Blaster Live Player |
PCI @2 | Adaptec AHA 2920C | PCI @3 | - |
PCI @4 | corega FastEtherII PCI-TX | ||
SCSI @0 | Panasonic LF-D102 |
この環境でコロコロと落ちまくっていたため、いろいろやってみて、結局落ち着いた環境は次のようになります。ただし、相変わらず IRQL_NOT_LESS_OR_EQUAL は発生してます。
けれどそれも、Norton Speed Disk を使用しているとき程度なので、まぁ、とりあえずは良しとしましょう。そのうち、何かしらのデバイスドライバが何らかの対策を講じてくれることでしょう…。
Mother Board | ABIT VP6 | ||
---|---|---|---|
CPU @0 | Intel Pentium III 1GHz | CPU @1 | Intel Pentium III 1GHz |
Memory @0 | nobrand DIMM 512MB | Memory @1 | nobrand DIMM 256MB |
Memory @2 | nobrand DIMM 256MB | Memory @3 | - |
IDE0 Master | - | IDE0 Slave | - |
IDE1 Master | DVD-ROM | IDE1 Slave | - |
IDE2 Master | HDD 20GB | IDE2 Slave | - |
IDE3 Master | HDD 8GB | IDE3 Slave | - |
AGP | Creative GraphicsBlaster RivaTNT 16MB SDRAM | ||
PCI @0 | - | PCI @1 | Laneed LD 10/100AL |
PCI @2 | BUFFALO IFC-USP | PCI @3 | Creative Sound Blaster Live Player |
PCI @4 | - | ||
SCSI @0 | Panasonic LF-D102 |
メモリスロット @3 からなくなっている 128MB SDRAM ですが、作業中に壊れてました…/爆。
そのほか、ビデオカードが Millennium G400 から GraphicsBlaster TNT に、SCSI インターフェイスが AHA-2920C から IFC-USP に変更してあります。
ソフトウェア面からのアプローチ
動作不安定といえば、一番思い当たるのが、デバイスドライバの不具合。ということで、疑わしいものを一掃するべく調べてみることにしました。
まずは corega FastEtherII PCI-TX という LAN アダプタ。これは VIA チップセットのため、Windows XP はディフォルトで "VIA VT86C100A-Based Fast Ethernet Adapter" として認識されていました。これでも正常にネットワークには接続できていたのですけど、やっぱり純正を…。ということで corega 社のホームページを見てみると、Windows XP 対応のものをダウンロードしないといけないとのこと。
さっそくダウンロードしてインストールしてみると、状況は一気に改善。目に見えて快適になるのがわかりました。
が…、数日使っていると、再びハングアップが多くなってきました。
次に疑いにかけられたのが、AHA-2920C という Adaptec 社の SCSI インターフェイスでした。このインターフェイスは、Windows 95 時代に非常にお世話になったインターフェイスで、ホームページ上でも Windows XP に標準でドライバが付属すると記述されていました。
けれど、自動認識では型が違うし、標準ドライバの中に一致する型がありません。Windows NT 4.0 のころは AHA-2940AU を使って正常に動いていましたし、XP でも自動認識のままで動くのでいいのかもしれませんが、あまり確実性のないものは避けたいので好感してみました。
そして選んだのが、IFC-USP というインターフェイス。これも互換ドライバを使用するのですが、ホームページ上にどのデバイスとして認識されるかが記載されていたので少しばかり安心でした。
ここまで対策を講じたところ、数日間は快適に使用できていたのですけど、再びまた不調な状況が訪れました。
これはとりあえず徹底的にデバイスドライバの更新をということで、VIA のサイトから Windows XP に対応しているという記載のある VIA Service Pack をダウンロードしてインストールしました。
また、イベントビュアに ACPI が IRQ9 あたりでエラーを起こしている記載があったので、いろいろと調べてみたところ VP6 の BIOS を YT にアップグレードすることで ACPI の不具合を修正できるということだったので、やってみました。以前に BIOS アップデートに失敗して、マザーボードが修理行きという経験があるのでどきどきしましたが、無事うまくいって、ACPI エラーもなくなったようです。
VP6 系の情報は ABIT のサイトではなく、VP6 のサイトを見るのがよさそうです。
そのほか、G400 の最新版ドライバを matrox 社のページからダウンロードしたり、HPT370 のドライバを HighPoint Technology 社からダウンロードしたり、Windows Update を利用したりして、気になる部分のデバイスドライバを更新してみました。
が、結局治りません。
Symantec Norton Utilities の Speed Disk を使用したり、Adobe Photoshop 5.5J で画像をペーストしたりすると9割くらいでハングアップしてしまいました。その程度ならまだよかったのですが、なぜか突然、スタートメニューをクリックすることでハングアップするという状況にまで陥ってしまうことになりました。
ここまで来て気になることといったら、通常起動の Windows XP では上記のような症状。VGA モードの Windows XP も同じような症状。唯一正常に見られるのが、Safe Mode で起動した Windows XP でした。
Safe Mode ならば正常に動くということで、msconfig というツールを使って構成を小さく絞ってみることにしました。
ためしに最小構成にしてとりあえず起動はしましたが、不具合があるかどうかの判断以前に、ネットワークログオンとかが何も出来ない状態でした。それを徐々に設定を増やしていって、ネットワークが使えるようになったあたりで、Windows の再アクティベーションを要求されてしまいました。
まさかこんなところで認証に引っかかるとは…。
さらに調べているうちに入った情報なのですけど、VP6 でも採用している VIA チップセットは AGP との相性が悪いのだとか…。それで VIA Service Pack の導入という形になったのですけどね。
ということは AGP との相性がわるいのか…、と考えていたら、どうやら G400 も VIA チップセットと相性が悪いということが http://www.amy.hi-ho.ne.jp/masuda/pc/G400/faqindex.html というサイトに載っていました。
ここを見るといろいろと参考になることが掲載されています。
まず、AGP の動作速度を AGPx2 から AGPx1 に強制的に変換することで安定することがあるのだとか。適切なドライバならば AGPx2 でもちゃんと動くこともあるし、また、逆に、突然不具合が復活したりするとのこと…。
また、AGP スロットを使用する場合は PCI の 1 番目のスロットを使用しないほうが、電源供給の安定性や IRQ の競合問題などを回避しやすくなるのだとか。また、BIOS で Shadow メモリの割り当てを解除したり、AGP Aperture Size を大きく設定することで、安定動作を期待できるかもしれないということです。
ということで、このあたりもいろいろと試してみました。
matrox の http://www.matrox.com/mga/support/drivers/files/ftp_util2.cfm から、Matrox Technical Support Tweak Utility をダウンロードして実行。そして AGP の動作速度を AGPx1 に変更してみましたが、あまりよくなったようには見えませんでした。また、AGP Aperture Size も大きくしてみました。BIOS の設定に Shadow メモリの設定が見当たらなかったのでそこはいじれませんでした。
このようなことをやってみても改善なし。これはビデオカードを交換しなくてはいけないのでしょうか…?
とりあえずこの G400 は古いので、G400 の BIOS をアップグレードしてみることにしました。
http://www.matrox.com/mga/support/drivers/bios/home2.cfm から setup254.exe をダウンロードして展開、その中の PBiosWin.exe を実行しました。そして念のため "Create a Matrox Emergency Disk" を選択して復旧用のフロッピーディスクを作成してから "Update the Matrox Graphics BIOS" を選択して、G400 の BIOS をアップデートしてみました。
これで AGPx1 と AGPx2 の両方を試してみましたが、両方とも玉砕でした。
G400 をインストールしたとき、サービスプログラムとして MGABGEXE というサービスも導入されています。これが何か調べてみたところ、どうやら G400 の BIOS が壊れてしまうのを防ぐものだそうです。G400 BIOS のアップデート時に復旧ディスクも作ったので、念のため、このサービスを停止させることにしました。
けれどこれも効果なし。既存のドライバや matrox 社が提供するドライバなどを試してみましたけど、これも効果なしでした。
ハードウェア面でのアプローチ
仕方ないので、ハードウェアを取り外したりして動作を確認することにしました。
とりあえず現行から徐々にアイテムを減らしていくことにします。まずは SoundBlaster。続いて IFC-USP。FastEtherII PCI-TX という順に取り外していき、その間に再起動と動作チェックをはさんで行きました。
そして、メモリの交換。
512MB 一枚だけにしてみたり、256MB 一枚だけにしてみたり、128MB 一枚だけにしてみたり…? なんとここで 128MB が壊れて認識されなくなっていることが判明。ただ、これも直接的な原因ではなかったのですけど。
そして、DVD-ROM ドライブを取り除いて、フロッピーディスクドライブを取り外して…。
けっきょく残ったのは、Pentium III 1GHz が2基と、G400、そして 512MB のメモリと VP6。
VP6 に搭載されている HPT370 というコントローラもありますが、これを起動ディスクのインターフェイスに使ってしまっているので取り外すわけにはいきません。この構成でもやっぱり、相変わらずの症状が発生してしまっています。
仕方ないのでビデオカードの交換です。
あまっていた AGP インターフェイスの、Creative GraphicsBlaster RivaTNT 16MB という、これも G400 を購入したころに買ったビデオカードです。これも AGP だったので少々不安でしたが取り付けてみました。
結果は×。
結局のところ G400 のときとなんら変わらない症状が発生しています。ドライバをダウンロードしてインストールしてみましたが、XP 対応なのにもかかわらず 16 色しか発色しないし…。けれど、互換アダプタのままなら、まぁまぁの好感触でした。
というのも、上記では特に触れなかったのですけど、G400 が載っていたときは、Windows XP の起動ロゴからログオン画面へ移るところで、砂嵐のようなノイズが画面に載ってしまっていたのですが、それがなくなっていました。
けれど物は試し。今度は PCI バス用の Millennium II を取り付けてみました。
AGP じゃ内から少しは違った結果をだすかとおもえば、そんなことはありませんでした。結果的には GB TNT の時と一緒で、画像は乱れないけれど、ハングアップの回避にまではいたりませんでした。
ほかのビデオカードはなかったので、ここは一番印象のよかった GB TNT を使用することに決めました。
あとまえまえから、電源ボタンを押しても時々起動できないという現象があったのですが、どうやら corega FastEtherII PCI-TX が接続されているときに発生しているようでした。なので、この際、買いだめしてあった Laneed LD-10/100AL という LAN アダプタに交換しました。
そうしたところ、スタートメニューも開けるようになってなんだか安定した感じだったので、改めてハードウェアをひとつずつ追加していくと、ちゃんとスタートメニューは使えるし、ほかも
…、あれ・・・、どこからかで、快適になって(スタートメニューが開けて)パーツを取り付けて要ったような…。
そのままを維持して、ADOBE チェックでボン。ADOBE サイトで Pentium III との相性を知る。直す。この件は感知。
けど、まだ時々とまる。それでも実用レベル。