绕过微软限制:让基于新处理器的Win7/8.1系统继续接收更新

2017-04-1915:17:08 评论 11,293

正如我们此前所报道的那样,微软已经停止向基于“下一代处理器”的 Windows 7 / Windows 8.1 系统平台推送更新(比如 英特尔 Kaby Lake 和 AMD Ryzen),甚至还误伤了 AMD 家的六代 APU 。显然,微软极力希望大家升级到最新的 Windows 10 平台。但是对于想停留在 Windows 7 / 8.1 环境中的七代酷睿用户来说,其实还有一个继续接收更新的变通方法。

绕过微软限制:让基于新处理器的Win7/8.1系统继续接收更新

一位名叫 zeffy 的 Github 开发人员发现,还是有办法去突破微软的封锁的。

zeffy 先是下载了出现问题的 .msu 安装包(其系统对应的是 windows6.1-kb4012218-x64_590943c04550a47c1ed02d3a040d325456f03663.msu),然后将它解压出来、整理二进制文件、并与系统上已安装的进行对比。

在经过大量的调查工作之后,他终于找到了罪魁祸首,它们是 —— IsDeviceServiceable(void) 和 IsCPUSupported(void) 。有鉴于此,zeffy 给出了如下解决方案:

给动态链接库(dll)打补丁,将 0x26C948 的 dword_600002EE948 值(见此行)从 0x01 改为 0x00,以便 IsDeviceServiceable(void) 跳过整个实体,并立即回复 1(表明 CPU 可支持)。

—— 这是首要推荐的方法,但请注意只能在 Windows 7 x64 版本中使用。

给动态链接库(dll)打补丁,清理 IsDeviceServiceable(void) 中所有高亮的指令(见此行),以启用注册表 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateTestScan 下的 ForceUnsupportedCPU(类型为 REG_DWORD)。

—— 如果没有,就自建一个,将设定值从 0x00000001(强制不支持 CPU)改为 0x00000000,以变更默认行为。之后可能需要重启计算机,以应用此更改。

—— 需要注意但是,此行为暂无明文可证,未来版本中可能会被移除。

最后,修改有风险,操作需谨慎。为防意外,请不要轻易在生产环境中尝试;且在修改 dll 文件前,请务必做好充分的备份工作。

[编译自:BetaNews]

weinxin
N软网微信公众号扫一扫
观点新鲜独到,有料有趣,有互动、有情怀、有福利!关注科技,关注N软,让我们生活更加美好!
  • A+

发表评论