如何在 Windows 10 中*禁用*自动重启?

mpe*_*pen 618 windows-update reboot windows-10

Windows 10 允许您“安排”稍后重新启动。我想禁用它。

显然,Windows 昨晚在我不看的时候安排了自己重新启动,只是关闭了我前一天晚上所做的一切。

我定期重启;我不需要 Windows 来为我做这件事。

我可以完全禁用它吗?我不介意它下载所有东西,然后说“嘿,你应该重新启动”,但它永远不应该重新启动。

我正在使用 Windows 10 的“专业版”。

Win*_*dos 266

注意:不幸的是,这似乎不适用于 Windows 10 家庭版,我不确定此版本的用户是否有可行的解决方案。


我将此作为另一个问题的答案发布,但由于这似乎是这个问题的重复,我也会在这里提供它:

您可以编辑本地组策略设置以强制 Windows 更新仅下载更新,但等待您的输入安装(并因此重新启动)。

打开开始菜单并输入Group,然后单击编辑组策略

展开计算机配置\管理模板\ Windows 组件\ Windows 更新

本地组策略编辑器 - Windows 更新

双击配置自动更新并启用该策略,并根据需要进行配置。

配置自动更新

返回 Windows 更新并单击检查更新。完成后,单击高级选项

您应该会看到您的新设置被“强制执行”。

强制 Windows 更新设置

在测试 VM 上应用此设置后,我让 Windows 更新保持打开状态并注意到它开始下载。

Windows 更新下载

下载完成后,您会收到一条通知,提示有更新,您需要安装它们。

Windows 更新手动安装

请注意,您必须单击立即安装。从开始菜单重新启动或关闭似乎不会触发安装过程。


更多信息:

我不确定在 Windows 10 的家庭版中编辑本地组策略是否是一个选项,但通过注册表应该可以得到相同的结果(我没有测试过这个,因为我自己使用了策略方法)。包括这一点,以防非专业用户也来寻找答案。

  1. Win+R并输入regedit然后点击Enter
  2. 导航到HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU
    (如果密钥不存在,您可能需要手动创建它们)
  3. 创建一个名为的新 DWORD 值AUOptions并输入值23

    2= 下载前通知
    3= 自动下载并通知安装

  4. 重启电脑

  5. 检查更新
  6. 检查高级设置

在周年更新 (1607) 之后更新:

我最近看到很多人的评论说这在周年更新后不再有效。

我一直在运行一些测试,这里的两篇博文中有详细说明:

这些测试已经运行了近三周,我还没有看到任何强制重启。

根据这些结果,这似乎仍然有效

Windows 10 专业版屏幕截图 - 20 天正常运行时间

