总结
使用本指南排查 Hyper-V 环境中影响虚拟机(VM)设置的问题。 VM 设置不仅影响 VM 的运行方式,还会影响管理 VM 的效率。 本文包括结构化故障排除清单、常见问题解决方案和数据收集指南,可帮助你有效地解决 VM 设置问题。
本文适用于以下方案:
- 在 Windows Server 上运行的 Hyper-V 主机
- 独立和群集 Hyper-V 部署
- 包括 Hyper-V 管理器、故障转移群集管理器、System Center Virtual Machine Manager(SCVMM)或 Windows PowerShell 的管理工具
如果遇到 VM 设置问题,请首先遵循 故障排除清单。 在尝试更高级的故障排除步骤之前,清单可帮助你隔离问题的原因并解决最常见的问题。
故障排除清单
在开始深入故障排除之前,请遵循此清单来帮助隔离导致该问题的原因。 此清单中的步骤还可以帮助你解决最常见的基础问题。
步骤 1:收集信息并查看症状
-
检查更改和维护历史记录。 检查任何最近的更改或操作事件,包括以下事件:
- 操作系统更新
- 驱动程序或固件更改
- 配置更改
- 第三方软件安装或更新
- 计划性维护
- 群集故障转移任务
- 影响 VM 的存储迁移
-
检查主机和 VM 版本: 确保以下组件是最新的,版本彼此兼容:
- Hyper-V 主机的操作系统
- VM 配置
- 集成服务
-
收集和查看日志数据。 查看相关事件或消息的日志条目。 有关要收集的数据的建议,请参阅 数据收集。 首先,请查看以下信息:
- 系统事件日志
- Hyper-V 事件日志(在事件查看器中,转到 应用程序和服务日志>Microsoft>Windows>Hyper-V)
- 收集的任何进程转储文件
- 您所收集的任何网络跟踪数据
步骤 2:检查 VM 和底层基础结构的运行状况
-
确保 VM 和基础结构是最新的,包括以下组件:
- Windows(操作系统和驱动程序)和 Hyper-V
- 存储硬件、固件和驱动程序
- 主机固件
-
若要检查 VM 的运行状况,请使用 Hyper-V 管理器。 如果任何 VM“卡住”或无响应,请完成此清单。 然后,如果需要进一步的故障排除帮助,请参阅 排查群集或独立环境中无法访问或无响应的 Hyper-V VM。
-
若要检查故障转移群集和群集资源的运行状况,请使用故障转移群集管理器。 如果在群集基础结构中发现问题,请完成此清单。 然后,请参阅 Windows Server 的高可用性故障排除文档 ,以确定适当的故障排除帮助。
-
若要检查存储子系统的运行状况,请在扫描模式下运行
chkdsk。 以管理员身份打开 Windows 命令提示符窗口,然后运行以下命令:chkdsk /scan如果
chkdsk标识问题,请参阅 数据损坏和磁盘错误故障排除指南。
步骤 3:检查资源可用性
对于 Hyper-V 主机和来宾 VM,请使用任务管理器和性能监视器(PerfMon)或其他监视工具来评估物理内存、CPU、存储和网络资源类别中的资源负载。 确保资源一致可用。 有关资源使用情况和 Hyper-V 的详细信息,请参阅 性能优化 Hyper-V 服务器。
步骤 4:检查权限
若要访问 VM 设置,请确保属于 Hyper-V 管理员组。
注释
如果要在单个计算机上运行 Hyper-V(例如在测试环境中),则本地 Administrators 组中的成员身份足以配置 VM。
步骤 5:比较多个控制台和工具的结果
尝试使用不同的方法来访问 VM 设置,并比较结果。 请使用以下工具:
- Hyper-V 管理器
- 故障转移群集管理器
- System Center Virtual Machine Manager (SCVMM)
- Windows PowerShell
常见问题和解决方案
本部分解决了涉及 VM 设置的以下常见问题:
- 在 Windows Server 2022 上运行的机密 Hyper-V VM 可能会间歇性地停止响应或意外重启
- VM 设置窗口打开缓慢或冻结
- VM 不会迁移或快速迁移
- 无法展开或编辑虚拟磁盘(.vhd 或 .vhdx 格式)
- 无法连接到 VM 控制台(0x80004005或其他连接错误)
- 主机 CPU 或内存使用率高,或资源争用严重
- 无法保存、更改或查找 VM 配置文件
- 群集资源未上线
有关上述每个问题的详细信息,请参阅以下部分。
在 Windows Server 2022 上运行的机密 Hyper-V VM 可能会间歇性地停止响应或意外重启
若要解决此问题,请安装最新的 Windows 更新。 2025 年 5 月 23 日 - KB5061906(OS 内部版本 20348.3695)带外更新和更高版本的更新包括此问题的修补程序。
VM 设置窗口打开缓慢或停止响应
症状
- VM 设置控制台需要几分钟才能打开,或完全停止响应(冻结)。
- 其他管理任务,如实时迁移或主机刷新,运行缓慢或停止。
可能的原因
- 存储子系统具有过多的附加磁盘或逻辑单元号(LUN)。
- 一个或多个磁盘或 LUN 失败。
- 存储驱动程序或固件已过时。
- 磁盘未正确设置(例如基于 VMware 的磁盘在基于 Windows 的主机上)。
- 存储子系统中存在 I/O 任务的瓶颈。
解决方案
- 请确保至少完成故障排除清单 的步骤 2 。 此步骤解决了此问题的一些可能原因。
- 使用存储管理工具删除失败或不需要的磁盘。
- 检查所有主机是否有占位符或“虚拟”磁盘,并从主机中删除它们。
- 如果可行,请减少附加磁盘或 LUN 的数量。
- 检查是否已为基于 Windows 的主机正确设置所有磁盘。
- 重启主机。
如果问题仍然存在,请收集数据收集中描述的数据,然后联系微软支持。
注释
可以通过重启受影响的主机来暂时缓解此类永久性问题。
VM 不会迁移或快速迁移
症状
- 迁移未完成。 在某些情况下,迁移进度卡在完成 66% 时停止。
- VM 迁移到其目标主机后,它不会联机。
- 事件日志中的错误条目指示群集磁盘或资源不可用,或者处理器不兼容。
可能的原因
丢失或损坏的 VM 配置文件可能会干扰迁移。
重要
多种因素可能会导致迁移问题。 有关实时迁移故障排除的更多详细信息,请参阅 排查实时迁移问题。 本文包含常见资源和兼容性问题的详细解决方案。
解决方案
若要解决此问题,请执行以下步骤:
- 检查受影响 VM 的运行状况。 确定存在与配置文件相关问题的虚拟机。
- 对于每个受影响的 VM,请重新创建 VM 配置文件,然后重新附加 .vhd 或 .vhdx 文件。
无法展开或编辑虚拟磁盘(.vhd 或 .vhdx 格式)
症状
- 在 Hyper-V 管理器中,受影响磁盘的 磁盘扩展 选项不可用(灰显)。
- 收到以下错误消息:
Edit is not available because checkpoints exist for this virtual machine.
- 合并检查点后,受影响磁盘的 .avhd 或 .avhdx 文件将保留。
原因
- 现有检查点(也称为快照)未正确合并。
- 可能中断了后台磁盘合并任务,或者任务未能完成。
- .avhd 或 .avhdx 文件已损坏。
- 尝试在 VM 处于正在运行或保存状态时编辑虚拟磁盘。
解决方案
-
在尝试编辑磁盘之前,请确保关闭 VM。
-
合并所有挂起的检查点。 可能需要关闭电源,然后打开受影响的 VM 以强制检查点合并。
如果合并任务“停滞”,请参阅 “无法创建、合并或删除检查点”。 本文提供了有关如何处理检查点问题的详细说明。
无法连接到 VM 控制台(0x80004005或其他连接错误)
症状
- 遇到以下错误消息之一或两者:
An authentication error has occurred (0x80004005)Cannot connect to the virtual machine. Try to connect again...
- VM 控制台不会重复响应或断开连接。
可能的原因
- 主机和管理客户端使用不兼容的传输层安全(TLS)握手或加密套件。
- 未正确设置委派凭据或注册表设置。
- 防火墙设置或网络权限阻止主机或中间网络设备上的端口 2179。
- 凭据或证书已过时或不兼容。
解决方案
重要
本部分、方法或任务包含说明如何修改注册表的步骤。 如果您错误地修改注册表,可能会出现严重问题。 因此,请确保仔细执行这些步骤。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和恢复注册表的更多信息,请参见如何在 Windows 中备份和恢复注册表。
- 确保管理客户端(如 Hyper-V 虚拟机连接、vmconnect.exe)正常运行并正确设置。
- 确保启用所需的协议和协议版本(如 TLS 1.2),并且它们与主机和客户端匹配。
- 使用注册表编辑器查看
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel子项下的注册表项。 有关支持 TLS 的注册表设置的详细信息,请参阅 传输层安全性 (TLS) 注册表设置。 如果设置不正确,请从正常运行的主机导入正确的 Schannel 注册表项。 - 查看组策略设置,并确保将 限制将凭据委派到远程服务器 的组策略对象 (GPO)设置为 禁用。
- 如果问题仍然存在,请使用 进程监视器 或 Wireshark 等工具收集跟踪,并从事件日志导出相关事件。 如果必须联系Microsoft支持人员,请查看 数据收集 以了解更多详细信息。
主机 CPU 或内存使用率高,或者存在资源争用问题
症状
- VM 性能缓慢。
- VM 的延迟较高。
- VM 无法启动,它们会生成内存不足的错误消息。
- 进行更改或安装更新后,Hyper-V 主机上的资源使用率一直很高。
- 集成服务生成协议不匹配错误消息。
可能的原因
- 内存或 CPU 资源超分配。
- 未正确设置动态内存或非统一内存访问(NUMA)。
- 集成服务已过期。
- 后台进程(如第三方备份或防病毒代理)消耗的资源比预期多。
决议
- 确保所有 VM 的集成服务都是最新的。
- 查看并优化 Hyper-V 动态内存和缓冲区配置。 有关详细信息,请参阅以下文章:
- 若要避免过度使用资源,请查看可用的主机资源,并优化 VM 的分配。 有关详细信息,请参阅 虚拟机资源控制。
- 重启主机。
- 进行更改后,监视资源使用情况。 如果问题仍然存在,可能需要继续优化分配。 使用任务管理器、进程监视器或性能监视器(Perfmon)等工具。
无法保存、更改或查找 VM 配置文件
症状
- 在 VM 管理控制台中,无法编辑 CPU、内存、网络或磁盘设置。 VM 设置不可用(灰显)。
- VM 未启动,收到以下错误消息:“未为此 VM 配置启动条目。
- 有关 GUI 管理控制台上的 VM 的信息与 PowerShell cmdlet 生成的信息不匹配。
- 在主机上的文件资源管理器中,找不到 VM 配置文件,或者配置文件引用了错误的路径。
可能的原因
- 删除或迁移存储后,配置文件将丢失或损坏。
- 为存储配置文件的文件共享或群集资源未正确设置权限。
- 主机操作系统已过期。
决议
注释
如果 GUI 管理客户端速度缓慢或无响应,请使用 PowerShell cmdlet 来管理 VM。
- 请确保所有主机上的操作系统(或群集节点上的群集部署)都处于最新状态。
- 在文件资源管理器中,检查配置文件是否存在于配置文件文件夹中。 默认文件夹为
C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines. 此文件夹应包含一个 .vmcx 文件,该文件可与受影响的 VM 的 ID 匹配。 - 确保管理客户端对 VM 文件使用正确的文件路径。
- 确保管理客户端和 VM 有权修改配置文件。 若要查看和设置权限,可以使用 icacls 命令。
群集资源未上线
症状
- 在群集 Hyper-V 环境中,重启群集主机。 之后,一个或多个群集资源未能联机。
- 事件日志中的错误条目指示与群集资源或状态转换相关的问题。
可能的原因和解决方法
此问题有许多可能的原因。 有关更详细的故障排除信息,请参阅 无法引入群集资源联机故障排除指南。
数据收集
如果需要其他帮助,请收集以下数据,然后联系 Microsoft支持部门。
常规数据
-
基础设施的版本信息(以及构建信息,如果适用),包括以下组件:
- Windows Server
- Hyper-V
- 集成服务
- 存储设备、固件和驱动程序
-
意外行为或错误消息的屏幕截图。
-
跟踪或转储文件数据,包括来自 ProcDump、ProcMon、PerfMon 或
livekd的数据文件。
Hyper-V 相关问题的数据
使用Microsoft的故障排除脚本(TSS)自动收集故障排除信息。 有关说明,请参阅 “收集数据”以分析和排查 Hyper-V 方案问题。
此外,请收集以下信息:
- 来自系统和应用程序日志的相关事件,以及来自 Hyper-V 日志的事件。 Hyper-V 日志在应用程序和服务>>MicrosoftWindows>Hyper-V 的事件查看器中提供。 可以从Event Viewer导出此信息。
- VM 配置信息。 使用 Hyper-V 管理器或 PowerShell 导出此信息。
群集相关问题的数据
使用Microsoft故障排除脚本(TSS)自动收集故障排除信息。 如需说明,请参阅收集数据以分析和排查集群和高可用性场景。
此外,请收集以下信息:
-
来自所有节点的群集日志。 若要收集日志,请在其中一个群集节点上运行以下命令:
Get-ClusterLog -UseLocalTime -Destination <folder path> -
FailoverClustering 和 DNS 服务器事件日志通道的相关事件日志。
-
Active Directory 中 CNO 对象的详细信息,包括安全权限。