Windows 中的 Windows 内核事件 ID 41 错误“系统已在未先正常关机的情况下重新启动”

适用于: Windows 10 Pro released in July 2015Windows 8 EnterpriseWindows 8

症状



在 Windows 中,你的计算机会重启,并且类似于以下内容的关键错误消息将记录在事件日志中:

事件 ID: 41
描述: 系统已在未先正常关机的情况下重新启动。
信息图标
 注意
停止错误 BugcheckCode 和 BugcheckParameters 的值可以不同。

更多信息


当计算机关机或意外重启时,发生内核电源事件 ID 41。 运行 Windows 的计算机启动时,将执行检查以确定计算机是否已正常关机。 如果计算机未正常关机,则生成内核电源事件 41 消息。

事件 41 用于报告阻止 Windows 正常关机的一些意外情况。 这些信息可能不足以明确定义发生的情况。 要确定可能发生的情况并识别潜在的解决方案,获知事件发生之前计算机正在执行的操作十分重要。

如果因为计算机的电源中断而记录了事件 41,请考虑获取不间断电源 (UPS),例如电池备用电源。 电源电量不足或耗尽可能会导致此行为。 例如,如果此问题出现时你添加了 RAM 或其他设备或硬盘,则电源可能会导致此问题。


在下列情况下可能会发生事件 41。

情况 1: 计算机重启,并且事件数据中存在停止错误 BugcheckCode



发生停止错误时,停止错误数据将作为附加事件数据的一部分写入事件 ID 41。 可能出现这种问题:在计算机重新启动或关闭之前,无法写入 Stop 错误代码信息。 情况 3 中涉及此类问题。

信息图标
 注意
事件中的 BugcheckCode 数据以十进制格式写入,而不是更典型的十六进制格式。 因此,十进制值应转换为十六进制值。

如果事件 ID 数据中的停止错误 BugcheckCode 条目不为零,则应将 BugcheckCode 值从十进制转换为十六进制。 有关停止错误代码的大部分文档均引用十六进制值而不是十进制值的代码。 为此,请按照下列步骤操作:
  1. 单击“开始”,然后在“搜索”框中键入 calc
  2. 单击“视图”,然后单击“程序员”
  3. 确保选中计算器左侧的“Dec”选项按钮。
  4. 使用键盘从 BugcheckCode 值中输入十进制值。
  5. 单击计算器左侧的“Hex”选项按钮。
信息图标
 注意
现在计算器显示的值是十六进制代码。 为其他非零值重复这些步骤。

以下示例包含来自事件 ID 41 的 Stop 错误 BugcheckCode 条目:

EventData
BugcheckCode 159
BugcheckParameter1 0x3
BugcheckParameter2 0xfffffa80029c5060
BugcheckParameter3 0xfffff8000403d518
BugcheckParameter4 0xfffffa800208c010
SleepInProgress false
PowerButtonTimestamp 0 转换为 0x9f(0x3、0xfffffa80029c5060、0xfffff8000403d518、0xfffffa800208c010)


信息图标
 注意
代码前的零通常不显示。 BugcheckCode 条目转换为十六进制格式后,应具有 8 位数。 例如,0x9F 通常记录为 0x0000009f,0xA 记录为 0x0000000A。 标识十六进制值之后,请转到 support.microsoft.com,搜索已转换的十六进制代码 (0x0000009f) 以及字词错误检查。

有关更多信息,请参阅 Microsoft TechNet 博客中的以下文章:

情况 2: 按住电源按钮关闭计算机

按下计算机上的电源按钮,并且按住至少 4 秒钟。 事件数据中将此操作记录为 PowerButtonTimestamp 条目,且具有非 0(零)值。 可能出现这种问题:在计算机重新启动或关闭之前,无法写入 PowerButtonTimestamp 信息。 情况 3 中涉及此类问题。

关闭 Windows 的首选方法是单击“开始”,然后单击一个选项以关闭计算机。 在这种情况下,操作系统将关闭所有文件,并通知正在运行的所有服务和应用程序,以便它们可以将任何数据写入磁盘并刷新任何缓存。

如果由于限制计算机正常运行的问题,必须按住电源按钮,则应对遇到的症状运行相关查询,以便获得帮助并解决问题。 搜索中可能使用“hang”(挂起)、“responding”(响应)或“blank screen”(空屏)等一些关键字。

有关计算机可能停止响应的特定情况的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 974476 在 Windows 7 或 Windows Server 2008 R2 环境下,USB 设备从 USB 选择性暂停状态恢复时,计算机停止响应

有关疑难解答帮助,请转到 Microsoft 网站 Windows 7 支持

情况 3: 系统任意重启,并且未列出停止错误 BugcheckCode,或者计算机完全不响应(直接停止运行)

列出的停止错误代码和 PowerButtonTimestamp 为零。 例如,请考虑以下情况:
  • Stop 错误的 BugcheckCode 值列为零。 在计算机重新启动或关闭之前可能阻止写入 Stop 错误 BugcheckCode 信息。 在这种情况下,将记录 BugcheckCode 的零值。 同时,可能未出现 Stop 错误,并且由于断电而导致关机。 例如,在便携式计算机上,这可能意味着电池已卸下或完全耗尽。 或者,在台式计算机上,这可能意味着已拔下计算机的电源,或发生停电状况。
  • PowerButtonTimestamp 列为零。 在计算机重新启动或关闭之前可能阻止写入 PowerButtonTimestamp 信息。 在这种情况下,将记录零值。 如果当 Windows 正在运行阻止向磁盘写入事件的操作时按住电源按钮至少 4 秒钟,则会出现这种情况。 如果计算机“硬锁定”,因此对任何输入不作响应,并且计算机必须关闭电源,则也会看到这种情况。 要确定计算机是否未响应,你可能需要尝试按键盘上的 CAPS LOCK 键以切换 CAPS 灯。
要检查是否出现这种情况,请按键盘上的 CAPS LOCK 键。 执行此操作时,如果在您按 CAPS LOCK 键时键盘上的 CAPS LOCK 灯未发生变化,则计算机可能完全不响应(直接停止运行)。

这种情况通常表示硬件出现问题。 要帮助找到问题,请检查以下项目:
  1. 超频: 禁用超频以查看当系统以正确速度运行时是否出现问题。
  2. 检查内存: 使用内存检查器检查内存。 验证每个内存芯片是否具有相同速度,以及在系统中是否正确配置。
  3. 电源: 确保电源具有足够的功率以正确处理已安装的设备。 如果你添加了内存,安装了较新的处理器,安装了附加驱动器或添加了外部设备,则此类设备需要的电源电量可能多于当前可持续提供的电源电量。
  4. 过热: 通过检查硬件的内部温度来检查系统是否过热。
  5. 默认值: 将系统重置为系统默认值,以查看系统以其默认配置运行时是否发生问题。

如果你看到计算机生成的包含 BugcheckCode 值的停止错误未记录到事件 ID 41 中,请更改计算机的重启行为。 为此,请按照下列步骤操作:
  1. 右键单击“我的电脑”,然后单击“属性”
  2. 单击“高级系统设置”
  3. 单击“高级”选项卡。
  4. 在“启动和故障恢复”部分中,单击“设置”
  5. 单击以清除“自动重新启动”复选框。