問題

問題

問題

クライアント ノートブックに、コード 0000002c のブルー スクリーンが表示されます。これは、Windows XP の起動が完了し、ようこそインターフェイスを読み込もうとしたときに発生します。

これまでやってきたこと

  • これはハードウェアの問題ではありません。HD (Victoria Scan、製造元 (Samsung) HD 診断ツール)、RAM (Memtest86+ 24 時間)、CPU (ストレステスト) をすでにテストしましたが、エラーはありませんでした。
  • セーフモード: BSOD 2c
  • Windows 修復: BSOD 2c (ドライバーのインストール中)
  • まったく別のノートブック (別のチップセット) で HD を使用しましたが、仮想環境でも BSOD 2c が発生しました。
  • すべての logonui.exe と ntkrpamp.exe を元のものに置き換えました。

診断

  • Windows PE (Hirens Boot CD 15.1) を使用してノートブックを起動し、起動時に読み込まれるプログラムとドライバー (Sysinternals の autorun.exe) を確認したい場合、PE 環境で同じ BSOD 2c が表示されます。

リクエストがあれば、最新のミニダンプの *.dmp ファイルをアップロードできます。

ミニダンプ

z:\TOOLS\windbg_6.12.0002.633_x86\debugger_x86>kd -y srv*c:\symbols*http://msdl.
microsoft.com/download/symbols -ic:\windows\i386 -zz:\TMP\User\Mini052512-07 です。
dmp

Microsoft (R) Windows デバッガー バージョン 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. 無断複写・転載を禁じます。


ダンプ ファイル [z:\TMP\User\Mini052512-07.dmp] を読み込んでいます
ミニカーネルダンプファイル: レジスタとスタックトレースのみが利用可能です

シンボル検索パスは次のとおりです: srv*c:\symbols*http://msdl.microsoft.com/download/symbols

実行ファイルの検索パスは c:\windows\i386 です
Windows XP カーネル バージョン 2600 (Service Pack 3) MP (4 プロセッサ) フリー x86 互換

製品: WinNt、スイート: TerminalServer SingleUserTS Personal
作成者: 2600.xpsp.080413-2111
マシン名:
カーネル ベース = 0x804d7000 PsLoadedModuleList = 0x8055d720
デバッグ セッション時間: 2012 年 5 月 25 日金曜日 18:48:44.218 (UTC + 2:00)
システム稼働時間: 0 日 0:19:39.765
カーネルシンボルの読み込み
...............................................................
..............................................
ユーザーシンボルの読み込み
ロードされていないモジュールリストをロードしています
...............
******************************************************************************************
* *
* バグチェック分析 *
* *
******************************************************************************************

詳細なデバッグ情報を取得するには、!analyze -v を使用します。

バグチェック C2、{43、c68a4000、0、0}

おそらく原因: ntkrpamp.exe ( nt!CmpFree+17 )

フォローアップ: MachineOwner
---------

0: kd> !分析 -v
******************************************************************************************
* *
* バグチェック分析 *
* *
******************************************************************************************

不正なプール呼び出し元 (c2)
現在のスレッドは不正なプール要求を行っています。通常、これは不正な IRQ で発生します。
L レベルまたは同じ割り当ての二重解放など。
引数:
Arg1: 00000043、どのプールにもなかった仮想アドレスを解放しようとしました
Arg2: c68a4000、アドレスが解放されています。
引数3: 00000000, 0
引数4: 00000000, 0

デバッグの詳細:
------------------


障害のあるIP:
nt!CmpFree+17
8063ビーフ 5d ポップ ebp

バグチェック_STR: 0xc2_43

顧客クラッシュ数: 7

デフォルト_バケット_ID: COMMON_SYSTEM_FAULT

プロセス名: setup.exe

LAST_CONTROL_TRANSFER: 80548c2d から 804f9f33 へ

スタックテキスト:
ba2979e4 80548c2d 000000c2 00000043 c68a4000 nt!KeBugCheckEx+0x1b
ba297a24 8054b49a c68a4000 e1cc3640 e1c97000 nt!MiFreePoolPages+0x8b
ba297a64 8063beef c68a4000 00000000 ba297ad0 nt!ExFreePoolWithTag+0x1ba
ba297a74 8063eaf6 c68a4000 00001000 00000000 nt!CmpFree+0x17
ba297ad0 8063eedb 9d308b60 00000000 00000000 nt!HvpRecoverData+0x3ec
ba297b1c 80630854 9d308b60 00000000 00000001 nt!HvMapHive+0x133
ba297b34 8063837f 9d308c01 00000005 00000000 nt!HvInitializeHive+0x416
ba297ba0 80625bcf ba297bdc 00000005 00000000 nt!CmpInitializeHive+0x26d
ba297bf8 8062ad61 ba297d04 00000000 ba297c64 nt!CmpInitHiveFromFile+0xa3
ba297c20 80631efa ba297ccc ba297c6c ba297c5c nt!CmpCmdHiveOpen+0x21
ba297cac 8062578a ba297ce4 ba297ccc 00000000 nt!CmLoadKey+0x90
ba297d40 80625994 0641a62c 0641a614 00000000 nt!NtLoadKey2+0x1fc
ba297d54 8054161c 0641a62c 0641a614 0641a658 nt!NtLoadKey+0x12
ba297d54 7c91e4f4 0641a62c 0641a614 0641a658 nt!KiFastCallEntry+0xfc
警告: フレーム IP が既知のモジュールにありません。次のフレームは間違っている可能性があります。
0641a658 00000000 00000000 00000000 00000000 0x7c91e4f4


スタックコマンド: kb

フォローアップIP:
nt!CmpFree+17
8063ビーフ 5d ポップ ebp

シンボルスタックインデックス: 3

SYMBOL_NAME: nt!CmpFree+17

フォローアップ名: マシン所有者

モジュール名: nt

イメージ名: ntkrpamp.exe

DEBUG_FLR_IMAGE_TIMESTAMP: 4802516a

FAILURE_BUCKET_ID: 0xc2_43_nt!CmpFree+17

バケットID: 0xc2_43_nt!CmpFree+17

フォローアップ: MachineOwner
---------

0: えー

では、BSOD の原因は何でしょうか?

答え1

呼び出しはHvpRecoverDataレジストリの破損を示唆しています。回復プロセス中の障害はハイブの破損を示しています。ログファイル (Windows Research Kernel ソースによる)。この問題が発生したときは、すべてのC:\Documents and Settings\<USERNAME>\NTUSER.DAT.LOGファイルを削除すると解決しました。私のケースでは、プロセス中にユーザー データや設定は失われませんでした。

関連情報