当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

作者:精品下载站 日期:2024-12-15 00:45:01 浏览:15 分类:玩电脑

Hyper-V 虚拟机陷入停止/启动状态


如果在 Hyper-V 上运行的虚拟机由于某种原因卡住、停止响应,并且在单击 Hyper-V 管理器控制台中的相应按钮后无法启动/停止/重置,您可以在 Hyper-V 主机上强制停止(终止)该虚拟机的工作进程。我们将向您展示如何强制重新启动在 Windows Server 2022/2019/2016、Windows 10/11 或免费 Hyper-V Server 上运行的挂起 Hyper-V 虚拟机,而无需重新启动整个虚拟机管理程序主机和所有正在运行的虚拟机(如果您没有 Hyper-V HA 群集和实时迁移,这很有用)。

Hyper-V VM 陷入停止/启动/备份状态

假设 Hyper-V 主机上的一台虚拟机陷入正在停止(停止严重)、正在启动(正在启动 10%)或正在备份状态。

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

在这种情况下,来宾操作系统将停止响应,并且 Hyper-V 管理器中的“关闭”、“关闭”和“重置”按钮将变得不可用(呈灰色),或者按下时返回以下错误:

The application encountered an error while attempting to change the state of VM.
Failed to change state.
The operation cannot be performed while the object is in its current state.

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

如果您的 Hyper-V 未在 Hyper-V 管理器控制台中显示已注册虚拟机列表并返回“正在连接到虚拟机管理服务”错误,则需要重新启动 vmms.exeHyper-V 虚拟机管理服务)进程。这是一项安全操作,不会中断正在运行的虚拟机。重新启动 vmms 服务的 vmms.exe 进程的最简单方法是通过

services.msc

控制台或使用 PowerShell 服务管理 cmdlet:

Get-Service vmms | Restart-Service

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

如何停止/终止 Hyper-V 上挂起的虚拟机?

强制关闭/重新启动此类卡住的虚拟机而不重新启动整个 Hyper-V 主机的唯一方法是终止主机操作系统上的工作进程。 Hyper-V 主机上的所有 VM 均使用 vmwp.exe 进程实例(虚拟机工作进程)启动。要查找特定的进程PID,您需要找出虚拟机的GUID。

您可以使用 Hyper-V 管理器控制台获取虚拟机 GUID。打开 Hyper-V 服务器设置。 Server 部分包含存储 VM 配置文件的目录(在我们的示例中为 D:\VMStore)。

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

在文件资源管理器中打开此目录,然后找到具有卡住的虚拟机名称的文件夹。复制 VM 配置文件名称中指定的 GUID

*.vmcx

扩大。

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

运行任务管理器并转到详细信息选项卡。所有虚拟机都在其自己的 vmwp.exe 进程实例下运行。要确定哪个进程负责您的 VM,您需要之前获得的挂起 VM 的 GUID。在用户名称列中找到具有虚拟机 GUID 的进程 vmwp.exe。终止此虚拟机进程(结束任务)。

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

同样,您可以使用 Process Explorer 工具查找并停止 Hyper-V 主机上挂起的虚拟机进程。

  1. 以管理员身份运行 Process Explorer 并单击查找句柄或 DLL(或按Ctrl-F);

  2. 指定卡在启动/停止状态的Hyper-V VM的虚拟磁盘(*.vhdx)的路径;

  3. Process Explorer将列出正在使用虚拟机VHDX文件的所有进程;

  4. 找到 vmwp.exe 虚拟机进程并将其终止(右键单击 -> 终止进程)。

    [玩转系统] Hyper-V 虚拟机陷入停止/启动状态

    之前,我们向您展示了如何使用 Process Explorer 查找并解锁被其他进程锁定的文件。

虚拟机将被强制停止。现在您可以使用 VM 做任何您想做的事情。

使用 PowerShell 强制停止 Hyper-V 虚拟机

