生成内核或完整故障转储
当 Windows 无法正常运行时,系统崩溃 (也称为“bug 检查”或“停止错误”) 。 从此事件生成的转储文件称为系统故障转储。
在排查多个问题时,手动内核或完整的内存转储文件很有用,因为进程会在崩溃时捕获系统内存的记录。
适用于:Windows 10
设置页面文件
有关 系统故障转储 的页面文件大小要求,请参阅对系统故障转储的支持。
启用内存转储设置
必须以管理员或管理员组成员身份登录才能完成此过程。 如果计算机已连接到网络,网络策略设置可能会阻止你完成此过程。
若要启用内存转储设置,请执行以下步骤:
- 在“控制面板”中,选择“系统和安全>系统”。
- 选择“ 高级系统设置”,然后选择“ 高级 ”选项卡。
- 在 “启动和恢复 ”区域中,选择 “设置”。
- 确保在“写入调试信息”下选择了“内核内存转储”或“完成内存转储”。
- 重启计算机。
注意
可以通过编辑转储文件字段来更改 转储文件 路径。 换句话说,可以将路径从 %SystemRoot%\Memory.dmp 更改为指向具有足够磁盘空间的本地驱动器,例如 E:\Memory.dmp。
生成内存转储的提示
当计算机崩溃并重启时,物理 RAM 的内容将写入位于安装操作系统的分区上的分页文件。
根据安装 Windows 的硬盘速度,转储超过 2 GB (GB 的内存) 可能需要很长时间。 即使在最佳情况下,如果转储文件配置为驻留在另一个本地硬盘驱动器上,则会读取大量数据并将其写入硬盘。 此读写过程可能会导致服务器长时间中断。
注意
谨慎使用此方法生成完整的内存转储文件。 理想情况下,仅当Microsoft 支持部门工程师明确请求时,才应执行此操作。 所有标准故障排除方法完全用尽后,任何内核或完整的内存转储文件调试都应是最后的手段。
手动生成内存转储文件
使用 NotMyFault 工具
如果在出现问题时可以登录,则可以按照以下步骤使用 Microsoft Sysinternals NotMyFault 工具:
下载 NotMyFault 工具。
选择 “开始”,然后选择“ 命令提示符”。
在命令行中运行以下命令:
notMyfault.exe /crash
注意
此操作将生成内存转储文件和 D1 停止错误。
使用 NMI
在某些计算机上,无法使用键盘生成故障转储文件。 例如,Hewlett-Packard 开发公司的 Hewlett-Packard (HP) BladeSystem 服务器通过基于浏览器的图形用户界面 (GUI) 进行管理。 键盘未连接到 HP BladeSystem 服务器。
在这些情况下,必须使用导致系统处理器上 NMI 的不可屏蔽中断 (NMI) 开关生成完整的故障转储文件或内核故障转储文件。
若要实现此过程,请执行以下步骤:
重要
请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原。
注意
运行 Windows 8 及更高版本的客户端或运行 Windows Server 2012 及更高版本的服务器不需要此注册表项。 在更高版本的 Windows 上设置此注册表项不起作用。
在“注册表编辑器”中,找到以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
右键单击 CrashControl,指向 “新建”,然后选择“ DWORD 值”。
键入 NMICrashDump,然后按 Enter。
右键单击“ NMICrashDump”,然后选择“ 修改”。
在 “值数据 ”框中,键入 1,然后选择“ 确定”。
重启计算机。
硬件供应商(如 HP、IBM 和 Dell)可能会提供自动系统恢复 (ASR) 功能。 应在故障排除期间禁用此功能。 例如,如果在 BIOS 中启用了 HP 和 Compaq ASR 功能,请在进行故障排除以生成完整的Memory.dmp文件时禁用此功能。 有关确切步骤,请与硬件供应商联系。
在 BIOS 中启用 NMI 开关,或使用集成熄灯 (iLO) Web 界面。
注意
有关确切步骤,请参阅 BIOS 参考手册或联系硬件供应商。
使用 NMI 开关在服务器上测试此方法以生成转储文件。 你将看到停止0x00000080硬件故障。
如果要使用串行控制台在 Microsoft Azure 中运行 NMI,请参阅 将串行控制台用于 SysRq 和 NMI 调用。