我这里有两台崭新的 Thinkpad X1 Carbon。一台是第 10 代(第 12 代 Intel i7-1260P)。一台是第 11 代(第 13 代 i713SSU)。两台都运行 Window 11 Pro 22H2。我有一个 Linux(Slackware 15.0)虚拟机,我从之前的设置中将它复制到两台上(因此 VM 映像是相同的)。我在两台电脑上运行 VMWare Workstation Player(准确地说是 17.0.2 build 21581411)
在 gen10 机器上一切正常。在 gen 11 上,几乎一切正常,除了:
- 如果我在第 10 代上启动虚拟机,则需要 7 秒才能完全启动
- 如果我在第 11 代上启动同一个虚拟机,则需要9 分钟只是为了越过“正在加载 Linux...”的位置
这台所谓较新的机器的其余启动过程明显慢了不少,但也不是特别慢。
可能相关的奇怪现象:
- 第 11 代的 CPU 应该为 3.70 GHz P 核,最高可达 5.00 GHz,但 Windows 性能面板上显示为 1.7GHz
- 第 10 代有 32GB 的 RAM。第 11 代有 16GB - 由于某种原因,32GB 不是一个可用选项,它在旧系统上运行良好,旧系统也是 16GB
我试过了:
- 更改 Windows 上的电源设置(均设置为最佳性能)
- 禁用启动时警告我的侧信道缓解措施 (ulm.disableMitigations = "TRUE")
- 使用基础 slackware 15 ISO 在新的虚拟机上进行全新安装 - 安装正常,但出现了相同的启动问题
- 将机器的 RAM 从 8G 减少到 4G
以上任何一种方法都没有带来任何明显的区别。如果系统总体上存在上百倍的性能问题,我早就注意到了,并把它送回去了,所以我只能想象这是硬件/windows/VMWare 设置之间的一些奇怪的交互?
答案1
最终我搞明白了。这是 MS Hyper-V 的胡言乱语导致的性能下降。
本文https://communities.vmware.com/t5/VMware-Workstation-Pro/since-the-latest-W11-updates-my-W10-vm-s-are-extremely-slow/td-p/2938324描述了虚拟机的总体性能缓慢。我不知道为什么它对内核加载特别糟糕。
如果该行vmx Monitor Mode: ULM
出现在 VMWare 日志中(与虚拟机映像和设置一起),那就完了。
如果出现了这条线vmx Monitor Mode: CPL0
,那么一切都好了。
同样,如果 Windows 系统信息中的一行显示“基于虚拟化的安全性”为“未启用”,则 VMWare 有机会。否则,正如上面的文章所说“VMware Workstation 必须切换到 MS 的虚拟机管理程序才能运行”。我们需要禁用此功能(以及任何强制在启动时启用此功能的功能)
修复步骤:
- 搜索“核心隔离”
- 找到“内存完整性”下的复选框并将其关闭
bcdedit /set hypervisorlaunchtype off
以管理员身份在 Windows 命令行中运行- 重新启动并重试 - 此时它可能有效
- 如果没有,请在 regedit 中找到各个条目
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard
,并将它们全部设置为零 - 如果这不起作用,请再次编辑注册表并更改或添加 DWORD 条目
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LsaCfgFlags
为零HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard\LsaCfgFlags
答案2
我尝试了@Richard Wheeldon 的解决方案,但vmx Monitor Mode: ULM
状态没有改变。不过,对我有用的是为我的机器启用硬件加速。
地点:
- 当您的虚拟机正在运行时>编辑>首选项>显示>图形
并确保选中“远程虚拟机硬件加速”。我知道这是针对远程主机的,但我不知道它为什么对我有用。希望它能帮到你!