要记住的事情:

  • 我没有设置任何关于活动时间或重启选项的设置。
  • 除非您已准备好安装重新启动,否则请勿单击 Windows Update UI 中的“立即安装”按钮。安装更新后,Windows 将无法决定重新启动。
  • Windows 将通过屏幕上的 Toast、操作中心警报和横幅来唠叨你。只要你不安装更新,你就没事(但最终还是要安装。)

  • 为什么在设置中不是一个简单的复选框:“当我不看的时候不要破坏我的工作”作为准确的措辞出现在我的脑海中。我什至认为“PuTTY 正在运行时不要重新启动”紧随其后。为什么总是与 reg 黑客。 (192认同)
  • 将此视为“我也是”的答案,但即使进行了这些更改,它仍然会重新启动(Win 10 周年更新)。非常令人沮丧。工作丢失,会话消失,真气。 (29认同)
  • 他们刚刚杀死了我昨晚使用的大约 10 个打开的应用程序。感谢微软在未经许可的情况下重新启动人们计算机的聪明想法。 (7认同)
  • 我在我的 Win10 Enterprise 上使用了该设置,它显然在本周末(周六凌晨 3:31)重新启动了。必须有一个额外的开关来禁用这种烦人的行为。 (6认同)
  • @windows 我已经在组策略编辑器中启用了“对于预定的自动更新安装,登录用户没有自动重新启动”。到目前为止没有帮助。 (5认同)
  • 我不确定这是否在周年更新 (1607) 中更有效,界面和选项有所改变。还在测试。 (3认同)
  • 周年更新 W10Home 后,注册表中没有“Windows Update”键。 (3认同)
  • @WhitAngl 如果 Windows 更新已经下载和/或开始安装更新,这不会阻止重新启动,这是需要预先完成的事情。上述更改(注册或政策)*需要*在 WUA 执行此操作之前应用。我亲自设置了设置,然后自己手动重启以确保计算机策略有效。 (3认同)
  • “我没有设置任何关于活动时间或重启选项的设置。” - 如果你已经这样做了,你如何取消它们? (3认同)
  • 微软真正的混蛋 - 许多被这种行为左右的人最终会重新启动他们的计算机。 (3认同)
  • 当您手动重新启动时,“3 - 自动下载并通知安装”会自动安装更新,还是必须进入 Windows 更新并单击以安装它们? (2认同)
  • @Mark,我不确定......到目前为止,我一直在手动关闭并检查更新,这并没有让它有机会下载并等待我告诉它安装。将设置一个 VM 进行测试,尽管可能需要一段时间才能确定。 (2认同)
  • @Mark,我编辑了我的答案以包含来自我的测试 VM 的一些图片。下载更新并准备安装时,您会收到 Toast 通知。手动重启并没有触发我的安装,我只是重新登录以在操作中心找到通知。 (2认同)
  • 使用 regedit 的建议方法不适用于 Windows 10 专业版。 (2认同)
  • 我应用了这个设置,但是我的电脑在 30 分钟后强行重启,花了 *ages* 安装一些大规模更新。太令人沮丧了。不确定是不是因为在那个阶段已经安排了重启。希望这不会再发生。 (2认同)
  • @VojtěchDohnal 我似乎记得甚至在更新之前必须手动创建它。 (2认同)
  • -1 :我还有 7 分钟的时间来防止计划在冗长计算期间发生的重启。我选择遵循您的解决方案 - 它不起作用(没有时间用于其他解决方案)。重新启动。浪费了一天的工作。你能*请*在你的答案的开头*加上大而粗的字体*这实际上在周年更新后不起作用吗?!那会让我跳到另一个解决方案。 (2认同)
  • 2017 年 7 月。无法正确安装 Windows 7。无法处理 Windows 10 中的自动重启。无法忍受 Apple。Linux 是答案吗? (2认同)
  • 这是一个燃烧的耻辱。您为 (1) 不安全(因为它需要 **很多** 的安全更新)(2) 的系统付费(我个人已支付 139 美元),这会使您在升级后失去工作* *(从 W7 到 W10)。这不是*进步*这是**回归**。这么多人*付费*来生成那个操作系统。是的,**某些开发人员是为了开发该操作系统而付费的!!**。我不明白。我 100% 的时间都在 Mint 上工作,然后重新启动只是为了玩。即使在我玩游戏时,我也会看到“无论您做什么,Windows 都会重新启动,如果您不高兴,我们还是会重新启动”。 (2认同)
  • @Yishai 你被迫达到最大“工作时间”。你不能说“我从凌晨 2 点工作到下午 23 点”,这对我来说有时是这样。F-CK you Microsoft, (F-CK you) x 968549874. 开发人员为此付费?严重地?付了钱,他们甚至不能正常工作?很多人不知道在Linux下,即使程序正在运行,您也可以替换“.exe”文件。尝试在 Windows 上执行此操作,伙计!(这解释了新更新可用时 f--kin 重新启动,如果 Windows 的程序正在运行并且它是一个核心程序 Windows 无法阻止它,则 Windows 无法删除 exe 文件)。 (2认同)

Erw*_*win 51

您可以尝试Windows 10 重启阻止程序

