ライトブログ

どれかキーを押すと,続行します.

0x00000124との戦い 正しい答えはあるのか編

前回の記事からちょうど9か月となる。 時の流れは早いものだ。

9か月がたつので、ここまでの経緯を書いておこう。 とある団体にあるAcerのPCが、この謎のブルースクリーンを出したことが この記事のきっかけともなった。分析の途中、KP41病との関係があるのではとか、 バス/相互接続エラーという謎のエラーが出現するなど、いまだ数々の謎が 残されている。前回の記事 0x00000124との戦い 分析編 は6月に更新したにも関わらず、 この記事を書いている3月になってもこのブログで毎日1位を取っている記事だ。 GoogleAnalyticsで月間600アクセスを超えるほど。

更新してから約半年がたった11月、E701A7Bも同様のエラーを出してしまった。

今回は、E701A7Bにおいて、この問題を解決できた気がするので、それを 書いていくことにする。

結論から言うと、「PCを買い替えるほうが早い」ということだ。 ただ、ここで注意してほしいのは、上の文章の意味は、必ずしも PCのハードウェアに原因があると言っているわけではないということだ。 時間的な意味で、こう言っている。

ここからは、E701A7Bでとった方法を順を追って説明していく。

11月にエラーが出て、さまざまな情報を調べ、分析をした。 実家に置いてあるPCで、東京にいる私は普段はコントロールできないもの なので、直るとしてもそれまでだましだまし使うのは良くないと思って、 ハードウェアの寿命が来たのかなと割り切ることにした。 そこで新しいPCを作って実家に置いてある。 (これはまた別な機会に)

12月の終盤に冬休みに入って、実家に戻った時、このエラーについて検証を 進めていた。 E701A7Bで出ている0x124の状況は、ハードウェア構成で違う部分を除いて ではあるが、前回の更新のきっかけともなったAcerのPCと同じだった。 0x124が発生する前に、KP41病が発生していることも、BSODのエラーの原因 と疑われているファイルがhal.dllとntoskrnl.exeであることも一致している。

BSODとか致命的なエラーが出ると、まずOCを止めろということは当たり前の話 だが、メーカー製PCである以上、OCなんてやってない。 原因をちまちまと探していくしか方法はないということだ。

さて、ここでいったん自分のスタンスを書いておく。 ①パーツ単体で買うなら、いっそのことPCを買い替えるほうがいい。 E701A7B(2008年発売)用のパーツを買うぐらいだったら、最新のパーツで 新しいものにしたほうがいいってことだ。 ②抑えられるだけコストは抑える。 ソフトウェアや設定が要因の可能性があるなら、ハードウェアを交換しない 範囲で可能な限り修復を試みる。 ③長い時間がかかるものは、自分の天秤にかけてから決める。 OSの再インストールとか、リカバリとかは、自分の余裕時間や、ほかのことと はかりにかけながら判断する。 ④安いコストで直せる可能性があるなら、賭けてみてもいい。(例外) そのPCに賭けられる額より下なら、パーツを買ってもいい。ただ、どうせ 買うなら今よりも性能を上げられるようにしたい。

こんな感じだろうか。考えてから行動するタイプなので、複雑になる。 論理が先行するので、決断にはちょっと時間がかかる。

話を元に戻そう。 12月27日。 0x124で、KP41病が出ているという状況なので、電源関係に障害があるのでは と推測した。 この場合、ソフトウェアレベルでいえば電源オプションの設定や、電源管理 に問題がある。すなわち、HAL.DLLに関連してくる。 ハードウェアレベルでいえば、電源ユニットと、キーパーツともいえるM/Bが 挙がってくると思う。CPU等が問題になってくるケースもあるが、稀であろう。

この推測を考えた時点で、問題がハードウェアレベルだった場合はPCを 捨てることに決めた。 なぜなら、いまどきCore2Duoを買うとか、ほかのパーツを買い替えるというのは 意味がないからだ。メモリはこの間の七変化事件の後に交換して Memtestも問題なかったから、最初から疑ってない。 電源ユニットとM/Bに至っては、専用品なので、代替品を入手することすら 難しいし金がかかる。それはスタンスに反する。

まず見なおしたのが、電源設定だ。 といっても、ノートPC用の省電力設定をOFFにするだけだ。 しかし、数日後にHAL.DLLでBSODが出てしまった。これではない。

ということは、OSの核の部分に障害が出ているのだろうか。 といっても、当てにならないBSODの情報を鵜呑みにして、HAL.DLLを 修復するなんていうことはできない。単純に考えても4種類あるし、 Windowsシステムについて全然知らない自分がやってもより傷を深くするだけだろう。 個人のファイルとかはすでにバックアップしているし、ネットで調べながら 検証できるように隣にSH67H3がある状況だったので、Windows7の再インストールを決断。 途中、WindowsVistaに戻せば直るんじゃねとか思って、リカバリが できないか試したが、システム回復オプションに、「SOTECリカバリツール」 の文字がどうやっても表示されず、リカバリパーティションが起動できない ことが判明。原因はWindows7をインストールしたことで、システム回復オプション の内容が書きかえられてしまったことだと推測。 ドライバのバックアップとかを進め、新規でインストール。 WindowsUpdateとかを済ませ、4日ほど適当に使ってみた。 がしかし、HAL.DLLでBSODが発生。

