オフィス街(青)

WindowsXpの話題

Windows Xp SP3インストール時に発生する無限ループ

 

1.gdi32.dll の不整合による場合

  gdi32.dllというのは、グラフィックス・デバイス・インターフェイスと呼ばれるプログラムです。拡張子がdllなので、プログラム部品、あるいは関数と呼ばれる場合もあります。例えば「GDI関数」のように呼ばれることもあります。線を描く、或いは色を塗るといったグラフィックの描画を中心とした機能をつかさどる、重要なプログラムです。

 不整合ですが、2008年4月8日のWindows XP 用セキュリティ更新プログラム (KB948590)を適用し、その後でSP3のRC版(製品候補版)をインストールしたときに起きるケースです。

 SP3の正式版は"5.1.2600.5512 (xpsp.080413-2111)"なのですが、正式版ではないRC版と呼ばれる製品候補版を導入したときに発生するようです。
マイクロソフトは正式版(ビルド番号5512)を出す前に、RC版として例えば3244や3311といったビルド番号の製品候補版を公開していました。

KB948590によってgdi32.dllが新しいバージョンに置き換えられますが、その後にSP3のRC版をインストールすると、本来ここでSP3のgdi32.dllに置き換えられるべきところRC版側のgdi32.dllのバージョンが低いため置き換えられず、KB948590のgdi32.dllつまり、SP2時代のものがそのまま残り、不整合が生じてしまうというものです。

 セキュリティ更新プログラム (KB948590)を適用していてもSP3正式版(ビルド番号5512)をインストールする場合は、この不整合の問題は生じないようです。それは、SP3正式版のgdi32.dllがKB948590のものより新しいバージョンであり、SP3インストール時に置き換えられるからです。

 ただ、未確認情報なのですが、SP3正式版の場合でもKB948590のgdi32.dllがそのまま残ってしまい不整合になるケースがあるのかもしれません。


●症状

次のようなエラーを表示した後、無限ループを繰り返します。

STOP:c0000139

The procedure entry point GdiGetBitmapBitSize could not be located in the dynamic link library GDI32.dll.

gdi32.dllのダイナミックリンクライブラリに存在すべき、プロシージャエントリポイント「GdiGetBitmapBitSize」が存在しません。


The procedure entry point SMapLS_IP_EBP_24 could not be located in the daynamic link library Kernel32.dll.

Kernel32.dllのダイナミックリンクライブラリに存在すべき、プロシージャエントリポイント「SMapLS_IP_EBP_24」が存在しません。


●対策

(1)セーフモード、若しくは回復コンソールで起動します。

(2)Windows\System32フォルダのgdi32.dllをリネームします。

   ren C:\Windows\System32\gdi32.dll C:\Windows\System32\gdi32.dll.old

(3)servicepackfiles\i386フォルダのgdi32.dllをSystem32フォルダの中へコピーします。

   copy C:\Windows\ServicePackFiles\i386\gdi32.dll C:\Windows\System32\gdi32.dll


(4)再起動し、エラーが解消されたことを確認してください。



2.intelppm.sysドライバがAMDプロセッサマシンにインストールされている場合

これは、CPU(プロセッサ)と、それを動作させるためのドライバソフトの組み合わせで、間違った組み合わせにしていると起きる問題です。
intelppm.sysというドライバソフトを導入すべきではないパソコンに、導入してしまった場合、SP2では問題なく動作していたもののSP3のインストール時に不整合を生じ、エラーになるというものです。このドライバソフトは「Intel Pentium M モバイル プロセッサ用」につくられたCPU(プロセッサ)を正しく動作させるためのソフトです。
CPU(プロセッサ)のメーカーとしては、インテルが有名ですが、AMDというメーカーもCPUを作っています。CPUの価格が大変安くなったのは、この2社が技術開発を行って適度な競争をしているためです。インテルが独占の時代はCPUは大変高価でした。CPUだけで、パソコンが1台買えてしまうくらいの価格の時代もありました。

このドライバソフトですが、

Intel製CPU用⇒intelppm.sys(注1)又はprocessor.sys
AMD製CPU用⇒amdk8.sys(注2)又はprocessor.sys