一个简单的 Windows 服务,它将在后台更新这个“活动时间”时间段。

它是免费的,可与周年更新一起使用。

  • 2017 年 7 月 24 日:自从安装 Reboot Blocker 后 - 两个半月后,我可以确认我的电脑在未经我同意的情况下从未重启过。 (7认同)
  • 仅供参考...您不需要 **免费软件** 非开源 3rd 方软件,尽管根据链接仅回答您提供这可能暂时有效,但此逻辑在幕后究竟做了什么,我们可能不会100% 肯定知道。您可以根据 https://superuser.com/questions/957267/how-to-disable-automatic-reboots-in-windows-10/1208866#1208866 控制何时发生 Windows 更新后重启操作。也许不像仅链接答案那么简单,但至少是 Windows 原生的,您可以准确地看到和控制它的作用。设置好后,其实很简单。 (5认同)
  • 我喜欢。看起来做得很好,有安装程序和卸载程序,并且可执行文件有一个有效的签名。它所做的非常简单而且是个好主意:就像您每小时手动告诉 windows 您的正常工作时间是接下来的 12 小时一样,并且在此期间不应重新启动。 (3认同)
  • 我没有尝试过,但我想知道这是否可以通过命令行和任务调度程序轻松完成。 ;) (2认同)
  • 哇终于找到了一些希望能起作用的东西!(并且面向未来)。我对谷歌搜索和不断更改设置感到沮丧,这些东西甚至不应该是一个问题......未经用户许可不重新启动应该是理所当然的事情 (2认同)
  • 我认为这个“重启阻止程序”依赖于计算机在打开时完全唤醒,以便软件可以在后台重复转换时隙......但如果它处于待机状态,那么可能不会发生转换。我从来没有让我的(台式)电脑处于待机状态,所以我看不到这种效果。 (2认同)

sea*_*ull 50

我已经回答了这个问题,作为我尝试修复 Windows 10 中的另一个垃圾设置的一部分(它会唤醒你的设备的方式,以及你在这个过程中,安装你尚未批准的更新。)

在此处查阅我的指南的第 2 步。它解释了如何修改 Windows 计划任务列表的“UpdateOrchestrator”部分中的“重新启动”任务以禁用它并阻止 Windows 干扰它。禁用此任务后,除非您指示,否则您的机器将永远不会重新启动。

干杯——海鸥

  • 您的链接位于站点内,因此断开链接的风险不大。但最好让答案自成一体。考虑在此处添加基本信息,并将链接留给其他答案。如果您只是要将读者重定向到其他地方,甚至可以在评论中完成。 (25认同)
  • 不幸的是,这也不再起作用。Windows 将静默地重新启用该任务,并在运行更新时忽略文件权限并重置它们。 (4认同)
  • 就是这个!我很困惑,即使服务没有运行,这个愚蠢的东西如何设法重新启动我的电脑,这就是原因!谁能想到 Windows 更新会调整的一些隐藏的计划任务一直是罪魁祸首。现在可以下载和安装更新,但我可以在需要时重新启动。不是任何“非活动时间”的限制性想法 Windows 认为我没有使用我的计算机。 (2认同)
  • @qasdfdsaq 我可以确认这在 home 10 上不起作用。我一个月前遵循了所有步骤,昨晚 Windows 在禁用的无许可更新协调器上添加了一个任务,该任务启用一次运行并在昨晚自动重新启动。 (2认同)

jak*_*dog 47

这个烦人问题的最佳解决方案是使用任务计划程序。

单击开始并键入任务计划程序

导航到任务计划程序库 >> Microsoft >> Windows >> UpdateOchestrator

要禁用自动重启,请右键单击重启并选择禁用。

在此处输入图片说明

然后确保更改权限。应该设置为读取和执行