使用 PowerShell 更容易找到并终止不响应的虚拟机进程。以管理员身份运行 PowerShell 控制台(您的帐户必须是 Hyper-V“Hyper-V 管理员”组的成员)。

在这种情况下,Hyper-V PowerShell 模块中的内置 Stop-VM cmdlet 将不允许您关闭虚拟机。如果您尝试运行

Stop-VM -Force

命令,它也挂起。显然是在等待虚拟机的响应。

您需要通过 VM 进程的 GUID 来终止该进程。您可以通过名称获取虚拟机 GUID。例如,要获取名为 SVM-GUARDEDHOST1 的虚拟机的 GUID,请运行以下命令:

$VMGUID = (Get-VM "SVM-GUARDEDHOST1").ID

如果您不想键入 VM 的全名,您可以列出在此 Hyper-V 主机上注册的所有 VM 及其 ID:

Get-VM | Select VMName, VMId, path

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

从结果列表中复制您的 VMID。

查找此 VMGUID 的 vmwp.exe 进程标识符 (PID):

$VMWMProc = (Get-WmiObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VMGUID})

然后,您必须使用 Stop-Process 命令强制终止挂起的 Hyper-V 虚拟机的进程:

Stop-Process ($VMWMProc.ProcessId) -Force

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

提示。我们还有一个关于如何终止 VMWare ESXi 上卡住的虚拟机的简单指南。

Hyper-V VM 陷入备份状态

在 Hyper-V 主机上备份 VM 时,您可能会遇到 Hyper-V VM 停留在正在运行状态以及正在备份状态。但是,您无法通过 Hyper-V 管理器停止或启动 VM。

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

如果不想重启Hyper-V主机,请先检查“Microsoft Hyper-V VSS Writer”服务的状态:

vssadmin list writers

[玩转系统] Hyper-V 虚拟机陷入停止/启动状态

确保该命令不会返回错误。然后,您必须使用 PowerShell 命令重新启动“Hyper-V 虚拟机管理”服务:

Get-service vmms | stop-process

确保 vmms.exe 进程已结束。如果没有,则强制其终止:

Get-Process | Where-Object { $_.ProcessName -eq 'vmms' } | Stop-Process

现在您可以启动Hyper-V管理服务:

Start-Service vmms

重新启动虚拟机管理服务应重置 Hyper-V 主机上的 VSS Writer 的状态。

Hyper-V 管理器无法更改虚拟机状态

有时,即使终止了挂起的虚拟机进程,也无法打开虚拟机。此外,它冻结在启动状态并出现错误:

Virtual Machine Connection
Failed to Change State.

在这种情况下,请检查以下选项:

  • 检查存储Hyper-V虚拟机文件的磁盘上是否有足够的可用空间;

  • 如果虚拟机设置中连接了ISO镜像,请检查指定路径下是否有该镜像文件;

  • 检查虚拟机的网络适配器设置。虚拟网络适配器必须连接到现有的 Hyper-V 虚拟交换机(任何 NIC 都不得出现“网络适配器 - 配置错误”状态);

    [玩转系统] Hyper-V 虚拟机陷入停止/启动状态

  • 检查Hyper-V虚拟管理服务(VMMS)是否正在运行并且没有陷入停止状态;

  • 确保您的防病毒软件不会阻止对虚拟机文件的访问。将 VM 目录的路径添加到防病毒排除项中(请参阅将排除项热添加到 Windows Server 上的内置 Windows Defender 防病毒项);

  • 在事件查看器 -> 应用程序和服务日志 -> Microsoft -> Windows -> Hyper-V-Worker 中检查 Hyper-V 相关错误;

  • 在虚拟机来宾操作系统上禁用睡眠和休眠。您可以通过控制面板 -> 电源选项 -> 更改计划设置 -> 让计算机进入睡眠状态 -> 从不禁用 Windows 中的睡眠。要在 Ubuntu Linux 来宾操作系统中禁用休眠和睡眠,请运行以下命令:

    systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

如果上述方法没有帮助,您似乎必须重新启动整个 Hyper-V 主机。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