ソフトウェアレベルでできる最強手段のOSの再インストールも効かない。 リカバリも起動できず、WindowsVistaに戻すこともできない。 が、ハードウェアレベルの処置はしなくない。 完全な手詰まりの状況に陥ったまま、新年を迎え、新しいPCを設置したときには、 東京に戻らざるを得ないタイミングになる。

この時点で、私の頭の中で重要なことは0x124の解決よりも、WindowsVistaに どうやって戻すかになっていた。Vistaに戻せば、0x124の解決も できるのではと思ったからだ。

E701A7Bのリカバリは、DtoDで行われる。ただ、リカバリツールを起動させる には、システム回復オプションを出さないといけない。しかし、それはPCに プレインストールされているVistaのHomePremiumSP1の場合に限る。 AnytimeUpgradeとか、ほかのOSをインストールした場合、システム回復オプション に「SOTECリカバリツール」の文字が表示されず、リカバリできなくなってしまう。

そこで登場するのが「WindowsVista修復CD」と呼ばれるものである。このCDには 「SOTECリカバリツール」を起動させるために必要なプログラムが入っている。

しかし、このCDを持っていないので、リカバリツールが起動できない。 仕方ないので、ヤフオクで検索してみたらちょうど出品されていた。 (こんなところで運を使いたくなかった。) たかがCDごときに5,000円も払いたくなかったが、直すためには 必要と思って、落札。

運よく特定のPCのリカバリ用のCDが入手できたなとか思っていたが、 よく考えるとこれは違うことに気付いた。 CDのレーベル面にはこのように書かれている。 ----------------------

本ディスクは、WindowsVista®のシステム回復オプションの起動とハードディスク リカバリを修復させることができます。尚、ハードディスクリカバリに必要な ファイルが破損している場合は、リカバリを正常におこなうことはできません。 (以下略) ----------------------

この時期に発売されたSOTECのPCには、大体このCDが付いている。 PCごとに専用になる「リカバリツール」が入ったリカバリディスクを作るよりも、 共通の「リカバリツールを起動する」という工程だけが入ったディスクを 作るほうが、「規模の効果(=スケールメリット)」が発生して1枚当たりのコストが下がる。 たくさん同じものを作って、たくさんの別な種類の製品に添付する。 いわば、共通部品化ともいえる。この部分で汎用性を高めたことが、 ヤフオクにもちょくちょく出品されている要因でもあるだろう。

これに気付いた時には思わず「なるほど」と思った。

暫くこの余韻に浸った後、CDからリカバリツールを起動してVistaに戻した。 SP2までアップデートした後、放置していたが、障害はでなくなった。 負荷をかけてみても、アイドル状態で放置しても何も起きない。 これで解決?なのかな。そう思う。

ただ、今回気付いたのは、もしかして電源タップが原因?ということだ。 Windows7で原因解明が難しいKP41病が、電源タップの交換で直った というケースも数件報告されている。 今回の場合も、7の再インストールをしたときの環境と、Vistaリカバリしたとき の環境では、違う部屋で違う電源タップにつないでやっていた。

Vistaに戻したことが功を奏したのだと考えるのが筋だが、 電源タップを交換するという妙薬が効いていたとすればWindows7のままでも 問題なかったのではとちょっと思った。

今はもう電源タップはゴミに捨ててしまったし、E701A7Bは売ってしまったため、 これ以上の検証はできない。

0x00000124の問題で分かったことは、一気に直すことが必要ということだ。 このエラーはハードウェアとハードウェアに近いソフトウェアの部分 (各種のドライバやHAL.DLLなどWindowsの核となるファイル)のどこかで障害が起きた ときに表示される汎用のエラーであり、因を突き止めるのにかなりの 労力と時間とお金を使うからだ。

現に、0x124が発生するPCで0x00000101でBSODが出るという状況も報告されている。 これはCPUの初期不良やOCの電圧不足などが原因と言われている。

何度も言うが、原因の幅が広すぎるのだ。

真の自作erやWindowsのプロとかでない限り、原因を追及するよりも、 お金はかかるが新しいPCを買ったほうがいいというのが、本稿での 最終的な結論となる。 メーカー製PCの場合は、保証が切れてないのなら修理に出すのもいい。 切れているのなら、私だったら買い替えるだろう。

この記事にありついた方は、この障害の解決策が求めて来ておられる のだと思うが、私にはその希望に応えられるだけの能力がなかったことを、 この文面を借りて懺悔しておきたい。

2014/7/29 完全勝利。 0x00000124との戦い 1年1カ月の答え