根据日志,Windows 7 意外关闭

dla*_*lin 10 shutdown windows-7 windows-update timer

这是来自我的eventvwrEventLog(Windows 日志 > 系统)的消息:

The previous system shutdown at 11:51:15 AM on ?7/?29/?2009 was unexpected.
Run Code Online (Sandbox Code Playgroud)

这很有趣,因为我想知道为什么在我全屏玩文明 IV 时系统会关闭。现在我知道了。这是出乎意料的。

有没有人遇到并解决过这个问题?

一点背景:

我在 MacBook(Bitterly 不是 Pro)铝制机身上的 VMWare Fusion 2(几个月前刚刚更新)中运行 Windows 7 RC。Windows 7 偶尔会关闭。这不是快速关闭,而是所有程序都退出的关闭,系统一直等到它们退出(而文明 4 不提示我保存),它甚至在重新启动之前安装了 Windows 更新。是的,它在关机后立即重新启动。因为我在全屏模式下运行游戏,所以我没有注意到任何带有倒数计时器或类似警告的对话框。

因为我的仪表板小部件上有 iStat,所以我可以看到大约 8 个温度监视器。我以前见过 CPU 达到 74C,但是在关机期间,虽然摸起来很热(总是),但它读取 CPU 为 61C,散热器 A 为 60C,散热器 B 为 50C,在 30 到 40 年代之间用于机箱和硬盘驱动器。当我现在输入时,温度实际上更高,所以我认为不是温度造成的。

我至少有六个这样的事件,最早是从 5/17 开始的,也就是安装 Windows 7 后的一周。

我确实在系统日志中发现了来自 USER32 的一个信息级别警告:

The process C:\Windows\system32\svchost.exe (DLAMBLIN-WIN7) has initiated the restart of
computer DLAMBLIN-WIN7 on behalf of user NT AUTHORITY\SYSTEM for the following reason:
 Operating System: Recovery (Planned)
 Reason Code: 0x80020002
 Shutdown Type: restart
 Comment: 
Run Code Online (Sandbox Code Playgroud)

再过 15 分钟从 Windows 更新开始:

Restart Required: To complete the installation of the following updates, 
  the computer will be restarted within 15 minutes: 
- Cumulative Security Update for Internet Explorer 8 for Windows 7 Release Candidate
  for x64-based Systems (KB972260)
Run Code Online (Sandbox Code Playgroud)

我认为这可以解释它。虽然我不知道为什么更新后重新启动会产生“意外关机”的错误事件,但这不是很奇怪吗?

现在,除非我单击某些内容,否则如何将其设置为在更新后永不重启。

溶液应用:

正如fretje提醒我的那样,有几个可配置的设置,在Windows 7 中它们与Windows 2000 SP3 和XP SP1 中的位置大致相同。运行会gpedit.msc弹出一个窗口,如下所示:

gpedit.msc

Windows 7 更改了顺序并添加了几个我用斜体表示的较新选项:

  1. 在关闭 Windows 对话框中不显示“安装更新并关闭”
    • 不要在关闭 Windows 对话框中将默认选项调整为“安装更新并关闭”
    • 启用 Windows 电源管理以自动唤醒系统以安装计划的更新
    • 配置自动更新
    • 指定内网 Microsoft 更新服务位置
    • 自动更新检测频率
    • 允许非管理员接收更新通知
    • 打开软件通知
  2. 允许自动更新立即安装
    • 通过自动更新打开推荐的更新
    • 对于预定的自动更新,登录用户不会自动重启
    • 使用预定安装重新提示重新启动。
    • 计划安装的延迟重启
    • 重新安排自动更新计划安装
    • 启用客户端定位
    • 允许来自 Intranet Microsoft 更新服务的签名更新

我个人选择启用 9、11、12 和 13。9 只启用那些不必重新启动 Windows 或停止服务的更新。启用 11 实际上会禁用自动重启。12 和 13 已启用并使用滚轮设置为最大值。16 听起来不错,但不会影响缺少自己的更新服务器的用户。

附录

有人指出 Windows 的家庭版不附带gpedit.msc,因此您必须直接在注册表中进行设置。除了NoAutoRebootWithLoggedOnUsers...之外,您可能还可以添加更多设置……事实上,我现在要检查一下。好的HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU补充:

  1. AutoInstallMinorUpdates = 1
    • NoRebootWithLoggedOnUsers = 1
    • RebootRelaunchTimeout = 1440(十进制)
    • RebootRelaunchTimeoutEnabled = 1 [我真的很好奇这是否是我想要的]
    • RebootWarningTimeout = 30(十进制)
    • RebootWarningTimeoutEnabled = 1 [我认为由于#2,上述四个不会发生]

fre*_*tje 7

杰夫实际上写了关于这个的博客

它适用于 Windows XP,但我想这仍然适用于 Windows 7。它基本上归结为在本地组策略编辑器 (gpedit.msc) 中翻转一个开关。