在 Windows Server 中管理 VHD 文件时出错:“找不到指定文件的虚拟磁盘提供程序”

本文提供了在 Hyper-V 管理器中创建虚拟机时发生的错误的解决方案。

适用于: Windows Server 2012 R2
原始 KB 编号: 2013544

症状

尝试在 Windows Server 的 Hyper-V 管理器中创建虚拟机时,会收到以下错误消息:

日志名称:Microsoft-Windows-Hyper-V-VMMS-管理员
源:Microsoft-Windows-Hyper-V-VMMS
事件 ID:14098
级别:错误
说明:
虚拟机管理服务所需的“存储虚拟化服务提供程序”驱动程序未安装或已禁用。 检查设置或尝试重新安装 Hyper-V 角色。

日志名称:Microsoft-Windows-Hyper-V-Image-Management-Service-管理员
来源:Microsoft-Windows-Hyper-V-Image-Management-Service
事件 ID:15062
级别:错误
说明:
“系统无法创建”E:\VMachine\虚拟机\TEST\TEST.vhd”。 错误代码:2424869

尝试使用 Hyper-V 管理器、存储管理器或磁盘部件等工具与虚拟硬盘 (VHD) 文件进行交互时,会收到以下错误消息:

标题:虚拟磁盘管理器
说明:找不到指定文件的虚拟磁盘提供程序。

还可能会看到 VHDMP 日志中记录了以下事件:

事件 ID 3 :无法显示 VHD <驱动器字母\Path\virtual 硬盘驱动器\VMNAME_########-##-#-############.vhd>。 错误状态:0xC0000061

尝试使用 Hyper-V 管理器启动虚拟机时,会收到以下错误消息:

注意

计算机名称、路径和 GUID 将有所不同,因为它们对于每个环境都是唯一的。

标题:Hyper-V 管理器
说明:尝试启动所选虚拟机时出错, () “VM 名称>”<无法启动。

Microsoft 仿真 IDE 控制器 (实例 ID {########-##-###-#-############}) :无法开机并出现错误:“附加到系统的设备无法正常工作。

无法打开附件“驱动器号:\path\Virtual Hard drivers\VMNAME_########-###-#-#-############.vhd”。 错误:“附加到系统的设备无法正常工作”

无法打开附件“驱动器号:\path\Virtual Hard drivers\VMNAME_########-###-#-#-############.vhd”。 错误:“附加到系统的设备无法正常工作”

“VM NAME”无法启动 (虚拟机 ID ########-##-##-#)

“VM NAME”Microsoft 仿真 IDE 控制器 (实例 ID {########-##-#-#-############}) :无法开机并出现错误:“连接到系统的设备无法正常工作。 (0x8007001F) (虚拟机 ID:########-##-##-##-#)

“VM NAME”:无法打开附件“驱动器号:\path\Virtual Hard drivers\VMNAME_########-##-############.vhd”。 (0x8007001F) (虚拟机 ID:########-#-##-#)

“VM NAME”:无法打开附件“驱动器号:\path\Virtual Hard drivers\VMNAME_########-##-############.vhd”。 (0x8007001F) (虚拟机 ID:########-#-##-#)

原因

FSDepends.sys 和 VHDMP.sys 存在计时问题。 在 Windows Server 计算机上安装某些备份程序时,会出现此计时问题。 默认情况下,注册表中的 FSDepends.sys 起始值设置为 “手动”。 当任何第三方备份软件加载其磁带设备驱动程序时,该软件有时可能会导致 FSDepends.sys,VHDMP.sys 无法正确初始化。

解决方案

若要解决这些问题,应将 FSDepends.sys 设置为启动 (0x0) 的起始值。

在更改注册表之前,请确保备份注册表。 此外,请确保你知道在出现问题时如何还原注册表。

有关如何备份、还原和更改注册表的详细信息,请单击下面的文章编号以查看 Microsoft 知识库中的文章:
322756 如何在 Windows 中备份和还原注册表

若要解决这些问题,请执行以下步骤:

  1. 启动注册表编辑器。

  2. 找到以下注册表项:
    HKLM\SYSTEM\CurrentControlSet\Services\FsDepends

  3. 在“FsDepends”键下,将REG_DWORD值“Start”从 3 更改为 0

  4. 重启计算机。

更多信息

计算机重启后,FSDepends.sys 立即启动,并且不再出现计时问题。
或者,可以尝试以下两种解决方法之一。 不建议使用这两种方法。 但是,如果无法或不希望编辑注册表,则它们可更正问题:

  • 关闭任何连接的磁带设备并重启服务器。 服务器启动后,立即打开磁带设备。
  • 禁用名为 TPFilter.sys 的设备驱动程序。