のように、CPUの種類によって、導入すべきドライバは異なっています。
ですが、AMD製CPUを使ったパソコンであるにもかかわらず、intelppm.sysを導入してしまったケースがあったために、今回このような不整合が生じてしまったようです。

(注1)SP2を適用していないパソコンではgv3.sysが使われている場合もあります。
(注2)CPUの種類によってはamdk7.sysが使われている場合もあります。

パソコンメーカーがパソコンを出荷する際、AMD製CPUを使ったパソコンであるにもかかわらず、intelppm.sysを導入して出荷した場合、SP2の環境では正常に動作していても、SP3をインストールしたタイミングで不整合が発覚するようです。


●症状

次のようなエラーを表示した後、無限ループを繰り返します。

STOP: 0x0000007E (0xC0000005, 0xFC5CCAF3, 0xFC90F8C0, 0xFC90F5C0) SYSTEM_THREAD_EXCEPTION_NOT_HANDLED


●対策

(1)セーフモーで起動します(パソコン起動時にF8押下)。

(2)regeditを起動します(スタート⇒ファイル名を指定して実行⇒regedit OK)。

(3)次のレジストリキーを見つけます。

   HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Intelppm

(4)右側のパネルで「Start」と書かれているエントリーを右クリックし「修正」を選びます。

(5)表記16進の状態で「値のデータ」に「4」を入力しOKをクリック。

(6)regeditを終了させ、再起動し、エラーが解消されたことを確認してください。


2008.6.11追記++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
マイクロソフトから、この問題を未然に防ぐための修正プログラムの公開がありました(6月9日)。
SP3をインストールする前に、適用しなければなりません。

Microsoft Updateカタログ
下記のサイトへアクセスする場合、インターネットエクスプローラの言語設定は「日本語[ja]」に設定してアクセスしてください。
「英語(U.S.)[en-us]」では日本語で表示されません(英語で表示されます。また英語版用のプログラムが表示されてしまいます)。

http://catalog.update.microsoft.com/v7/site/Search.aspx?q=953356

Windows XP 用の更新プログラム (KB953356)
最終変更日時: 2008/06/09
サイズ: 498 KB

説明: この更新プログラムをインストールすると、Intel 以外のプロセッサを使用しているシステムで Windows XP Service Pack 3 へアップグレードするとコンピュータが再起動を繰り返す場合があるという問題が修正されます。インストール後には、コンピュータの再起動が必要になる場合があります。

以下のサイトでも入手可能です。

http://support.microsoft.com/kb/953356

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SP2のときには問題なく動いていたのに、SP3にしたとたんに不整合が発覚するというのは、SP3におけるドライバーソフト整合性のチェックがより厳格になったということなのでしょうか。まあ、本来動作保証されるものではない「AMDプロセッサ+intelppm.sys」の組み合わせで動いていたほうが変なのかもしれませんけど。ただ、使うユーザとしては、今まで動いていたものをいまさら厳格なチェックというのは困りものなんですが...。


●参考サイト

Jesper's Blog(英語)
http://msinfluentials.com/blogs/jesper/default.aspx

You receive a “Stop 0x0000007E” error message after you upgrade to Windows XP Service Pack 2 or Service Pack 3 on a non-Intel-processor-based computer(英語)
http://support.microsoft.com/kb/888372/


Windows XP Service Pack 2 ベースのポータブル コンピュータでエラー メッセージ "STOP 0x000000D1" が表示される
http://support.microsoft.com/kb/888399/ja


別件ですが、「ワンセグチューナー」などもこの記事を書いている時点ではSP3には対応していないようです。SP3にしたところ印刷ができなくなった、よくよく調べたら、プリンターのドライバソフトがSP3に未対応だった...なんていう事も起こりかねません。SP3の適用は慎重に行ってください。SP2を適用済で、WindowsUpdateをコマ目に実施しているなら、SP3の適用は急ぐべきではありません。




 (2008年5月14日)

動け!Windows 」  Home >WindowsXP関連> Windows Xp SP3インストール時に発生する無限ループ


トップページ
コンテンツ一覧

6ヶ月カレンダー
今年のカレンダー
来年のカレンダー
万年カレンダー
西暦の豆知識
リンク