我知道:
- 官方支持的CPU列表
- TPM 2.0 的要求
- 安全启动的要求
我相信有些人会知道,可以绕过上述要求,让 Windows 11 在官方“不兼容”的硬件上运行。
新处理器指令集中的附加指令?
但是对于该支持列表中的 CPU,它们的指令集中是否有其他指令可供微软开发人员在未来的 Windows 11 版本中使用?
我想知道这些指令是否会出现在 Windows 某些部分的低级汇编代码中,或者是由使用的 C/C++ 编译器在软件的其他地方以机器语言生成的。如果是这种情况,那么在运行 Windows 11 时延长非兼容硬件的使用寿命* 的前景最终会在包含带有这些处理器指令的代码的更新发布后突然结束:没有这些处理器指令的处理器将无法识别它们,并且该软件可能会失败、不可靠或不安全。
如果这些新处理器不引入新的处理器指令,那么现有“不兼容”硬件的前景更加乐观。那么挑战可能仍然是对硬件外围设备(如 TPM 2.0)以及安装环境(如 SecureBoot)的依赖存根。
x86-64 总是 x86-64?
除了 x86 32 位 amd x84-64 或 amd64 64 位指令集(后者仅受 Windows 11 支持)之间的区别之外,我不知道新处理器仅支持任何其他变体。
虚拟化来拯救?
如果兼容处理器中存在这样的附加指令,将来可能会在 Windows 11 中使用,“不兼容”硬件的另一个选项可能是虚拟化层(可能由该行中已建立的第 3 方供应商提供)它将新指令即时转换为旧 CPU 可以支持的指令,而旧 CPU 支持的大多数其他指令只是通过,因此总体性能类似于完全原生的。我们在几个案例中看到了这样的虚拟化和翻译:在 ARM 上的 Windows 上模拟的 x86-64 应用程序,在 M1 上运行的 Apple Rosetta 以支持 Apple Intel 编译的应用程序。
用户体验 - 使虚拟化无缝化,就像机器从启动时就有一个更新的 CPU
对于这种虚拟化制造商来说,确保 Windows 11 在旧硬件上运行的挑战可能是用户体验。理想情况下,它应该在启动后出现,以便 Windows 11 在虚拟化上从启动运行。而不是启动到 Windows 10,然后运行虚拟化应用程序(如 VirtualBox、VMware 或 Parallels 来启动 Windows 11 映像)。那是额外的步骤,笨重,可能不如性能。因此,在我看来,Hypervisor 软件可能是在旧硬件上从一开始就运行 Windows 11 的方法。也欢迎在这里提出想法。
当然,Linux
*在任何人提到它之前,我很清楚 Linux 以及可能仍然在这种“旧”“不兼容”硬件上运行的各种发行版。请注意,因为我每天都使用 Linux,以及 Windows 和 macOS。抱歉,我不是来讨论什么平台比另一个平台更好的概念性讨论。
为了回答我自己的问题并根据评论贡献(谢谢),我倾向于得出结论:
回答
目前,答案似乎介于:
否。Windows 11 支持的 CPU 列表中没有特定指令,这些指令不在该列表中的 Windows 11 可执行文件中使用
否。目前尚不清楚Windows 11 支持的 CPU 列表中的特定指令,这些指令不在该列表中的 Windows 11 可执行文件中使用
不可以。但专门针对 Windows 11 的应用程序可能会使用这些受支持的 CPU 中的指令,因此无法在具有不受支持的处理器的 Windows 11 计算机上运行。此处的解决方法是不使用 Windows 应用商店程序,而是使用它们的独立下载等效程序,前提是供应商也支持该程序并使用兼容模式工具在早期版本的 Windows 中运行应用程序。此处假定的结果是在代码选择代码中运行替代可执行文件和/或有条件地运行与在所选 Windows 早期版本上运行的所有 CPU 兼容的代码。
自然我希望它是'1'。假设x86-64 的定义仍然成立,并且 Windows 11 在相同的 x86-64 硬件定义上运行。
但这可能会引出一个精致的问题:Windows 11 支持 CPU 的准确标准是什么?如果它不是 x86-64 那么它是什么?(我可以作为一个单独的问题提出)。
其他可能的问题包括:Windows 11 如何检测支持的 CPU 型号?