Hyper-V 无法加载虚拟机配置

Hyper-V 无法加载虚拟机配置

昨晚我将 Windows 2008 Hyper-V 主机服务器升级到 Windows 2008 R2。升级过程非常顺利,但当它稳定为新版本时,我发现 Hyper-V 控制台 UI 中缺少 17 个虚拟机中的两个。

从 Hyper-V 事件日志中我看到

Log Name:      Microsoft-Windows-Hyper-V-VMMS-Admin
Source:        Microsoft-Windows-Hyper-V-VMMS
Date:          6/4/2011 2:31:26 AM
Event ID:      16300
Task Category: None
Level:         Error
Keywords:      
User:          SYSTEM
Computer:      elune
Description:
Cannot load a virtual machine configuration: General access denied error (0x80070005) (Virtual machine ID 5185AC13-4148-4AFE-9024-6E74FE3C9754)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Hyper-V-VMMS" Guid="{6066F867-7CA1-4418-85FD-36E3F9C0600C}" />
    <EventID>16300</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2011-04-05T18:31:26.432942100Z" />
    <EventRecordID>641</EventRecordID>
    <Correlation />
    <Execution ProcessID="1964" ThreadID="2064" />
    <Channel>Microsoft-Windows-Hyper-V-VMMS-Admin</Channel>
    <Computer>elune</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <UserData>
    <VmlEventLog xmlns:auto-ns2="http://schemas.microsoft.com/win/2004/08/events" xmlns="http://www.microsoft.com/Windows/Virtualization/Events">
      <VmName>
      </VmName>
      <VmId>5185AC13-4148-4AFE-9024-6E74FE3C9754</VmId>
      <ErrorMessage>%%2147942405</ErrorMessage>
      <ErrorCode>0x80070005</ErrorCode>
    </VmlEventLog>
  </UserData>
</Event>

这些“丢失”的虚拟机没有任何与之关联的在线快照。即使对于那些有的,我也根据以下情况删除并合并了快照微软的建议,并且它们“幸存了下来”。

谈到“一般访问被拒绝错误 (0x80070005)”时,似乎有很多讨论开始虚拟机。但我的情况是 Hyper-V 服务甚至无法加载配置,因此 Hyper-V 知道这些 VM 配置位置,但没有权限访问它们?

这三个 Hyper-V 服务都是使用 LOCAL SYSTEM 帐户启动的,并且这些虚拟机的“虚拟机”文件夹确实授予了完全控制权限。我从其他虚拟机观察到,它们的文件夹有虚拟机组和虚拟机 GUID 本身的额外 ACE?

在此处输入图片描述

我尝试复制此 ACE 结构,但 Windows 无法找到这些缺失虚拟机的 GUID 主体。是什么原因导致了此问题?

答案1

嗯,这是一个奇怪的手段。

关键是 Windows/Hyper-V 引用了某个地方的“列表”,以告诉它哪些虚拟机已在服务器上注册。我的虚拟机分散在多个驱动器上,因此成为一个集中式存储库。结果是

C:\ProgramData\Microsoft\Windows\Hyper-V\虚拟机

有指向实际配置 XML 文件的物理位置的符号链接。我注意到有问题的 VM 链接有一个“锁”图标。 在此处输入图片描述

我编辑了有问题的符号链接的安全 ACL。果然,它没有像其他的一样拥有 NT 虚拟机帐户,所以我将它的完全控制权授予了用户组。重新启动 Hyper-V 虚拟机管理服务,它可以再次加载丢失的虚拟机。它似乎可以正常工作没有虚拟机帐户。

我仍然没有得到我所寻求的完整而深入的答案来解释 Hyper-V 对这些虚拟机帐户的要求,但至少可以重复使用原始虚拟机配置。

相关内容