我最近买了一块新主板、处理器和 RAM。我为新组件重新安装了 Windows (x64 7 Ultimate) 和所有应用程序,但它使用的是旧系统中的相同 (零售) 操作系统许可证、显卡和光驱。
大约两周后,我第二次看到蓝屏 STOP 错误。第一次我让游戏继续运行,所以我把责任归咎于游戏,但这次我检查了事件日志,发现错误检查报告包含以下数据:
错误检查为:0x0000009f (0x00000000000000003, 0xfffffa800a21f060, 0xfffff80000b9c3d8, 0xfffffa8007a12540)。
根据错误描述,可能是我的旧电源无法胜任新硬件的任务。但是,我的新 CPU 的额定功率比旧 CPU 低 15 瓦,所以我认为不是这个问题。
我还看到0xfffffa800a21f060
错误检查的值是“物理设备对象”。过时的设备驱动程序似乎更有可能。我想根据这个数字追溯到设备名称,然后查找该设备的更新驱动程序。不幸的是,我不确定下一步该怎么做。
有什么想法可以做到这一点吗?听起来它可能指的是内存中调用堆栈上的一个位置;如果需要的话,我还有内存转储。
更新:
我从第一个蓝屏中找到了错误检查。它看起来像这样:
错误检查为:0x00000101 (0x0000000000000031, 0x0000000000000000, 0xfffff880009f1180, 0x0000000000000001)。
以及相关参考页面:
http://msdn.microsoft.com/en-us/library/ff557211(v=vs.85).aspx
这个没有提供太多信息。可能是 CPU 出现故障,但我还是想从后面的错误检查中追踪到设备。
更新 2:
根据答案中的说明,我得到了以下信息:
******************************************************************************************* * * * 错误检测分析 * * * ******************************************************************************************* 驱动程序电源状态故障 (9f) 驱动程序导致电源状态不一致。 参数: Arg1:00000000000000003,设备对象阻塞 Irp 时间过长 Arg2:fffffa800a21f060,堆栈的物理设备对象 Arg3:fffff80000b9c3d8,堆栈的功能设备对象 Arg4:fffffa8007a12540,被阻止的 IRP 调试细节: ------------------ DRVPOWERSTATE_SUBCODE: 3 图像名称: usbhub.sys 调试_FLR_IMAGE_时间戳:4ce7a68e 模块名称: usbhub 故障模块:fffff88005600000 usbhub 客户崩溃次数:1 默认存储桶 ID:VISTA_DRIVER_FAULT BUGCHECK_STR: 0x9F 进程名称:系统 当前 IRQL: 2 堆栈文本: fffff800`00b9c388 fffff800`02d4b9c2 : 00000000`0000009f 00000000`00000003 fffffa80`0a21f060 fffff800`00b9c3d8 : nt!KeBugCheckEx fffff800`00b9c390 fffff800`02cea652 : fffff800`00b9c4c0 fffff800`00b9c4c0 00000000`00000002 00000000`00000000 : nt! ?? ::FNODOBFM::`字符串'+0x34a90 fffff800`00b9c430 fffff800`02cea4f6 : fffffa80`08f0e0d0 fffffa80`08f0e0d0 00000000`00000000 00000000`00000000 : nt!KiProcessTimerDpcTable+0x66 fffff800`00b9c4a0 fffff800`02cea3de : 000001e1`889ca6f3 fffff800`00b9cb18 00000000`00ca4ace fffff800`02e55c48 : nt!KiProcessExpiredTimerList+0xc6 fffff800`00b9caf0 fffff800`02cea1c7 : 00000092`40cd33c3 00000092`00ca4ace 00000092`40cd33b2 00000000`000000ce : nt!KiTimerExpiration+0x1be fffff800`00b9cb90 fffff800`02cd6a2a : fffff800`02e51e80 fffff800`02e5fcc0 00000000`00000002 fffff880`00000000 : nt!KiRetireDpcList+0x277 fffff800`00b9cc40 00000000`00000000 : fffff800`00b9d000 fffff800`00b97000 fffff800`00b9cc00 00000000`00000000 : nt!KiIdleLoop+0x5a 堆栈命令:kb FOLLOWUP_NAME:机器所有者 FAILURE_BUCKET_ID: X64_0x9F_3_AiCharger_IMAGE_usbhub.sys BUCKET_ID: X64_0x9F_3_AiCharger_IMAGE_usbhub.sys 后续:MachineOwner ---------
听起来罪魁祸首可能是系统中的 via pci usb 卡。在新主板上我真的不再需要它了(8 个 usb 端口,而不是 4 个)。我把它保留在新系统中,因为我看不出不这样做的理由,而且因为没有它,我找不到机箱的插槽盖。如果蓝屏继续,我可能会把它移除。
可能性似乎较小,但也可能是我的 USB 3.0 端口控制器的驱动程序不成熟。我会寻找这些端口的更新驱动程序,以防万一。
答案1
是的。您可以跟踪此错误检查。
1.您需要首先从这里下载 Windows 调试工具:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
2.接下来,您需要适当的 Windows 7 调试符号(您需要“零售”版本。而不是“检查”版本: http://msdn.microsoft.com/en-us/windows/hardware/gg463028
3.正常安装调试工具。将调试符号安装到名为 的新文件夹中c:\Symbols
。完成这两项操作后,打开 Windows 版调试工具,转到文件菜单并选择“符号文件路径”。用以下字符串替换框中的内容(如果您选择将符号安装到其他位置,则替换驱动器号和符号路径):
srv*c:\symbols*http://msdl.microsoft.com/download/symbols
4.接下来,使用 Windows 资源管理器转到 c:\Windows\Minidump(假设 C: 是您安装 Windows 的位置)。您将在其中找到所谓的 minidump 文件。这些文件包含有关您的 BSODS 的信息。每个 BSOD 都有一个文件,以 BSOD 的日期命名。
5.将最后一个文件拖到 Windows 调试工具的空白灰色区域(或通过文件菜单打开)。调试器将开始分析它,之后您将看到一个!analyze -v
可以点击的链接。
6.单击它,您将获得错误检查报告。使用此 analize -v 的结果更新您的问题,我们中的许多人将能够提示您可能存在的问题。
下面给出了您可能想要粘贴到上述问题中的一个示例(来自今年年初我发现我的 RAM 有故障时的一个小型转储文件):
BugCheck 1000008E, {c0000005, 940c23de, abb34b0c, 0}
Probably caused by : Npfs.SYS ( Npfs!NpRemoveAllAttributesFromList+14 )
Followup: MachineOwner
[...]
KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008e)
[...]
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 940c23de, The address that the exception occurred at
Arg3: abb34b0c, Trap Frame
Arg4: 00000000
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
FAULTING_IP:
Npfs!NpRemoveAllAttributesFromList+14
940c23de 897004 mov dword ptr [eax+4],esi
答案2
当你在 Windbg 中加载 dmp 时加载符号,运行!podev 0xfffffa800a21f060
(来自参数 2 的地址Arg2: fffffa800a21f060, Physical Device Object of the stack
:)。
这将转储物理设备对象 (PDO)。
这
X64_0x9F_3_智能充电器图像_usbhub.sys
告诉我华硕 Ai 充电器司机造成了这种情况。