VirtualBox 6.0 - Utiliser VirtualBox et Hyper-V simultanément grâce à l'API d'Hyper-V

Page 1 / 1

Depuis la version 6.0, VirtualBox est capable d'utiliser l'API d'Hyper-V pour pouvoir cohabiter à côté de Hyper-V.
Bien que cela soit au détriment des performances et que cela ne fonctionne pas avec toutes les versions de Windows 10.

Cette solution est donc utile uniquement si vous souhaitez pouvoir utiliser simultanément des machines virtuelles sous Hyper-V et sous VirtualBox.
Notez que vous pouvez aussi utiliser un multi-boot pour démarrer ou non avec Hyper-V (si vous le souhaitez) pour ne pas devoir désinstaller et réinstaller Hyper-V à chaque fois.

  1. Pré-requis
  2. Utiliser la paravirtualisation Hyper-V depuis VirtualBox 6
  3. Info : les versions 1079 et antérieur de Windows 10 ne sont pas supportés

1. Pré-requis

Pour que cela fonctionne, vous devez utiliser une version de Windows 10 qui est supportée par VirtualBox 6.

D'après nos tests, seul Windows 10 v1803 x64 est supporté par les versions 6.0 et 6.0.14 de VirtualBox (même si les machines virtuelles seront effectivement plus lentes).

En effet, pour que cela fonctionne, il faudra que les fonctionnalités "Hyper-V" ET "Plateforme de l'hyperviseur Windows" soient activées dans Windows 10.
Or, la fonctionnalité "Plateforme de l'hyperviseur Windows" n'est présente qu'à partir de Windows 10 v1803.
Et à partir de la version 1809 de Windows 10, la machine tentera de démarrer et bloquera (freeze) sur un écran noir.

Important : ceci ne fonctionnera pas sous Windows 8 non plus, car cette fonctionnalité "Plateforme de l'hyperviseur Windows" n'y est pas présente.

2. Utiliser la paravirtualisation Hyper-V depuis VirtualBox 6

Si Hyper-V est activé dans les fonctionnalités de Windows 10, mais que la fonctionnalité "Plateforme de l'hyperviseur Windows" est désactivée, VirtualBox indiquera qu'il utilisera uniquement l'accélération "Paravirtualisation Hyper-V".

Si vous tentez de démarrer la machine virtuelle, VirtualBox vous indiquera que la fonctionnalité "Plateforme de l'hyperviseur Windows" doit être activée dans Windows 10 et que la technologie de virtualisation d'Intel (VT-x) n'est pas disponible.

Plain Text

WHvCapabilityCodeHypervisorPresent is FALSE! Make sure you have enabled the 'Windows Hypervisor Platform' feature.
(VERR_NEM_NOT_AVAILABLE).

VT-x is not available (VERR_VMX_NO_VMX).

Code d'erreur : E_FAIL (0x80004005)
Composant : ConsoleWrap
Interface : IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Une fois que vous aurez activé les fonctionnalités "Hyper-V" et "Plateforme de l'hyperviseur Windows" dans Windows 10, VirtualBox indiquera ces accélérations : VT-x/AMD-V, Nested Paging, Paravirtualisation Hyper-V.

Cette fois-ci, vous pourrez démarrer votre machine virtuelle sans aucun problème.
De plus, vous verrez une icône représentant un oiseau vert (avec un V) en bas à droite indiquant que VirtualBox utilise la paravirtualisation Hyper-V au lieu de sa propre technologie de virtualisation.

Une fois l'OS invité installé, installez les additions invités comme d'habitude en allant dans : Périphériques -> Insérer l'image CD des Additions invité.

Comme vous pouvez le voir, les additions invités ont été installées correctement malgré que la machine virtuelle soit virtualisée via Hyper-V.

En effet, vous bénéficierez quand même du matériel virtuel de VirtualBox et donc des fonctionnalités de VirtualBox.

3. Info : les versions 1079 et antérieur de Windows 10 ne sont pas supportés

Comme indiqué au début de ce tutoriel, vous aurez besoin de Windows 10 v1803 pour que cela fonctionne.
En effet, la plateforme de l'hyperviseur Windows (ou "Windows Hypervisor Platform" en anglais) n'est disponible qu'à partir de la version 1803 et celle-ci permet à VirtualBox de se baser sur l'API native de Hyper-V pour pouvoir fonctionner à côté de celui-ci.

Pour info : l'activation de la fonctionnalité Hyper-V masque la disponibilité d'Intel VT-x pour les autres logiciels de virtualisation.
Mais, l'activation de la fonctionnalité "Plateforme de l'hyperviseur Windows" permet de régler ce problème. Or, comme cette fonctionnalité n'est pas disponible avant la version 1803 de Windows 10, VirtualBox ne peut donc plus fonctionner à côté de Hyper-V.

Si vous créez une machine virtuelle dans VirtualBox, vous verrez que l'accélération "Paravirtualisation Hyper-V" s'affiche, car Hyper-V est installé sur le PC hôte.
Mais, l'accélération "VT-x/AMD-V" n'est pas affichée, car Hyper-V se l'approprie et elle n'est donc plus accessible par VirtualBox.

Résultat, la machine virtuelle ne démarrera pas, car l'API native de Hyper-V n'est pas présente dans votre version de Windows 10 et que la technologie de virtualisation d'Intel (VT-x) n'est pas disponible pour VirtualBox.

Plain Text

The native API dll was not found (C:\Windows\system32\WinHvPlatform.dll)
(VERR_NEM_NOT_AVAILABLE).

VT-x is not available (VERR_VMX_NO_VMX).

Code d'erreur : E_FAIL (0x80004005)