我还通过禁用此文件夹中的所有任务来禁用自动更新。

  • @ppvi 我希望,但不,它仍然重新启动 (12认同)
  • 这对我也不起作用(使用 Windows 10 Home),因为系统只是重新启用了它。这个另一个答案表明您做同样的事情,但您还必须更改权限以防止 Windows 重新启用它:http://superuser.com/a/1125051/139323 (4认同)
  • qasdfdsaq 是对的。我将任务禁用了一周,然后昨晚我的机器重新启动。查看任务,它已启用。就像更新服务一样,如果您禁用它,Windows 将再次启用它。现在我要看看删除它会做什么。我怀疑它只会被添加回来。Windows 1607 (14393.447) (3认同)
  • 不起作用。Windows 会忽略这些文件的权限。 (2认同)
  • `nircmd` 不是 Windows 本机消息传递实用程序。然而,对于 Windows 10,“msg”是,所以对于那些不想下载其他工具的人,只需使用 `%windir%\system32\msg.exe * /SERVER:localhost "Windows 需要重新启动才能完成更新,请尽快重新启动。”`作为重新启动操作。我还强烈建议您在更改任务之前先导出任务,以便您有一个备份(以防万一,这总是一个好主意)。 (2认同)

Vom*_*yle 36

控制应用 Windows 更新后 Windows 何时重新启动

您可以控制允许Windows根据Windows 更新操作自动重新启动的时间,而无需禁用任何内容或强行停止Windows 更新服务。

此方法不会阻止下载或安装任何Windows 更新,因此操作系统安全补丁仍将应用于系统?您只需在准备好后重新启动即可。

请注意,在任何新修补的漏洞生效之前可能需要重新启动,因此您需要了解这一点,并且在及时应用补丁时仍会定期重新启动,以确保您的系统保持安全。

我将在下面更详细地解释,但本质上这使用批处理脚本根据它执行的运行时间动态设置和更改开始时间结束时间活动时间设置的相关注册表值,同时确保将值增加到始终提前几个小时。


这是一个本地 Windows 解决方案

与非 Windows 原生的Windows 10 Reboot Blocker解决方案不同,这是一个 100% Windows 原生解决方案,不需要任何第三方软件来完成使用注册表项来管理Microsoft 概述的重启行为的任务。


使用 Task Scheduler 进行调度

只需使用Task Scheduler安排一个批处理脚本 (如下提供)每天运行两次:

  1. 早上 6:05 一次
  2. 下午 6:05 一次

每次执行都会将ActiveHoursStartActiveHoursEnd时间设置为使Windows认为您始终处于活动状态的值,并确保Windows 更新操作不会重新启动。

如果您遇到任何问题(例如,遇到睡眠或休眠等省电模式的问题),则此过程的批处理逻辑和调度很容易扩展和调整


批处理脚本

注意:注册表值以十六进制格式设置。另请注意,下面的逻辑示例仅在 6:00:00 AM - 6:59:59 AM 或 6:00:00 PM - 6:59:59 PM 的帧执行脚本。不过,这可以通过IF %HH%==XX逻辑部分轻松调整;您还可以使用相同的逻辑来测试此功能以确认它按预期工作更改值

@ECHO ON

SET HH=%TIME: =0%
SET HH=%HH:~0,2%

IF %HH%==06 SET StartHour=06 & SET EndHour=13
IF %HH%==18 SET StartHour=12 & SET EndHour=07

CALL :ChangeActiveHours
REG IMPORT "%DynamicReg%"
EXIT

:ChangeActiveHours
SET DynamicReg=%temp%\ChangeActiveHours.reg
IF EXIST "%DynamicReg%" DEL /Q /F "%DynamicReg%"

ECHO Windows Registry Editor Version 5.00                              >>"%DynamicReg%"
ECHO.                                                                  >>"%DynamicReg%"
ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings] >>"%DynamicReg%"    
ECHO "ActiveHoursEnd"=dword:000000%EndHour%                            >>"%DynamicReg%"
ECHO "ActiveHoursStart"=dword:000000%StartHour%                        >>"%DynamicReg%"
ECHO "IsActiveHoursEnabled"=dword:00000001                             >>"%DynamicReg%"
GOTO :EOF
Run Code Online (Sandbox Code Playgroud)

