J’ai mis à niveau mon serveur hôte Hyper-V Windows 2008 vers Windows 2008 R2 la nuit dernière. La mise à niveau s’est bien passée, mais lorsqu’il s’est stabilisé sur la nouvelle version, j’ai trouvé deux machines virtuelles sur dix-sept manquantes dans l’interface de la console Hyper-V.
Dans le journal des événements Hyper-V, je vois :
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>
Ces VM « manquantes » n’ont aucun instantané en ligne lié à elles. Même pour celles qui en avaient, j’ai supprimé et fusionné les instantanés selon les conseils de Microsoft, et elles ont « survécu ».
Il semble y avoir beaucoup de discussions sur « General access denied error (0x80070005) » en ce qui concerne le démarrage des machines virtuelles. Mais dans mon cas, c’est le service Hyper-V qui est incapable de charger la configuration, donc Hyper-V sait où se trouvent ces emplacements de configuration de VM mais n’a pas la permission d’y accéder ?
Les trois services Hyper-V sont lancés avec le compte LOCAL SYSTEM, et les dossiers « Virtual Machines » de ces VM accordent bien les permissions Contrôle total. Ce que j’observe des autres VM, c’est que leurs dossiers ont des ACE supplémentaires pour le groupe Virtual Machines et le GUID de la VM elle-même ?
J’ai essayé de dupliquer cette structure d’ACE, mais Windows ne peut pas localiser les principaux GUID de ces VM manquantes. Qu’est-ce qui causerait ce problème ?
Source : Server Fault