生成内核或完整故障转储

当 Windows 无法正常运行时,系统崩溃 (也称为“bug 检查”或“停止错误”) 。 从此事件生成的转储文件称为系统故障转储。

在排查多个问题时,手动内核或完整的内存转储文件很有用,因为进程会在崩溃时捕获系统内存的记录。

             适用于:Windows 10

设置页面文件

有关 系统故障转储 的页面文件大小要求,请参阅对系统故障转储的支持。

启用内存转储设置

必须以管理员或管理员组成员身份登录才能完成此过程。 如果计算机已连接到网络,网络策略设置可能会阻止你完成此过程。

若要启用内存转储设置,请执行以下步骤:

  1. “控制面板”中,选择“系统和安全>系统”。
  2. 选择“ 高级系统设置”,然后选择“ 高级 ”选项卡。
  3. “启动和恢复 ”区域中,选择 “设置”。
  4. 确保在“写入调试信息”下选择了“内核内存转储”或“完成内存转储”。
  5. 重启计算机。

注意

可以通过编辑转储文件字段来更改 转储文件 路径。 换句话说,可以将路径从 %SystemRoot%\Memory.dmp 更改为指向具有足够磁盘空间的本地驱动器,例如 E:\Memory.dmp

生成内存转储的提示

当计算机崩溃并重启时,物理 RAM 的内容将写入位于安装操作系统的分区上的分页文件。

根据安装 Windows 的硬盘速度,转储超过 2 GB (GB 的内存) 可能需要很长时间。 即使在最佳情况下,如果转储文件配置为驻留在另一个本地硬盘驱动器上,则会读取大量数据并将其写入硬盘。 此读写过程可能会导致服务器长时间中断。

注意

谨慎使用此方法生成完整的内存转储文件。 理想情况下,仅当Microsoft 支持部门工程师明确请求时,才应执行此操作。 所有标准故障排除方法完全用尽后,任何内核或完整的内存转储文件调试都应是最后的手段。

手动生成内存转储文件

使用 NotMyFault 工具

如果在出现问题时可以登录,则可以按照以下步骤使用 Microsoft Sysinternals NotMyFault 工具:

  1. 下载 NotMyFault 工具。

  2. 选择 “开始”,然后选择“ 命令提示符”。

  3. 在命令行中运行以下命令:

    notMyfault.exe /crash
    

注意

此操作将生成内存转储文件和 D1 停止错误。

使用 NMI

在某些计算机上,无法使用键盘生成故障转储文件。 例如,Hewlett-Packard 开发公司的 Hewlett-Packard (HP) BladeSystem 服务器通过基于浏览器的图形用户界面 (GUI) 进行管理。 键盘未连接到 HP BladeSystem 服务器。

在这些情况下,必须使用导致系统处理器上 NMI 的不可屏蔽中断 (NMI) 开关生成完整的故障转储文件或内核故障转储文件。

若要实现此过程,请执行以下步骤:

重要

请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原

注意

运行 Windows 8 及更高版本的客户端或运行 Windows Server 2012 及更高版本的服务器不需要此注册表项。 在更高版本的 Windows 上设置此注册表项不起作用。

  1. 在“注册表编辑器”中,找到以下注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

  2. 右键单击 CrashControl,指向 “新建”,然后选择“ DWORD 值”。

  3. 键入 NMICrashDump,然后按 Enter。

  4. 右键单击“ NMICrashDump”,然后选择“ 修改”。

  5. “值数据 ”框中,键入 1,然后选择“ 确定”。

  6. 重启计算机。

  7. 硬件供应商(如 HP、IBM 和 Dell)可能会提供自动系统恢复 (ASR) 功能。 应在故障排除期间禁用此功能。 例如,如果在 BIOS 中启用了 HP 和 Compaq ASR 功能,请在进行故障排除以生成完整的Memory.dmp文件时禁用此功能。 有关确切步骤,请与硬件供应商联系。

  8. 在 BIOS 中启用 NMI 开关,或使用集成熄灯 (iLO) Web 界面。

    注意

    有关确切步骤,请参阅 BIOS 参考手册或联系硬件供应商。

  9. 使用 NMI 开关在服务器上测试此方法以生成转储文件。 你将看到停止0x00000080硬件故障。

如果要使用串行控制台在 Microsoft Azure 中运行 NMI,请参阅 将串行控制台用于 SysRq 和 NMI 调用

使用键盘

从键盘强制系统崩溃

使用调试器

从调试器强制发生系统崩溃