十进制 0-255 的十六进制值

在此处输入图片说明


登记处

有关相关注册表设置的一些详细信息,这将发生变化,下面我将参考仔细查看 Windows 10 中的活动时间部分,了解此方法将产生的影响。

活动时间

活动时间不会改变这种行为,但它们为 Windows 10 操作系统添加了一个机制,以确保用户在活动时间不会因重新启动而受到干扰。

活动时间和登记处

  1. 点击 Windows 键,输入 regedit.exe,然后按 Enter。

  2. 确认 UAC 提示。

  3. 使用左侧的树层次结构导航到以下键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings

此处提供了以下选项:

  • ActiveHoursEnd:定义特征的结束时间。
  • ActiveHoursStart:定义功能的开始时间。
  • IsActiveHoursEnabled:如果设置为 1,则启用该功能。如果设置为 0,则禁用。

如果要更改要素的开始或结束时间,请双击其中一个条目。根据打开的提示切换到十进制,并使用 24 小时制输入开始时间。

请注意,您不能仅在注册表中添加完整小时的分钟数。

来源


确认

要确认这正常工作,您将

  1. 按下 在此处输入图片说明键一次,然后开始键入Windows 更新,直到您看到Windows 更新设置选项,然后单击它

在此处输入图片说明

  1. 单击*更新设置部分中的更改活动时间选项

在此处输入图片说明

  1. 记下活动时间窗口中的开始时间结束时间值,然后按,然后从设置屏幕中完全关闭。Cancel

在此处输入图片说明

  1. 现在运行批处理脚本,确保在运行脚本时相应地在变量中设置值,以确保它相应地设置开始时间结束时间的值,并确保它运行没有错误(如果需要,以管理员身份运行)。

  2. 现在再次执行步骤 1 - 3 并确认开始时间结束时间值已正确更改。


禁用

当您准备好允许Windows 更新根据其更新操作重新启动计算机时,您可以手动执行此操作,因为此方法不会阻止下载和安装 Windows 更新。如果您需要禁用此作业,可以通过禁用使用Task Scheduler执行它的计划任务来完成。


更多资源

