Hyper-V与虚拟化

排查 Hyper-V 虚拟机输入、迁移和设备集成问题 - Windows Server

· 52CE 我爱测

本文提供了一个全面的指南,用于排查 Hyper-V 虚拟机(VM)遇到的常见问题。 它侧重于解决与设备集成(例如鼠标、键盘、图形处理单元(GPU 或 USB)相关的问题,以及增强会话模式。 在平台升级、群集配置更改或从其他虚拟机监控程序(如 VMware)迁移后,可能会出现这些问题。 解决这些问题对于维护 VM 可用性、确保网络连接和支持业务运营至关重要。 最终用户症状 - 升级到 Windows 11 后,鼠标移动在 Linux 来宾 VM 中垂直方向显

本文提供了一个全面的指南,用于排查 Hyper-V 虚拟机(VM)遇到的常见问题。 它侧重于解决与设备集成(例如鼠标、键盘、图形处理单元(GPU 或 USB)相关的问题,以及增强会话模式。 在平台升级、群集配置更改或从其他虚拟机监控程序(如 VMware)迁移后,可能会出现这些问题。 解决这些问题对于维护 VM 可用性、确保网络连接和支持业务运营至关重要。

最终用户症状

  • 升级到 Windows 11 后,鼠标移动在 Linux 来宾 VM 中垂直方向显示。
  • 使用增强会话模式时,鼠标和键盘在 Windows 11 VM 中变得无响应。
  • 无法执行启用了受信任平台模块(TPM)的 VM 的实时迁移。
  • 分配给虚拟局域网(VLAN)的 VM 会失去网络连接。
  • 无法从 VMware 迁移后将 USB 设备或 GPU 卡连接到 VM。
  • VM 遇到频繁、随机重启或意外连接丢失到业务应用程序的情况。

技术/系统症状

  • 错误消息:

未能删除检查点。 (虚拟机 ID...) - > 虚拟机无法生成 VHD 树:灾难性故障(0x8000FFFF) - > 无法删除检查点:灾难性故障(0x8000FFFF) - > 系统找不到指定的文件。

  • 事件 ID:

    • 事件 ID 1069(故障转移群集):群集资源故障。
    • 事件 ID 41 (Kernel-Power):系统重新启动,无需干净关闭。
    • 事件 ID 18502(Hyper-V-Worker):VM 已关闭。
    • 事件 ID 3056(Hyper-V-Worker):NUMA 拓扑不匹配警告。
    • 事件 ID 1106(Hyper-V VMMS):实时迁移期间访问冲突(c0000005)。
  • 可靠性监视器显示重复的 System Center Virtual Machine Manager (SCVMM) 代理崩溃。

  • 迁移到 Hyper-V 后无法卸载 VMware 工具。

  • VM 挂起或无响应,Windows Management Instrumentation(WMI)或本地安全机构子系统服务(LSASS)等服务 CPU 使用率较高。

  • Hyper-V 管理器显示阻止备份的孤立检查点。

原因 1:输入和设备集成失败

  • 作系统(OS)或虚拟机监控程序兼容性:将主机 OS(例如,升级到 Windows 11 版本 24H2)可能会引入 Hyper-V 集成服务中的更改,从而导致输入反转或丢失,尤其是在非 Windows 来宾 VM 中。
  • 增强会话模式:协议或驱动程序问题可能会中断 Windows 11 VM 上增强会话模式下的输入设备功能。
  • 从 VMware 迁移:VMware 工具不完整或不兼容的删除,或者 VMware 与 Hyper-V 之间的设备直通(例如 USB 或 GPU)的差异可能会导致连接和性能问题。

解决方法:输入和设备集成问题

来宾 VM 中的鼠标或键盘问题

对于 Windows 11 版本 24H2 上的 Linux 来宾 VM 中的倒排鼠标输入,请将主机 OS 还原到 Windows 11 版本 23H2,直到永久修复可用。

若要解决 Windows 11 VM 中的增强会话模式输入丢失问题,请执行以下步骤:

  1. 打开“Hyper-V 管理器”。
  2. 导航到 Hyper-V 设置>增强会话模式策略。
  3. 取消选中 “允许增强会话模式 ”禁用该功能。
  4. 在标准会话模式下测试输入功能。

VMware 迁移后的 USB 或 GPU 直通

  • USB 设备:

    • 对支持的 OS 使用远程桌面 USB 重定向或增强会话模式。
    • 或者,将网络 USB 解决方案配置为 Hyper-V 本身不支持直接 USB 直通。
  • GPU 分配:

卸载 VMware 工具

使用 PowerShell 脚本(如 GitHub ** 中的Uninstall-VMwareTools.ps1** )在迁移后强行删除 VMware 工具和关联服务。

原因 2:迁移和群集故障

  • TPM/受防护的 VM 证书配置错误:缺少或不当传输的防护证书可以防止对启用了 TPM 的 VM 进行实时迁移。
  • VLAN/网络配置:物理交换机端口配置错误或旧网络组合设置可能会在 VLAN 分配后隔离 VM。
  • VM 配置版本:过时的 VM 配置版本可能与较新的 Hyper-V 主机不兼容,从而导致迁移失败。
  • 检测信号集成:VM 中的 CPU 使用率高、资源耗尽或应用程序挂起可能会触发群集检测信号失败,从而导致强制重启。

解决方法:迁移和群集问题

TPM/受防护的 VM 迁移失败

  1. 在源节点上,使用以下命令列出受防护的 VM 证书:

    bashcertutil -store "Shielded VM Local Certificates"
    
  2. 使用以下命令导出加密和签名证书:

    certutil -exportPFX -p <password> "Shielded VM Local Certificates" <SerialNumber> c:\cert-VMEncryption.pfx
    certutil -exportPFX -p <password> "Shielded VM Local Certificates" <SerialNumber> c:\cert-VMSigning.pfx
    
  3. 使用以下命令在目标节点上导入证书:

    bashcertutil -importPFX "Shielded VM Local Certificates" c:\cert-VMEncryption.pfxcertutil -importPFX "Shielded VM Local Certificates" c:\cert-VMSigning.pfx
    

VLAN/网络连接

  • 将物理交换机端口配置为中继端口以允许所有 VLAN。
  • 将旧版 LBFO(负载均衡和故障转移)团队替换为物理 NIC 的 Switch Embedded Teaming (SET)。
  • 分配 VLAN ID 并验证每个物理接口的连接。

VM 配置版本

使用以下 cmdlet 更新 VM 配置:

Update-VMVersion -Name <VMName>

更新后,测试实时迁移。 如果问题仍然存在,请关闭 VM,执行快速迁移,然后重启。

与群集/检测信号相关的重启

如果 VM 因检测信号故障而重新启动,请执行以下步骤:

  1. 为受影响的 VM 禁用检测信号集成服务:

    1. 转到 VM 设置 > Integration Services。
    2. 取消选中 检测信号。
  2. 监视 VM 稳定性。 如果检测到高 CPU 使用率(例如,按 WMI 或 LSASS),请调查资源使用情况。

  3. 使用以下命令收集内存转储进行分析:

    -Name -InjectNonMaskableInterrupt -Force
    

原因 3:文件系统和存储问题

  • 孤立的检查点:不完整的合并作可能会留下虚拟检查点文件、阻止备份或检查点删除。
  • 文件系统损坏:存储或文件系统的问题可能会中断检查点删除或 VHD 链更新。

解决方法:文件系统、存储和检查点故障

孤立/虚拟检查点

  1. 为受影响的 VM 创建新的检查点。

  2. 将最新的检查点导出到安全位置。

  3. 从 Hyper-V 管理器中删除 VM。

  4. 使用还原选项将 VM 导入回 Hyper-V。 对于群集,请从群集中删除 VM,使用同一配置重新创建 VM,附加现有的 VHD/VHDX,并将其添加回群集。

  5. 使用 PowerShell 检查检查点:

    Get-VM -Name <VMName> | Get-VMSnapshot
    Get-VHDChain -Path <path-to-vhdx>
    
  6. 使用进程监视器(procmon)等工具跟踪文件访问并验证系统完整性。

原因 4:应用程序级和第三方集成

监视/代理崩溃:由于 Hyper-V 或 Windows Server 中的更改,第三方监视或代理软件(如 SCVMM 或 Zenoss)可能会失败。 除非与失败的作关联,否则这些失败通常不会产生直接影响。

解决方法:应用程序级和第三方集成问题

如果监视或代理集成失败:

  • 验证主机上的 WMI 和 WINRM 配置。
  • 查看应用程序日志,了解身份验证错误,例如 GSS 质询失败。
  • 如果 Hyper-V 和 WMI 正常运行,请升级到第三方供应商以获取进一步的支持。

常规修正和预防

  • 应用最新的 Windows 更新和群集修补程序。

  • 定期监视存储基础结构,以防止文件系统损坏。

  • 维护 VM 配置、证书和网络设置的 up-to日期文档。

  • 对于安全漏洞,请使用以下命令确保正确的吊销策略和注册表设置:

    bashSet-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name EnableVirtualizationBasedSecurity -Value 0 -Type DWordRestart-Computer
    

数据收集

若要收集日志和信息,请执行以下作:

  • 群集和事件日志:收集 TSS 日志、性能监视器数据和事件查看器日志(Hyper-V-VMMS、Hyper-V-Worker、系统、应用程序)。

  • VM 配置:

    Update-VMVersion -Name <VMName>
    
  • 快照/检查点检查:

    Get-VM -Name <VMName> | Get-VMSnapshot
    Get-VHDChain -Path <path-to-vhdx>
    
  • 证书管理:

    certutil -store "Shielded VM Local Certificates"
    certutil -exportPFX ...
    certutil -importPFX ...
    
  • 内存转储收集:

    Debug-VM -Name <VMName> -InjectNonMaskableInterrupt -Force
    
  • 进程/文件系统监视:使用进程监视器(procmon)跟踪错误。

References

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
按正文的 Windows / Windows Server 适用版本;保留原文兼容性要求
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。