ESXi 导出的虚机导入到 Fusion 或者 Workstation 中无法启动,蓝屏提示 SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

Posted by sysin on 2021-09-14
Estimated Reading Time 2 Minutes
Words 682 In Total
更新日期:Tue Sep 14 2021 15:05:53 GMT+0800,阅读量:

请访问原文链接:ESXi 导出的虚机导入到 Fusion 或者 Workstation 中无法启动,蓝屏提示 SYSTEM_THREAD_EXCEPTION_NOT_HANDLED,查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


无耻抄袭者 Yu Tao,请立遁!!!

笔者这几天在制作 Windows Server 2022 OVF 的时候,发现镜像在 ESXi 上明明运行良好,部署到 Fusion 或者 Workstation 上就蓝屏无法启动了,多次搜索蓝屏报错提示才找到问题所在。

现象描述

具体是这样的,通过 vCenter(本例为 vSphere 7.0 U2)导出的虚机,使用标准 ovf 配置,默认不会导出扩展属性(后来对比分析得出),导出的虚机在 Fusion 或者 Workstation 上无法启动,蓝屏报错:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED。

hpet-bluescreen-win2022

而同样的虚机通过 ESXi host Client 导出,默认包含了所有扩展属性 (sysin),导出的虚机在 Fusion 或者 Workstation 上可以正常运行。

原因

在目前版本的 Fusion 12.1 或者 Workstation 16.1 上默认没有启动 High Precision Event Timer (HPET),中文直译为高精度事件定时器,在 ESXi 7.0 中默认启用,而新版的 Windows 10 需要此功能。具体从何版本未验证,相关文档显示 Windows 10 1809 开始需要此功能,但是 Windows 2019 基于 1809 没有此问题,Windows 2022 基于 21H2 存在该问题。如有了解真相的读者还望留言告知,先谢过😄。

HPET 是什么?(下面是 网上摘抄 的,看起来有点玄乎。)

HPET(High Precision Event Timer, 高精度时钟),是 Intel 和微软为了替换之前 PIT 或 RTC(都可以当定时器用的一个东西)所设计的一个硬件。它由一个主的计数器和比较器组成 (sysin),计数器一般是 64 位的,比较器至少有 3 个最多 32 个(这个我没考察过,只是翻译),通常比较器是 32 位或 64 位的。HPET 通过内存映射 IO 来操作,内存的基地址可以从 ACPI 中找到。

解决方案

编辑虚机 vmx 加入:hpet0.present=true

或者在 OVF 中加入如下配置:

1
<vmw:ExtraConfig ovf:required="false" vmw:key="hpet0.present" vmw:value="TRUE"/>

提示:ovftool 中需要使用 --ExtraConfig 参数启用该项配置。

未来展望:新版的 Fusion 和 Workstation 可能会更改默认启用 HPET。

目前非微软系统都没有该项要求。

搜索到的参考文章


捐助本站 ❤️ Donate

点击访问官方网站


文章用于推荐和分享优秀的软件产品及其相关技术,所有软件默认提供官方原版(免费版或试用版),免费分享。对于部分产品笔者加入了自己的理解和分析,方便学习和测试使用。任何内容若侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,或者发现有不当之处,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!

支付宝赞赏 微信赞赏

赞赏一下


☑️ 评论恢复,欢迎留言❗️
敬请注册!点击 “登录” - “用户注册”(已知不支持 21.cn/189.cn 邮箱)。请勿使用联合登录(已关闭)