在此处输入图片说明

  • 我认为这种方法是个好主意,但它有一点缺陷。如果您在晚上 7 点或更晚关闭计算机,然后在第二天早上 7 点或更晚打开它,您将保持活动时间设置为下午 6 点至上午 7 点,甚至设置“在错过预定开始后尽快运行任务”任务设置中的 to on 不会改变它。我认为批处理条件应该改为`IF %HH% LSS 06 SET StartHour=12 & SET EndHour=07 IF %HH% GEQ 06 IF %HH% LSS 18 SET StartHour=06 & SET EndHour=13 IF %HH % GEQ 18 SET StartHour=12 & SET EndHour=07` 使其与执行时间无关。 (4认同)
  • 非常聪明的解决方案并且解释得很好 - 尽管@MarianKlühspies 是正确的非技术人员被搞砸了。我稍微修改了批处理文件,如下:`IF %HH%==00 SET StartHour=00 & SET EndHour=12` `IF %HH%==01 SET StartHour=01 & SET EndHour=13` ...等,然后在任务计划程序中将其设置为每小时运行一次,以及从休眠状态唤醒(如@PimpJuiceIT 所述。 (2认同)
  • 请参阅此答案 https://superuser.com/a/1456571/351521,了解具有自动“计划任务”创建功能的“PowerShell”版本。我还从上面的评论中添加了触发器和设置。 (2认同)
  • “*据我所知,您的批处理脚本会在后台下载、安装和运行软件、挖掘加密货币并格式化我的硬盘。*”...这是一个“**原生 Windows 解决方案**”以及包含要运行的批处理脚本。您可以查看脚本的各个部分以确认它不是恶意的,它是一个批处理脚本,所有逻辑都可见,并且它完全按照我写的那样执行。幸运的是,没有人需要单独相信我的话,逻辑也在那里,你可以自己确认一下,看看它到底在做什么;它不是一个可执行文件。@StijndeWitt (2认同)
  • @StijndeWitt .... 我已经包含了与注册表路径相关的其他详细信息以及来自 Microsoft 的链接,供“普通”人员阅读,了解他们是否有兴趣了解有关该解决方案的更多信息。为了消除这种担忧,我建议任何有这种担忧的人阅读整个答案,而不仅仅是批处理脚本逻辑部分,以了解有关该问题的详细信息以及整个答案的其余部分的更多信息。我已经包含了参考来源的极端细节,并且完全来自 Microsoft 解释了它的作用。如果有人不信任它,我建议他们不要使用它。我同意! (2认同)

kpo*_*zin 34

您可以使用 Windows 自己的工具来禁用自动重启。

正如其他一些答案所提到的,Windows 使用名为\Microsoft\Windows\UpdateOrchestrator\Reboot. 但是,如果您打开 Task Scheduler 并禁用它,Windows 将在第二天愉快地重新启用它——即使您将其权限更改为只读。

我们不必每天进入 Task Scheduler UI 来禁用任务,而是可以自动设置它,使用schtasks命令行实用程序修改任务。


如果计划了重新启动,则以管理权限运行的以下命令将禁用该任务:

schtasks /change /tn \Microsoft\Windows\UpdateOrchestrator\Reboot /DISABLE
Run Code Online (Sandbox Code Playgroud)

知道了这一点,您可以创建自己的计划任务来定期运行上述命令并禁用 Windows 的阴险小计划。如果您熟悉如何使用 Task Scheduler,请设置您自己的任务。

除此以外,

  1. 将下面的标记复制并粘贴到文本编辑器中。
  2. 将其另存为 XML 文件。
  3. 在任务计划程序中,单击操作 > 导入任务...并选择此文件。
  4. 根据需要调整配置。
schtasks /change /tn \Microsoft\Windows\UpdateOrchestrator\Reboot /DISABLE
Run Code Online (Sandbox Code Playgroud)

  • 自 1980 年代以来,微软的智囊团一直让我感到悲伤。那个时候,就是无能。现在他们是故意这样做的。 (19认同)
  • 这个解决方案是迄今为止最好和最安全的。谢啦! (3认同)
  • 即使我登录到默认管理员帐户,我也无法在提升的 cmd 中运行此命令 - https://i.imgur.com/z0ef7nC.png (2认同)
  • *如果你打开任务计划程序并禁用它,Windows 会很乐意在第二天重新启用它*当微软决定这样做时,他们基本上向用户宣战了。 (2认同)

Mar*_*cos 10

我制作了一个PowerShell脚本,可以根据此答案(https://superuser.com/a/1208866/351521)动态设置Active Hours以防止不需要的重新启动。它设置这些注册表项:Windows Updates

  • HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings\ActiveHoursStart

  • HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings\ActiveHoursEnd

  • HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings\IsActiveHoursEnabled

你可以在这里得到它:https : //github.com/marcosbozzani/Win10ActiveHours

欢迎提出建议和请求请求!

变化

  • 转换BatchPowerShell在我看来更易于理解和维护)

  • 该脚本检查一个小时的范围而不是一个小时(如该答案的评论中所建议的那样)

  • 该脚本可以安装和卸载Scheduled task并设置适当的设置和触发器

  • Scheduled task如果需要,脚本可以手动执行

  • 创建了一个 Github 存储库(更容易更新和接受更改)

一般信息

  • 任务将在 \Win10ActiveHours\Update

  • Active Hours18小时有两个窗口:

    • 18:0012:00
    • 06:0000:00
  • 有四个触发器可以激活任务并在两个窗口之间切换:

    • 在电脑启动时
    • 在电脑醒来
    • 每天在 06:00
    • 每天在 18:00
  • 这些是任务的设置:

    • 醒来跑
    • 可用时开始
    • 不要停在空闲端
    • 如果使用电池,则允许启动
    • 如果继续使用电池,请不要停止

有关更多信息,请参阅存储库中的README.md


Joa*_*kim 10

其他答案需要第 3 方软件或正在运行的任务/服务,并且许多必须在 Windows 更新后重复。该解决方案有几个优点:

  • 快速而简单:只需一个 cmd 命令
  • 它是永久性的:Windows 更新后无需重复
  • 轻量级:无需运行服务或任务

解决方案

以管理员身份在命令提示符中运行此命令:

cd C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator && rename Reboot Reboot.backup & rename Reboot_Battery Reboot_Battery.backup & rename Reboot_AC Reboot_AC.backup & rename USO_UxBroker USO_UxBroker.backup & mkdir Reboot & mkdir Reboot_Battery & mkdir Reboot_AC & mkdir USO_UxBroker & copy NUL Reboot\empty_file & copy NUL Reboot_Battery\empty_file & copy NUL Reboot_AC\empty_file & copy NUL USO_UxBroker\empty_file
Run Code Online (Sandbox Code Playgroud)

如果您收到拒绝访问错误的备份解决方案:

cd C:\Windows\System32\Tasks\Microsoft\Windows && takeown /F UpdateOrchestrator /A /R /D y && icacls UpdateOrchestrator /reset /T /C && icacls UpdateOrchestrator /T /C /grant *S-1-5-32-544:F && cd UpdateOrchestrator && rename Reboot Reboot.backup & rename Reboot_Battery Reboot_Battery.backup & rename Reboot_AC Reboot_AC.backup & rename USO_UxBroker USO_UxBroker.backup & mkdir Reboot & mkdir Reboot_Battery & mkdir Reboot_AC & mkdir USO_UxBroker & copy NUL Reboot\empty_file & copy NUL Reboot_Battery\empty_file & copy NUL Reboot_AC\empty_file & copy NUL USO_UxBroker\empty_file
Run Code Online (Sandbox Code Playgroud)

最后一条命令执行相同的操作,但首先授予管理员对 UpdateOrchestrator 文件夹和内容的所有权和完全权限。


它能做什么

更新后自动重新启动是由Windows任务,专门之一执行RebootReboot_ACReboot_BatteryUSO_UxBroker。这些任务在文件C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator夹中的文件中定义。

此解决方案重命名这些文件并在它们的位置创建具有相同名称的文件夹。然后它会在每个创建的文件夹中放置一个空文件。

这有效地删除了负责自动重启的任务,并防止 Windows 重新创建它们。

为什么有效

更新后Reboot,Windows 无法再运行Reboot_ACReboot_BatteryUSO_UxBroker任务,因为它们不再存在(作为具有不同名称的备份除外)。

发生这种情况时,Windows 将尝试通过重新创建(或修复)预期任务(文件)来解决问题,然后运行它们。但是,Windows 将无法创建所需的文件,因为目标文件夹中有一个同名的文件夹,并且同一文件夹中的两个项目不能具有相同的名称。

此外,由于文件夹和文件是不同的东西,Windows 将无法将文件夹修改为包含正确任务定义的文件。

最后,因为该命令会在每个创建的文件夹中放置一个空文件,所以它们不太可能被自动删除(这是重新创建任务所必需的)。这是因为删除包含内容的文件夹需要递归删除命令,该命令永远不会用于删除 Windows 预期为文件的对象。

由于这些原因,此解决方案比那些依赖于更改文件所有权/访问和/或修改相关任务的解决方案更强大,Windows 可以(并且经常)在更新期间“修复”这些问题。

解决方案的来源和测试

我从这篇文章中了解了我的解决方案中使用的技术。我已经使用这种技术好几年了,除了今年 1 月(2020 年),当微软添加了新的Reboot_ACReboot_Battery任务时,一直没有经历过一次自动重启,Windows 更新现在也使用它们来启动自动重启。

我自己更新了解决方案以解决新任务,并且在我进行更改后成功阻止了重新启动。

2020 年末,该任务USO_UxBroker已添加到 Windows。任务描述 ( This task triggers a system reboot following update installation) 确认了其目的,因此解决方案现在也中和了此任务。感谢@Simon East 在评论中指出这个任务。

整个答案,包括 cmd 命令,都是我自己的原创作品。


Fra*_*pia 5

Windows 10 重建了他的 Windows 更新策略,在以前的版本之间添加了一些差异。

即使 Windows 更新服务关闭,Windows 更新也会强制更新,这适用于家庭用户,因为某些更新需要强制重启,重启计划程序无法关闭。

这并不意味着您不能阻止更新,也许您可​​以作为阻止更新服务器来做一个变通方法,但是假设您在整个互联网上有数百种方法可以做到这一点,这可能会非常烦人。

一份参考这里的报纸

更新。该软件会定期检查系统和应用程序更新,并为您下载和安装它们。您只能从 Microsoft 或授权来源获取更新,并且 Microsoft 可能需要更新您的系统以向您提供这些更新。接受本协议,即表示您同意在不另行通知的情况下接收这些类型的自动更新。

Windows 10 EULA

有关 Windows Update for Business 的一些信息解释了家庭用户之间的差异和企业更新的优势在这里

  • 更新通常不是问题,重启和破坏用户的工作才是问题。但是现在谁需要用户呢? (14认同)
  • 这个答案大错特错。禁用 Windows 更新服务绝对可以解决问题。这是解决问题的唯一方法。我禁用它已经有几个月了,我的计算机从未尝试过重新启动。不要只是“停止”服务......停止并将其设置为“禁用”。问题解决了。当您想安装更新时启用它。除了 100% 手动操作之外,重写您的计算机的内脏并杀死您的所有工作都没有任何意义。微软在 Windows 10 中的所作所为令人作呕和令人气愤。 (2认同)
  • 我的问题是,我想要鱼与熊掌兼得。我*确实*想要更新,但我*不*想要强制自动重新启动,从而关闭我的所有应用程序并破坏我的工作。 (2认同)

Mar*_* NJ 5

似乎“对于计划的自动更新安装,登录用户不自动重启”目前不适用于 Windows 10,但根据 Lifehacker.com 上的这篇文章(http://lifehacker.com/enable-metered-connection -to-delay-windows-10-updates-1723316525 ),在 Windows 10 中启用计量连接可能会停止或至少进一步延迟 Windows 更新。

Windows 10 附带一项功能,可让您以某种方式指定您的 Internet 连接是否有上限、节流或有障碍。您可能会在公共 Wi-Fi 网络上绑定手机,或者在您的家庭网络上设置了糟糕的数据上限。通过启用“计量连接”,微软将通过等待强制下载来尊重这一点。要打开它,请按照下列步骤操作:

  1. 在开始菜单中搜索“更改 Wi-Fi 设置”
  2. 单击高级选项。
  3. 启用“计量连接”下的切换。

这种方法的一个主要缺点是它只有在您的计算机通过 Wi-Fi 连接时才有效。出于某种原因,Windows 10 不允许您指定在通过以太网连接时对您的连接进行计量(尽管许多家庭互联网连接都有数据上限)。但是,这应该可以帮助许多典型用户。

  • 只需完全禁用该服务。禁用 Windows 更新是唯一的解决方案。就我而言,事实上,Windows Update 的自动重启在 2 个月内造成的工作破坏和痛苦比我在过去 20 年中遇到的任何病毒或恶意软件加起来都要多。禁用 Windows 更新服务。问题解决了。 (3认同)

归档时间:

查看次数:

370640 次

最近记录:

4 年,9 月 前