暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在 Windows 中配置系统故障和恢复选项

原创 watson 2023-02-14
647

适用于:Windows 10

本文介绍如何配置当系统错误 (也称为 bug 检查、系统崩溃、严重系统错误或停止错误) 时 Windows 采取的操作。 可以配置以下操作:

  • 将事件写入系统日志。
  • 如果已设置管理警报) ,则警报管理员 (。
  • 将系统内存放入高级用户可用于调试的文件中。
  • 自动重启计算机。

 备注

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

配置系统故障和恢复选项

 重要

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

“ 启动和恢复 ”对话框中提供了这些选项。 还可以使用以下方法:

  • 修改以下注册表子项下的值:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

  • 若要修改本地计算机上的选项,请使用命令行实用工具 (Wmic.exe) 访问 Windows Management Instrumentation (WMI) 。

按照以下步骤查看 启动和恢复中的选项。 (每个选项也列出了注册表值和 Wmic 命令。)

  1. 在控制面板中,选择“系统和安全>系统”。
  2. 选择“高级系统设置”,选择“高级”选项卡,然后选择“启动和恢复”区域中的“设置”。

在“系统故障”下

选中希望 Windows 在发生系统错误时执行的操作的复选框。

将事件写入系统日志

此选项指定事件信息记录在系统日志中。 默认情况下,此选项处于启用状态。

若要关闭此选项,请运行以下命令或修改注册表值:

  • wmic recoveros set WriteToSystemLog = False
    
  • 将 LogEvent DWORD 值设置为 0

发送管理警报

该选项指定如果配置了管理警报,管理员会收到系统错误通知。 默认情况下,此选项处于启用状态。

若要关闭此选项,请运行以下命令或修改注册表值:

  • 控制台

    wmic recoveros set SendAdminAlert = False
    
  • 将 SendAlert DWORD 值设置为 0

自动重启

该选项指定 Windows 会自动重启计算机。 默认情况下,此选项处于启用状态。

若要关闭此选项,请运行以下命令或修改注册表值:

  • wmic recoveros set AutoReboot = False
    
  • 将 AutoReboot DWORD 值设置为 0

在“写入调试信息”下

如果计算机意外停止,请选择希望 Windows 在内存转储文件中记录的以下类型的信息之一:

(无)

该选项不会记录内存转储文件中的任何信息。

若要指定不希望 Windows 记录内存转储文件中的信息,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugInfoType = 0
    
  • 将 CrashDumpEnabled DWORD 值设置为 0

小型内存转储

该选项记录的最小信息量,以帮助识别问题。 此选项需要计算机启动卷上至少 2 兆字节 (MB) 分页文件,并指定每次系统意外停止时,Windows 都将创建一个新文件。 这些文件的历史记录存储在小转储目录下列出的文件夹中, (%SystemRoot%\Minidump) 。 在 Windows XP 和 Windows Server 2003 中,小型内存转储文件与Windows 错误报告功能一起使用。

若要指定要使用小型内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugInfoType = 3
    
  • 将 CrashDumpEnabled DWORD 值设置为 3

若要指定要将文件夹用作小型转储目录,请运行以下命令或修改注册表值:

  • wmic recoveros set MiniDumpDirectory = <folderpath>
    
  • 将 MinidumpDir 可扩展字符串值设置为 <文件夹路径>。

内核内存转储

该选项仅记录内核内存。 此选项存储的信息比小型内存转储文件多,但完成的时间比完整的内存转储文件要少。 默认情况下,该文件存储在 %SystemRoot%\Memory.dmp 中,如果选中了“ 覆盖任何现有文件 ”复选框,则覆盖任何以前的内核或完整内存转储文件。 如果设置此选项,则启动卷上必须具有足够大的分页文件。 所需的大小取决于计算机中的 RAM 量。 但是,对于 32 位系统上的内核内存转储,必须提供的最大空间量为 2 GB 加 16 MB。 在 64 位系统上,内核内存转储必须提供的最大空间量是 RAM 加 128 MB 的大小。 下表提供了分页文件大小的准则:

RAM 大小分页文件不应小于
256 MB-1,373 MBRAM 大小的 1.5 倍
1,374 MB 或更高版本32 位系统:2 GB 加 16 MB
64 位系统:RAM 的大小加上 128 MB

若要指定要使用内核内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugInfoType = 2
    
  • 将 CrashDumpEnabled DWORD 值设置为 2

若要指定要将文件用作内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugFilePath = <filepath>
    
  • 将 DumpFile 可展开字符串值设置为 <filepath>。

若要指定不想覆盖任何以前的内核或完成内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set OverwriteExistingDebugFile = 0
    
  • 将 覆盖 DWORD 值设置为 0

完成内存转储

当计算机意外停止时,该选项将记录系统内存的内容。 此选项在具有 2 GB 或 GB 以上 RAM 的计算机上不可用。 如果选择此选项,则启动卷上必须有一个分页文件,该文件足以容纳所有物理 RAM 加 1 MB。 默认情况下,文件按 %SystemRoot%\Memory.dmp 中的指定进行存储。

完整的内存转储文件需要额外的兆字节,因为 Windows 除了倾销内存内容外,还会写入标头。 标头包含故障转储签名,并指定某些内核变量的值。 标头信息不需要完整的 MB 空间,但 Windows 会以 MB 为增量调整分页文件的大小。

若要指定要使用完整的内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugInfoType = 1
    
  • 将 CrashDumpEnabled DWORD 值设置为 1

若要指定要将文件用作内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugFilePath = <filepath>
    
  • 将 DumpFile 可展开字符串值设置为 <filepath>。

若要指定不想覆盖任何以前的内核或完成内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set OverwriteExistingDebugFile = 0
    
  • 将 覆盖 DWORD 值设置为 0

自动内存转储

这是默认选项。 自动内存转储包含与内核内存转储相同的信息。 两者的区别在于 Windows 设置系统分页文件的大小。 如果系统分页文件大小设置为 系统托管大小,并且内核模式故障转储设置为 自动内存转储,则 Windows 可以将分页文件的大小设置为小于 RAM 的大小。 在这种情况下,Windows 将分页文件的大小设置为足够大,以确保在大部分时间内可以捕获内核内存转储。

如果计算机崩溃且分页文件不够大,无法捕获内核内存转储,则 Windows 会将分页文件的大小增加到至少 RAM 的大小。 有关详细信息,请参阅 自动内存转储。

若要指定要使用自动内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugInfoType = 7
    
  • 将 CrashDumpEnabled DWORD 值设置为 7

若要指定要将文件用作内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugFilePath = <filepath>
    
  • 将 DumpFile 可展开字符串值设置为 <filepath>。

若要指定不想覆盖任何以前的内核或完成内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set OverwriteExistingDebugFile = 0
    
  • 将 覆盖 DWORD 值设置为 0

活动内存转储

活动内存转储类似于“完整内存转储”,但它筛选出可能与排查主机问题无关的页面。 由于此筛选,它通常明显小于完整内存转储。

此转储文件包括分配给用户模式应用程序的任何内存。 它还包括分配给 Windows 内核和硬件抽象层的内存,以及分配给内核模式驱动程序和其他内核模式程序的内存。 转储包括映射到用于调试的内核或用户空间的活动页,以及选定的 Pagefile 支持的过渡、待机和已修改页面,例如使用 VirtualAlloc 或页面文件支持部分分配的内存。 活动转储不包括免费列表和零对应列表中的页面、文件缓存、来宾 VM 页面以及在调试期间可能没有用到的各种其他类型的内存。 有关详细信息,请参阅 活动内存转储。

若要指定要使用活动内存转储文件,请修改注册表值:

  • 将 CrashDumpEnabled DWORD 值设置为 1
  • 将 FilterPages DWORD 值设置为 1

若要指定要将文件用作内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set DebugFilePath = <filepath>
    
  • 将 DumpFile 可展开字符串值设置为 <filepath>。

若要指定不想覆盖任何以前的内核或完成内存转储文件,请运行以下命令或修改注册表值:

  • wmic recoveros set OverwriteExistingDebugFile = 0
    
  • 将 覆盖 DWORD 值设置为 0

 备注

如果联系Microsoft 支持部门“停止”错误,系统可能会要求输入“写入调试信息”选项生成的内存转储文件。

若要查看本地计算机的系统故障和恢复设置,请在命令提示符处键 wmic recoveros 入,然后按 Enter。 若要查看本地区域网络上远程计算机的系统故障和恢复设置,请在命令提示符下键 wmic /node:<computer_name> recoveros 入,然后按 Enter。

 备注

若要成功使用这些 Wmic.exe 命令行示例,必须使用在计算机上具有管理权限的用户帐户登录。 如果未使用计算机上具有管理权限的用户帐户登录,请使用这些 /user:user_name 帐户和 /password:password 开关。

提示

  • 若要利用转储文件功能,分页文件必须位于启动卷上。 如果已将分页文件移到另一个卷,则必须先将其移回启动卷,然后才能使用此功能。

  • 如果设置内核内存转储或“完成内存转储”选项,并且选择“ 覆盖任何现有文件” 复选框,则 Windows 始终写入相同的文件名。 若要保存单个转储文件,请单击清除“ 覆盖任何现有文件 ”复选框,然后在每次停止错误后更改文件名。

  • 如果单击以清除将 事件写入系统日志 并 发送管理警报 复选框,则可以保存一些内存。 保存的内存取决于计算机,但这些功能通常需要大约 60-70 KB。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论