本文可帮助解决 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 文件,请执行以下步骤:
请注意错误0x80070005(常规访问被拒绝错误)中列出的虚拟机 ID。
例如,请考虑以下错误消息:
“VMName”:IDE/ATAPI 帐户没有足够的权限打开附件“E:\VMName\Disk0.vhd”。 错误:“常规访问被拒绝错误”(0x80070005)。 (虚拟机 ID 5FC5C385-BD98-451F-B3F3-1E50E06EE663)
在此示例中,虚拟机 ID 为 5FC5C385-BD98-451F-B3F3-1E50E06EE663。
打开权限提升的命令提示符。
若要授予虚拟机 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)
启动虚拟机。
详细信息
如果 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。