Diagnostic et dépannage durant la configuration d'Hyper-V¶
1. Objectif du cours¶
Fournir des méthodes de diagnostic et des solutions pour les problèmes courants d'Hyper-V, en particulier liés aux réseaux virtuels et à l'erreur « Hypervisor is not running ». Présenter les commandes et vérifications utiles depuis Virtual Machine Manager (VMM) et Windows.
2. Notions et définitions essentielles¶
- Virtual Machine Manager (VMM) : outil Microsoft pour gérer l'infrastructure de virtualisation et exécuter des cmdlets PowerShell dédiées.
- Réseau virtuel / commutateur virtuel : entité réseau utilisée par les machines virtuelles ; plusieurs hôtes peuvent posséder des commutateurs portant le même nom.
- Cmdlet Repair-SCVirtualNetwork : outil VMM destiné à réparer un réseau virtuel.
- Erreur « Hypervisor is not running » : message empêchant l'utilisation de la virtualisation sur Windows (ex. Windows 10/11).
3. Fonctionnement et principes¶
- VMM centralise les réseaux VM : lorsqu'on affiche "VM Networks" dans VMM, les commutateurs virtuels portant le même nom sur plusieurs hôtes apparaissent comme une seule entité logique, même s'il s'agit d'instances distinctes réparties sur des hôtes différents.
- Cette consolidation oblige à cibler explicitement l'instance d'un réseau virtuel avant d'exécuter une réparation, afin d'éviter les conflits ou les échecs.
- Migration transparente : pour migrer une VM entre hôtes sans interruption, l'hôte de destination doit disposer d'un commutateur virtuel portant le même nom que celui utilisé par la VM sur l'hôte source.
- Erreurs d'hyperviseur : peuvent provenir d'une virtualisation BIOS désactivée, d'un BIOS obsolète, de pilotes obsolètes, de CPU non compatibles ou de mises à jour problématiques.
4. Commandes et manipulations¶
- Identifier et capturer une instance précise de réseau virtuel (procédure de filtrage)
- Get-SCVirtualNetwork -Name « Mon réseau virtuel » | Where-Object {filter}
- Rôle : récupérer les réseaux virtuels puis filtrer pour pointer vers l'instance d'un hôte spécifique.
- Astuce : affecter le résultat à une variable avant réparation (ex. $VirtualNetwork = ...).
- Réparer un réseau virtuel via VMM
- Repair-SCVirtualNetwork -VirtualNetwork $VirtualNetwork
- Rôle : lancer la réparation pour l'instance de réseau virtuel ciblée (référence via variable).
- Vérification depuis la console VMM
- Utiliser l'affichage VMs and Services → VM Networks pour voir l'inventaire.
- Menu contextuel du commutateur : Read dependent resources — liste les machines virtuelles dépendantes.
- Activer le lancement de l'hyperviseur (si désactivé)
- bcdedit /set hypervisorlaunchtype auto
- Rôle : réactiver le lancement automatique de l'hyperviseur si le paramètre avait été désactivé.
5. Sécurité et bonnes pratiques¶
- Toujours vérifier que la virtualisation matérielle est activée dans le BIOS avant toute investigation.
- Mettre à jour le BIOS si nécessaire (le document indique que des problèmes peuvent être résolus par une mise à jour du BIOS).
- Mettre à jour les pilotes avec un outil fiable avant de conclure à un défaut matériel.
- Vérifier que le CPU prend en charge la virtualisation avant d'activer Hyper-V.
- En cas de dysfonctionnement après une mise à jour système, identifier et supprimer les mises à jour problématiques depuis les paramètres de Windows Update (possible en mode normal).
6. Points essentiels à retenir pour le TSSR¶
- Hyper-V est mature mais peut rencontrer des problèmes réseau et d'hyperviseur nécessitant diagnostic.
- VMM dispose d'une cmdlet spécifique de réparation réseau : Repair-SCVirtualNetwork (à exécuter depuis le PowerShell VMM).
- VMM traite les commutateurs au même nom comme une entité logique ; il faut cibler une instance par filtre avant réparation.
- Utiliser Read dependent resources pour inventorier les VMs liées à un commutateur.
- Toujours vérifier BIOS, compatibilité CPU et pilotes avant d'imputer un problème à Hyper-V.
- Les mises à jour Windows peuvent être la cause ; elles peuvent être supprimées depuis Windows Update si nécessaire.
- Réactiver le lancement de l'hyperviseur peut se faire via la configuration bcdedit si la fonctionnalité a été désactivée.
7. Tableau récapitulatif¶
| Symptôme / contexte | Cause fréquente | Outil / vue à utiliser | Action recommandée |
|---|---|---|---|
| Plusieurs commutateurs au même nom | Instances sur plusieurs hôtes | VMM → VM Networks | Filtrer l'instance, lier à variable |
| VM nécessitant migration transparente | Nom du commutateur différent sur destination | Inventaire VMM | Créer/nommer le commutateur identiquement |
| Erreur "Hypervisor is not running" | Virtualisation BIOS désactivée ou hypervisorlaunchtype | BIOS / bcdedit | Activer virtualisation ou définir hypervisorlaunchtype |
| Dysfonction après update | Mise à jour problématique | Windows Update | Supprimer la mise à jour via Windows Update |
| Liste des VMs dépendantes | Inventaire de dépendances | Read dependent resources | Vérifier répartition par hôte |
8. Vérifications pratiques¶
- Dans VMM, ouvrir VMs and Services → VM Networks : vérifier si un réseau apparaît comme une seule instance logique.
- Clic droit sur un commutateur → Read dependent resources : confirmer la liste des machines virtuelles dépendantes et leurs hôtes.
- Vérifier dans le BIOS que la virtualisation est activée.
- Vérifier la compatibilité CPU pour la virtualisation (présence/absence de support signalée).
- Après action corrective (réparation ou modification du lancement de l'hyperviseur), constater la disparition du message « Hypervisor is not running » ou le retour de la virtualisation fonctionnelle.
- Vérifier dans les paramètres de Windows Update la présence et la suppression éventuelle de mises à jour problématiques.
9. Flashcards Anki¶
En quelle année est sortie la première version de Microsoft Hyper-V ? :: 2008 Quelle cmdlet du VMM permet la résolution des problèmes réseau ? :: Repair-SCVirtualNetwork Où doit-on exécuter la cmdlet Repair-SCVirtualNetwork ? :: Dans le PowerShell de Virtual Machine Manager (VMM) Quelle entrée du menu clic droit du commutateur virtuel affiche les machines virtuelles dépendantes ? :: Read dependent resources Dans $VirtualNetwork = Get-SCVirtualNetwork -Name « Mon réseau virtuel », quelle est la variable ? :: $VirtualNetwork Pourquoi plusieurs commutateurs virtuels peuvent porter le même nom ? :: Pour permettre une migration transparente des machines virtuelles entre hôtes Quelle commande bcdedit permet d'activer le lancement automatique de l'hyperviseur ? :: bcdedit /set hypervisorlaunchtype auto Où peut-on supprimer des mises à jour problématiques selon le document ? :: Dans les paramètres de Windows Update Quel élément matériel doit être vérifié pour supporter la virtualisation ? :: Le CPU (vérifier qu'il prend en charge la virtualisation) Quel message d'erreur empêche l'utilisation de la virtualisation sur Windows 10/11 ? :: Hypervisor is not running