运行 Windows 7 家庭版的客户一定已经保留或同意升级 Windows 10,因为我每天都会看到升级安装失败的消息。
该客户尚未准备好使用 Windows 10,因此安装失败是正常的。但如何让它停止尝试?一旦授予升级权限,我该如何撤销该权限以使其停止尝试升级?
我运行了 Windows 更新疑难解答程序来清除更新,并卸载并隐藏了 KB3035583,但它仍在尝试升级。在任务管理器中,没有 GWX.EXE 进程。
事件日志失败消息:
Log Name: System
Source: Microsoft-Windows-WindowsUpdateClient
Date: 8/5/2015 1:28:58 AM
Event ID: 20
Task Category: Windows Update Agent
Level: Error
Keywords: Failure,Installation
User: SYSTEM
Description: Installation Failure: Windows failed to install the following update with
error 0x80240020: Upgrade to Windows 10 Home.
WindowsUpdate.log 中的相关行:
2015-08-05 01:28:57:885 1068 6698 Agent *************
2015-08-05 01:28:57:885 1068 6698 Agent ** START ** Agent: Installing updates [CallerId = AutomaticUpdates]
2015-08-05 01:28:57:885 1068 6698 Agent *********
2015-08-05 01:28:57:885 1068 6698 Agent * Updates to install = 1
2015-08-05 01:28:57:885 1068 6698 Agent * Title = Upgrade to Windows 10 Home
2015-08-05 01:28:57:885 1068 6698 Agent * UpdateId = {27E79986-1150-4342-BDD2-76DF82C768D5}.201
2015-08-05 01:28:57:885 1068 6698 Agent * Bundles 1 updates:
2015-08-05 01:28:57:885 1068 6698 Agent * {FCD6621E-F5D4-4A95-AD43-28F0C58DD2F3}.201
2015-08-05 01:28:58:181 1068 6698 DnldMgr Preparing update for install, updateId = {FCD6621E-F5D4-4A95-AD43-28F0C58DD2F3}.201.
2015-08-05 01:28:58:181 27280 6f84 Misc =========== Logging initialized (build: 7.6.7601.18917, tz: -0700) ===========
2015-08-05 01:28:58:181 27280 6f84 Misc = Process: C:\Windows\system32\wuauclt.exe
2015-08-05 01:28:58:181 27280 6f84 Misc = Module: C:\Windows\system32\wuaueng.dll
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::::::
2015-08-05 01:28:58:181 27280 6f84 Handler :: START :: Handler: Windows Setup Install
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::
2015-08-05 01:28:58:181 27280 6f84 Handler : Updates to install = 1
2015-08-05 01:28:58:181 1068 5ecc AU >>## RESUMED ## AU: Installing update [UpdateId = {27E79986-1150-4342-BDD2-76DF82C768D5}]
2015-08-05 01:28:58:181 1068 5ecc AU # WARNING: Install failed, error = 0x80240020 / 0x00000000
2015-08-05 01:28:58:181 27280 6f84 Handler : WARNING: Exit code = 0x80240020
2015-08-05 01:28:58:181 1068 5ecc AU Write OSUpgradeState =14 with OSUpgradephase =2
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::
2015-08-05 01:28:58:181 27280 6f84 Handler :: END :: Handler: Windows Setup Install
2015-08-05 01:28:58:181 27280 6f84 Handler :::::::::::::
答案1
进一步的谷歌搜索让我找到了一个注册表项,它看起来好像控制升级过程。
尝试升级的机器具有以下值:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade]
"KickoffDownload"=dword:00000001
"KickoffSource"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade\State]
"OSUpgradeState"=dword:0000000e
"OSUpgradeStateTimeStamp"="2015-08-04 15:59:55"
"OSUpgradePhase"=dword:00000002
另一台 Windows 7 机器,我已删除 KB3035583前Windows 10 已发布(并因此成功阻止升级),具有以下值:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade\State]
"OSUpgradeState"=dword:00000001
"OSUpgradeStateTimeStamp"="2015-07-28 10:09:55"
我更新了“升级”机器上的注册表以匹配“被阻止”机器的注册表,然后重新启动了机器。
此外,感谢@Ramhound 的评论,我发现了一个 $Windows.~BT 隐藏文件夹,里面有 5.1GB 的内容。我运行了磁盘清理并删除了“临时 Windows 安装文件”。该文件夹现在不见了。
我们将看看这是否能成功阻止进一步的升级。
2015 年 8 月 7 日更新
机器已停止尝试升级到 Windows 10,因此注册表更改一定有效。我两天前设置的值没有改变。
答案2
现在很容易永远不会 10,一款用于阻止 Windows 10 升级的便携式实用程序。