停止错误和意外重启故障排除指南

试用我们的虚拟代理 - 它可以帮助快速识别和修复常见的 Windows 启动问题

此解决方案旨在帮助排查出现停止错误的情况。

没有简单的说明来解释停止错误(也称为蓝屏错误或 bug 检查错误)的原因。 许多因素可能涉及,原因并不总是显而易见的。 例如,你可能正在使用与 Windows 设备不兼容的新硬件或第三方软件。

故障排除清单

  1. 查看在事件日志中找到的停止错误代码。 联机搜索特定的停止错误代码,查看是否存在有关此问题的任何已知问题、解决方法或绕过方法。

  2. 请确保硬盘有足够的可用空间。 尽管空间要求可能不同,但建议磁盘具有 10 到 15% 的可用空间。

  3. 在以下情况下,请与相应的硬件或软件供应商联系来更新驱动程序和应用程序:

    • 错误消息指示特定驱动程序导致了该问题。
    • 你会看到服务在发生故障之前正在启动或停止的指示。 在这种情况下,请确定服务行为在所有故障实例中是否一致。
    • 你进行了任何软件或硬件更改。
  4. 请确保安装最新的 Windows 更新、累积更新和汇总更新。

  5. 请确保 BIOS 和固件是最新版本。

  6. 运行任何相关的硬件和内存测试。

  7. 运行反恶意软件扫描,例如 Microsoft Defender

  8. 如果在安装新软件后出现问题,请删除新软件。 如果无法启动到正常模式,可以从安全模式尝试

    备注

    某些软件无法从安全模式中删除。

常见问题和解决方案

Bug 检查代码:KMODE_EXCEPTION_NOT_HANDLED

停止错误代码:

0x0000001E

如果在“停止”错误消息中标识了驱动程序,请禁用或删除该驱动程序。 禁用或删除最近添加的所有驱动程序或服务。 如果在启动序列过程中出现错误,并且使用 NTFS 文件系统格式化系统分区,那么你可能能够使用安全模式在设备管理器中禁用该驱动程序。 为此,请按照下列步骤操作:

  1. 转到“设置”>“更新与安全”>“恢复”。 在“高级启动”下,选择“立即重启”
  2. 在电脑重启显示“选择选项”屏幕后,选择“故障排除”>“高级选项”>“启动设置”>“重启”
  3. 计算机重启后,将显示选项列表。 按 4 或 F4 在安全模式下启动计算机。 或者,如果你想要在安全模式下使用 Internet,请按 5 或 F5 选择“网络安全模式”选项

Bug 检查代码:MEMORY_MANAGEMENT

停止错误代码:

0x0000001A

排查此问题时,运行 Windows 内存诊断工具对于排除影响物理内存模块的任何类型的问题可能很有用。 请参阅 Bug 检查 0x1A:MEMORY_MANAGEMENT

Bug 检查代码:SYSTEM_SERVICE_EXCEPTION

停止错误代码:

0x0000003B

此错误代码指示执行代码存在异常,并且其下方的线程是系统线程。 请按照下列步骤操作:

  1. 如果最近添加了新的设备驱动程序或系统服务,请尝试删除或更新它们。
  2. 在设备管理器中查看是否用惊叹号 (!) 标记了设备来指示问题。 查看任何错误设备驱动程序的属性中显示的事件日志。 尝试更新相关驱动程序。
  3. 检查事件查看器中的系统日志,来获取可能有助于查明是哪台设备或驱动程序导致错误的其他错误消息。 在系统日志中查找与停止错误大致同时发生的关键错误。
  4. 如果最近向系统添加了硬件,请尝试删除或替换它。 或咨询制造商来了解是否有任何更新可用。

Bug 检查代码:DRIVER_IRQL_NOT_LESS_OR_EQUAL

停止错误代码:

0x000000D1

此错误代码指示驱动程序尝试访问可分页的地址(或完全无效),而中断请求级别(IRQL)过高。 这可能是由以下操作引起的:

  • 在 DISPATCH_LEVEL 或更高级别执行时,取消引用错误指针(例如 NULL 或释放的指针)。
  • 在 DISPATCH_LEVEL 或更高级别访问可分页数据。
  • 在 DISPATCH_LEVEL 或更高级别执行可分页代码。

备注

如果可确定导致错误的驱动程序,则它的名称会显示在屏幕上。

