
Windows 11发布已经三年了,安装操作系统的硬件TPM 2.0安全模块的需求造成了障碍,不过已经有网友发现出一些绕过的方式,强制把旧电脑升级到Windows 11。 不过,现在可能又有了新障碍。
CPU不支持POPCNT指令无法升级到 24H2
不过,外媒指出,从Windows 11 版本 24H2开始,又增加了一道新的门槛。 现在,必须要支持POPCNT指令才能启动。 这表示如果您的 CPU 没有支持 POPCNT指令,就无法升级到 24H2(只要是 Build 26 开头的版本号,都将定义为 24H2)。
最近,根据一位用户Bob Pony分享的消息,在他的电脑上安装Windows 11 build 26058 时,他的设置页面上跳出一个通知,指电脑的处理器不支持关键功能(PopCnt) 等,不符合升级到Windows 11系统的条件。

什么是POPCNT指令,为什么没有他就不让你升级?
popcnt缩写自population count,是x86架构CPU提供的一个指令,属于SSE指令集。 popcnt指令可以在一个指令周期内计算出一个字长(对于64位机器就是64位)的二进制串的汉明权重(Hamming Weight)。
在这里又要解释一下「汉明权重」,这是指一串符号中非零符号的个数。 因此它等同于同样长度的全零符号串的汉明距离。 与之相关的还有汉明距离,是指用来量测两个长度相同的字符串的差异程度。
POPCNT 指令,可以用来计算一个数字的二进制形式中「1」的数量。 这项技术是由Intel在2008年推出的第一代Core处理器里的SE4.2指令集中实现的; 对于AMD来说,是在2007年的Barcelona处理器架构中首次引入了这个指令。 因此,大约在这之后出的CPU,应该都支持popcnt指令。
而在根据 Deskmodder报导,在Windows 11 Canary 26063 版本开始,会自动检查电脑 CPU 是否与「SSE4.2」指令兼容。 如果处理器没有通过检查,将无法运行最新版本的Windows 11。
虽然微软没有说明为什么这个指令很重要,不过通常POPCNT 常会用在密码算法中,参考先前微软不让你升级到Windows 11主要的原因是不支持TPM2.0,是与安全相关的考量。 所以可以推论是因为后来有些朋友找到了一些绕过现有TPM2.0检查机制的方式,可以强迫升级到Windows 11的方法,或许是微软为了防堵漏洞,因此又新增了这个限制。
不过,相较于TPM 2.0安全模块的硬件问题,其实SSE 4.2指令自 2008 年之后推出的处理器应该都会支持,所以目前大多数的电脑应该都有支持,也不用太过担心。