微软在 7 月 12 日发布 Windows 11 Can Build 25905 版,自此版本开始分支版本代号也从锌 (Zn) 迁移到镓 (Ga),而正是从这个版本开始,微软似乎悄悄调整了 Windows 11 安装要求,不再允许用户通过改注册表的方式跳过 CPU 检测,这意味着如果用户使用的是英特尔第 7 代及以下版本的 CPU,那将无法安装或更新 Windows 11。# M j9 V4 r2 M3 x
& D" i- M2 W- b, r
这是怎么发现的
G6 }; n% E; O/ Y \6 z* W
& e* P; `. i4 n! ~$ Y- {为避免翻车影响工作,并没有在主力鸡上安装 Windows Insider 版本,我们使用的方案是在一台物理机上安装 PVE 系统,然后在 PVE 里安装各个通道的测试版。
8 r2 I# }% t' i2 L# u- ~- ], o/ f8 L
我们的物理机环境是没有 TPM、CPU 为 Intel Core i5-10210U,之前安装 Windows 11 金丝雀版时,配置的虚拟化 CPU 为 Common KVM Processor。" k& c7 r5 a- c3 z C s
6 ?6 ^# w$ Y, J; l! L
Build 25905 的前一个版本是 Build 25387 版,在 Build 25387 及之前版本里,直接安装和升级金丝雀版都没有任何问题,当然由于缺少 TPM 所以我们改注册表跳过了 TPM / CPU 检测,之后使用一切正常。(用的注册表项是 AllowUpgradesWithUnsupportedTPMOrCPU )
7 K; k* y0 x0 H$ p( s& b6 o5 f( A' | {" A; o& s: \* {
而自 Build 25905 版发布后,系统无法再更新,每次卡到 8% 后弹出安装提示,不支持该 CPU,这段时间也比较忙,就没再折腾,结果这台长期开机的 PVE 虚拟机经常弹出报错,因为系统不断地尝试升级,失败后就不停地报错。$ s6 H0 F ?0 f+ n7 k' N' m
V& {4 B( a' T, P& P
跳过 CPU 的注册表也没用?# _: |- b+ b+ p+ g9 ?
* I" x( h5 v7 o3 c
是的,之前发现问题的时候我们就尝试改注册表跳过 CPU,但无果。今天撰写这篇文章时,我们再次测试( 额外添加添加 BypassCpuCheck ),发现微软应该是忽略了跳过 TPM / CPU 的注册表项,导致无法跳过 CPU。6 U; h" j8 t. H
2 U& q6 P K( z/ j3 ~& D
如何确认这不是个别问题?
" A) G, R4 A B S9 p+ D9 w8 A L! f8 t5 u3 X
说实话一直以为这是我们的虚拟化环境问题,但今天看到德国科技网站 Deskmodder 发布了一篇文章,提到了类似问题。$ h) q) u5 k# n, e# H$ H0 L. }' v
7 K8 F) |/ h% @2 U9 h
起因是该网站的一名读者发现自己的 Intel Core 2 Duo T6500 无法安装 Windows 11 Can Build 25905 版 (此版本微软提供了 ISO 镜像),T6500 是一颗古老的 CPU,但在之前跳过 CPU 检测安装 Windows 11 后使用一切正常。8 v! x* P" c" a3 C9 e/ r
0 t3 Y v8 [2 l: u
就这个问题 Deskmodder 把 Build 25905 的 WIM 提取出来套在开发版的 ISO 里,这样可以判断是不是引导步骤出问题。7 R5 P! l2 C* }7 f1 u% \$ Z
& F% X* T& H5 |" H+ ?1 q% w- A) u, M
测试结果显示与 WIM 无关,而的测试结果是微软动的是 Appraiserres.dll 文件,这个用于检测环境是否支持的文件被微软动过,于是无法跳过 CPU 检测了。3 j/ u7 d( I9 r) `; d
. F" h, k, F/ ^: f+ o/ N" G
还有解决办法吗?
) z- e- p4 X0 c$ i; ~/ _- g l+ z3 Y; _- R, V7 @
有,尽管无法在线升级,但想要继续跳过 CPU 检测还是有办法的,那就是对 Appraiserres.dll 动刀,方法参考之前的:将这个文件删除后,新建一个 txt 文档,将文件名和后缀改成 appraiserres.dll,然后把它的属性改为所有角色不可读不可写,以此跳过检测。
& S8 `" J$ J; Q W2 ^
" N6 [$ }0 C a' b顺手下载了 Build 25905 ISO 镜像,利用这个办法成功完成升级,也就是暂时还是可以继续绕过 CPU 的。(通过系统升级无法使用此方法,因为修改 dll 后系统会将 sources 里内容强制清空)
' R; j( W9 K6 D7 h' g1 S, N
& l5 v3 c9 V$ b/ h9 d$ b不过对金丝雀版用户来说这比较头疼,因为不是每个版本微软都提供 ISO 的,没有 ISO 就没法升级,除非用户每次自己 UUP 打包,那确实太麻烦。
( u9 m _% s% n; K- y( w3 ?+ h/ b! c) v5 B. V6 l- ]
潜在影响:1 Z" x# l. Z! B
, P F7 y$ g, ~" Z诸如 Rufus / Ventoy 等装机工具自带跳过 Windows 11 硬件检测选项,这个方法失效后,使用这些装机工具可能也会出问题。8 A+ m0 C# P5 v! S% r
# U/ {6 h$ u0 o* v% Q不过目前这些改动仅在 Windows Insider Canary Channel 中,所以正式版暂时不受影响。# Z, s1 g& L* s7 d! n/ I
$ s% R& `9 E3 R+ Q% t: d
|