Hyper-V 虚拟机可能无法启动,并且收到错误0x80070005:常规访问被拒绝错误

本文可帮助解决 Hyper-V 虚拟机无法启动时发生的错误0x80070005。

原始 KB 数: 2249906

现象

Hyper-V 虚拟机可能无法启动,并且收到如下所示的错误消息:

尝试启动所选虚拟机时出错。

“VMName”无法启动。

Microsoft模拟 IDE 控制器(实例 ID {83F8638B-8DCA-4152-9EDA-2CA8B33039B4}):无法打开电源并显示错误“常规访问被拒绝错误”

IDE/ATAPI 帐户没有足够的权限打开附件“E:\VM\VMName\Disk0.vhd”。 错误:“常规访问被拒绝错误”

帐户没有足够的权限打开附件“E:\VM\VMName\Disk0.vhd”。 错误:“常规访问被拒绝错误”

如果在消息窗口中单击“ 查看详细信息 ”,将显示以下信息:

“VMName”无法启动。 (虚拟机 ID 5FC5C385-BD98-451F-B3F3-1E50E06EE663)

“VMName”Microsoft模拟 IDE 控制器(实例 ID {83F8638B-8DCA-4152-9EDA-2CA8B33039B4}):无法使用错误“常规访问被拒绝错误”(0x80070005)。 (虚拟机 ID 5FC5C385-BD98-451F-B3F3-1E50E06EE663)

“VMName”:IDE/ATAPI 帐户没有足够的权限打开附件“E:\VMName\Disk0.vhd”。 错误:“常规访问被拒绝错误”(0x80070005)。 (虚拟机 ID 5FC5C385-BD98-451F-B3F3-1E50E06EE663)

“VMName”:帐户没有足够的权限打开附件“E:\VM\VMName\Disk0.vhd”。 错误:“常规访问被拒绝错误”(0x80070005)。 (虚拟机 ID 5FC5C385-BD98-451F-B3F3-1E50E06EE663)

注意

  • 此错误消息引用Microsoft模拟 IDE 控制器或合成 SCSI 控制器。
  • 此错误消息引用虚拟硬盘(.vhd)文件或快照文件(.avhd)。
  • 虚拟机 ID 对于每个虚拟机都是唯一的。

原因

如果虚拟硬盘 (.vhd) 文件或快照文件 (.avhd) 的权限不正确,则会出现此问题。

每个 Hyper-V 虚拟机都具有唯一的虚拟机 ID(SID)。 如果虚拟机 SID 缺少 .vhd 或 .avhd 文件的安全权限,则虚拟机不会启动,并且收到错误0x80070005(常规访问被拒绝错误)(症状部分中提到的错误)。

解决方法

若要解决此问题,请将虚拟机 SID 添加到虚拟硬盘(.vhd)文件或快照文件(.avhd)。

若要将虚拟机 SID 添加到 .vhd 或 .avhd 文件,请执行以下步骤:

  1. 请注意错误0x80070005(常规访问被拒绝错误)中列出的虚拟机 ID。

    例如,请考虑以下错误消息:

    “VMName”:IDE/ATAPI 帐户没有足够的权限打开附件“E:\VMName\Disk0.vhd”。 错误:“常规访问被拒绝错误”(0x80070005)。 (虚拟机 ID 5FC5C385-BD98-451F-B3F3-1E50E06EE663)

    在此示例中,虚拟机 ID 为 5FC5C385-BD98-451F-B3F3-1E50E06EE663。

  2. 打开权限提升的命令提示符。

  3. 若要授予虚拟机 ID (SID) 对 .vhd 或 .avhd 文件的访问权限,请键入以下命令,然后按 Enter:

    icacls <Path of .vhd or .avhd file> /grant "NT VIRTUAL MACHINE\ <Virtual Machine ID from step 1> ":(F)
    

    例如,若要使用步骤 1 中记录的虚拟机 ID,请键入以下命令,然后按 Enter:

    icacls "E:\VMs\VMName\Disk0.vhd" /grant "NT VIRTUAL MACHINE\5FC5C385-BD98-451F-B3F3-1E50E06EE663":(F)
    
  4. 启动虚拟机。

详细信息

如果 Hyper-V 虚拟机配置文件(.xml文件)的权限不正确,则虚拟机无法启动并返回以下错误消息:

“未命名的 VM”无法初始化。

尝试读取或更新虚拟机配置失败,因为访问被拒绝。

如果在消息窗口中单击“ 查看详细信息 ”,将显示以下错误消息:

“未命名的 VM”无法初始化。 (虚拟机 7E77503A-A26B-4BB5-9846-396F49A30141)

“未命名的 VM”无法读取或更新虚拟机配置,因为访问被拒绝:常规访问被拒绝错误(0×80070005)。 检查存储虚拟机的文件夹上的安全设置。 (虚拟机 7E77503A-A26B-4BB5-9846-396F49A30141)

若要解决此问题,请执行“解决方法”部分中的步骤,将虚拟机 SID 添加到.xml文件。 例如,运行以下命令:

icacls "E:\VMs\VMName\7E77503A-A26B-4BB5-9846-396F49A30141.xml" /grant "NT VIRTUAL MACHINE\7E77503A-A26B-4BB5-9846-396F49A30141":(F)

参考

有关 Hyper-V 的详细信息,请参阅 Hyper-V