若要解决此问题,请检查系统登录事件查看器是否有其他错误消息,这些错误消息可能有助于识别导致此停止错误的设备或驱动程序。 如果错误消息中标识了驱动程序,请禁用该驱动程序,或者咨询制造商了解驱动程序更新。 验证安装的任何新硬件是否与安装的 Windows 版本兼容。

Bug 检查代码:DRIVER_POWER_STATE_FAILURE

停止错误代码:

0x0000009F

此错误代码指示驱动程序处于不一致或无效的电源状态。 请按照下列步骤操作:

  1. 如果最近添加了新的设备驱动程序或系统服务,请尝试删除或更新它们。 尝试确定系统中进行了哪项导致出现新的错误代码的更改。
  2. 在设备管理器中查看是否有任何设备标有感叹号 (!)。 查看驱动程序属性窗口中显示的事件日志中是否存在任何有故障的驱动程序。 请尝试更新相关驱动程序。
  3. 检查事件查看器中的系统日志,来获取可能有助于查明是哪台设备或驱动程序导致错误的其他错误消息。 有关详细信息,请参阅打开事件查看器。 在系统日志中查找与蓝屏同时出现的严重错误。
  4. 为了找出原因,请使用控制面板中的“电源选项”项暂时禁用省电模式。 某些驱动程序问题与系统休眠的各种状态以及电源的挂起和恢复有关。
  5. 如果最近向系统添加了硬件,请尝试删除或替换它。 或与制造商联系,查看是否有可用的修补程序。
  6. 你可尝试运行系统制造商提供的硬件诊断。
  7. 请与制造商联系,了解是否有更新的系统 ACPI/BIOS 或其他固件可用。

有关高级调试,请参阅 Bug 检查 0x9F

Bug 检查代码:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

停止错误代码:

0x0000007E

此错误代码指示系统线程生成了错误处理程序未捕获的异常。 若要对其进行解释,必须确定生成的具体异常。 请按照下列步骤操作:

  1. 检查事件查看器中的系统日志,来获取可能有助于确定是哪台设备或驱动程序导致停止错误 0x7E 的其他错误消息。
  2. 如果错误消息中标识了驱动程序,请禁用该驱动程序,或者咨询制造商了解驱动程序更新。
  3. 请咨询硬件供应商,了解是否有任何 ACPI 或其他固件更新。 硬件问题(如系统不兼容、内存冲突和 IRQ 冲突)也可能导致此错误。
  4. 你还可禁用 BIOS 的内存缓存(隐藏)来尝试解决该错误。 还要运行系统制造商提供的硬件诊断。
  5. 验证任何已添加的硬件是否与安装 Windows 版本兼容。

Bug 检查代码:Inaccessible_Boot_Device

停止错误代码:

0x0000007B

若要排查此问题,请参阅 “停止”错误 7B 或Inaccessible_Boot_Device的高级故障排除。

数据收集

在联系Microsoft支持人员之前,可以收集有关问题的信息。

先决条件

  1. TSS 必须由本地系统上具有管理员权限的帐户运行,并且必须接受 EULA(接受 EULA 后,TSS 不会再次提示)。
  2. 建议使用本地计算机 RemoteSigned PowerShell 执行策略。

备注

如果当前 PowerShell 执行策略不允许运行 TSS,请执行以下作:

  • 通过运行 cmdlet PS C:\> Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned设置RemoteSigned进程级别的执行策略。
  • 若要验证更改是否生效,请运行 cmdlet PS C:\> Get-ExecutionPolicy -List
  • 由于进程级别权限仅适用于当前的 PowerShell 会话,因此一旦关闭了运行 TSS 的给定 PowerShell 窗口,进程级别的分配权限也将返回到以前配置的状态。

在联系Microsoft支持人员之前收集关键信息

  1. 在所有节点上下载 TSS ,并将其解压缩到 C:\tss 文件夹中。

  2. 从提升的 PowerShell 命令提示符打开 C:\tss 文件夹。

  3. 使用以下 cmdlet 在问题计算机上启动以下跟踪:

    TSS.ps1 -SDP PERF,SETUP
    
  4. 响应 EULA 提示符。

  5. 等到自动脚本完成收集所需的数据。

跟踪将存储在 C:\MS_DATA\SDP_PERFSETUP\ 文件夹中的 zip 文件中,该文件夹可以上传到Microsoft工作区进行分析。

参考