2006-11-09

「MSGINA.DLLを読み込めませんでした。」

仕事場にノートパソコン(VersaPro.VY22X/RX-L)が持ち込まれる。使用OSはWindows XP Pro.

起動するとWindows XPロゴ表示の後「SHELL32が見つかりません。」と表示され、次に「ライブラリ SHLWAPI.DLL から見つかりませんでした。」と出て、最後にはメッセージ「ログオンユーザーインターフェイスDLL MSGINA.DLLを読み込めませんでした。システム管理者に問い合わせてDLLを置き換えるかまたは元のDLLを復元してください。」となる。[再起動]ボタン表示で唯一の選択肢が示される状況。リブートしてセーフモード起動を試すもログオン画面の手前で上記メッセージが表示され同じ状況に。

毎度の事ながら今回も「Windows回復コンソール」のお世話になって復旧を試みる。とりあえずWindowsXPCD-ROMからブートし、R[復旧]を選んで回復コンソール起動、C:\WINDOWS\SYSTEM32に入ってみると「dir shell32.dll」を実行しても「ファイルが見つかりません」という表示。そこで健康な別PCからのSHELL32.DLL移植を試みる。ついでにSHLWAPI.DLLとMSGINA.DLLも壊れている可能性が高いので一緒にコピーする事に決定。

方法としてはKNOPPIX5.0.1-CDから起動、/dev/hda1 が /media/hda1にオートマウントされているので、右クリック-プロパティのメニュー内で「Read Only」にチェックが入っているのを外し、別WindowsマシンFATフォーマットして上記3つのDLLを放り込んでおいた手持ちのUSBメモリ(128M)を差し込んで、/dev/sda1から/media/hda1にコピー(作業を簡便にしたいのと面倒くさいのでルートフォルダに)

KNOPPIXはログオフ-シャットダウンし、Windows XP CD-ROMに入れ替えて再び「Windows回復コンソール」にて以下を実行。

cd \windows\system32
ren msgina.dll msgina.bak
ren shlwapi.dll shlwapi.bak
cd \
copy SHELL32.DLL c:\windows\system32
copy MSGINA.DLL c:\windows\system32
copy SHLWAPI.DLL c:\windows\system32

EXIT

これで無事起動できれば御の字だったのだが。改善されたのは「SHELL32.DLL…」のエラーメッセージのみで後2つは相変わらず。ログオン画面へ移行せず再起動選択肢しか無い状態は変化なし。

いろいろ考えあぐねた末、「元々の正常起動時のバージョンと同一のDLLコピーしてやる事で解決した。具体的には、起動しなくなったPCは「Windows XP Pro. Service Pack 1」だった(!)ので、移植するDLLは最新の「SP2」でもWindows XP CD-ROMの中の「無印」でも駄目だという事だったようだ(無事にログオン画面が表示されてもその後フリーズ)。たまたま過去に作成していたWindowsXP-SP1統合インストールCD-Rを発掘し、そこからSHELL32.DLL、MSGINA.DLL、SHLWAPI.DLLを抽出、移植作業をやり直し再起動すると「何事も無かったかのように」ようこそ画面が表示されて元通りのデスクトップ画面を復活させる事ができた。

※追記:公式情報既出だったようだ。無駄に 時間を 浪費していた かもしれない。

Windows Update Web サイトから Windows XP の更新をインストールすると、エラー メッセージが表示される

ところでSTGは終わった。あとSTGは成長してないよね。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん