Partager via


Réparer une machine virtuelle Windows à l’aide des commandes de réparation de machine virtuelle Azure

S’applique à : ✔️ Machine virtuelles Windows

Si votre machine virtuelle Windows dans Azure rencontre une erreur de démarrage ou de disque, vous devrez peut-être réparer le disque hors connexion. Comme exemple courant, citons l’échec de mise à jour d’une application qui empêche le bon démarrage de la machine virtuelle. Cet article explique comment utiliser les commandes de réparation de machine virtuelle Azure pour attacher automatiquement un disque de système d’exploitation endommagé à une autre machine virtuelle Windows pour la réparation hors connexion. Grâce à cette procédure, le disque du système d’exploitation défaillant est automatiquement déverrouillé sur la deuxième machine virtuelle, appelé machine virtuelle de réparation, si le disque est chiffré avec Azure Disk Encryption. Lorsque le disque ayant échoué est attaché à la machine virtuelle de réparation, vous pouvez corriger toutes les erreurs, puis reconstruire votre machine virtuelle d’origine avec le disque réparé.

Important

  • Les scripts de cet article s’appliquent uniquement aux machines virtuelles qui utilisent Azure Resource Manager.
  • Une connectivité sortante à partir de la machine virtuelle (port 443) est nécessaire pour l’exécution du script.
  • Vous ne pouvez exécuter qu’un seul script à la fois.
  • Vous ne pouvez pas annuler un script en cours d’exécution.
  • La durée maximale d’exécution d’un script est de 90 minutes (le script expire après ce délai).
  • Ne modifiez pas les balises créées sur la machine virtuelle de réparation. Les balises sont nécessaires pour que la commande de restauration fonctionne correctement.
  • Pour les machines virtuelles utilisant Azure Disk Encryption, seuls les disques managés chiffrés avec le chiffrement à passe unique (avec ou sans clé KEK) est pris en charge.

Vue d’ensemble du processus de réparation

Vous pouvez désormais utiliser les commandes de réparation de machine virtuelle Azure pour changer le disque de système d’exploitation d’une machine virtuelle. Vous n’avez plus besoin de supprimer et de recréer la machine virtuelle.

La section Exemple de processus de réparation vous guide tout au long du processus suivant :

  1. Lancez Azure Cloud Shell.
  2. Exécutez az extension add ou az extension update.
  3. Exécutez az vm repair create.
  4. Exécutez ou effectuez az vm repair run des étapes d’atténuation.
  5. Exécutez az vm repair restore.

Note

Pour afficher toutes les commandes et paramètres de réparation de machine virtuelle disponibles, consultez az vm repair.

Important

Pour exécuter les commandes, vous avez besoin d’un rôle qui peut créer les types de ressources suivants dans l’abonnement :

  • Groupes de ressources
  • Machines Virtuelles
  • Étiquettes de ressource
  • Réseaux virtuels
  • Network Security Group
  • Interfaces réseau
  • Disques
  • Adresses IP publiques (facultatif)

Exemple de processus de réparation

  1. Lancement d’Azure Cloud Shell

    Azure Cloud Shell est un interpréteur de commandes interactif et gratuit que vous pouvez utiliser pour exécuter les étapes de cet article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte. Si vous exécutez un script qui prendra plus de 20 minutes (par exemple : script win-sfc-sf-corruption ), vous préférerez peut-être exécuter les commandes localement. Pour exécuter les commandes localement, Azure CLI version 2.0.67 ou ultérieure est nécessaire. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau votre interface Azure CLI, consultez Installer Azure CLI.

    Pour ouvrir Cloud Shell, sélectionnez Essayer en haut à droite d’un bloc de code. Vous pouvez également ouvrir Cloud Shell dans un onglet de navigateur distinct en accédant à https://shell.azure.com.

    Sélectionnez Copier pour copier les blocs de code, collez-les ensuite dans Cloud Shell, puis sélectionnez Entrée pour exécuter le code.

    Si vous préférez installer et utiliser l’interface CLI localement, ce guide de démarrage rapide nécessite Azure CLI version 2.0.67 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau votre interface Azure CLI, consultez Installer Azure CLI.

    Si vous devez vous connecter à Cloud Shell avec un compte différent de celui avec lequel vous êtes actuellement connecté au portail Azure, vous pouvez utiliser az login az login reference. Pour basculer entre les abonnements associés à votre compte, vous pouvez utiliser az account set --subscription az account set reference.

  2. Si vous utilisez les commandes az vm repair pour la première fois, ajoutez l’extension CLI vm-repair.

    az extension add -n vm-repair
    

    Si vous avez utilisé les commandes az vm repair, appliquez les mises à jour à l’extension vm-repair.

    az extension update -n vm-repair
    
  3. Exécutez az vm repair create. Cette commande permet de créer une copie du disque de système d’exploitation de la machine virtuelle hors service, de créer une machine virtuelle de réparation dans un nouveau groupe de ressources, et d’attacher une copie du disque de système d’exploitation. La machine virtuelle de réparation aura la même taille et sera dans la même région que la machine virtuelle hors service spécifiée. Le groupe de ressources et le nom de la machine virtuelle utilisés au cours des différentes étapes serviront à la machine virtuelle hors service. Si votre machine virtuelle utilise Azure Disk Encryption, utilisez --unlock-encrypted-vm pour déverrouiller le disque chiffré afin qu’il soit accessible lorsqu’il est attaché à la machine virtuelle de réparation. Pour plus d’informations, consultez vérifier que ADE est activé sur le disque. Si vous devez résoudre les problèmes de votre machine virtuelle dans un environnement Hyper-V imbriqué, utilisez --enable-nested et la machine virtuelle de réparation sera créée avec le rôle Hyper-V activé avec une machine virtuelle imbriquée à l’aide de la copie du disque du système d’exploitation.

Important

Les commandes d’exécution et de restauration nécessitent que toutes les entrées soient entrées à l’aide du même cas que celui utilisé dans la commande create, notez ou reportez-vous aux balises sur la machine virtuelle de réparation pour voir ce qui a été utilisé.

Exemple de réparation de machine virtuelle

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --verbose

Réparer une machine virtuelle avec un exemple Hyper-V imbriqué

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --enable-nested --verbose
  1. Exécutez az vm repair run. Cette commande permet d’exécuter le script de réparation spécifié sur le disque attaché via la machine virtuelle de réparation. Si le guide de résolution des problèmes que vous utilisez spécifie un id d’exécution, utilisez-le ici. Sinon, vous pouvez utiliser az vm repair list-scripts pour afficher les scripts de réparation disponibles. Le groupe de ressources et le nom de la machine virtuelle utilisés ici serviront à la machine virtuelle hors service de l’étape 3. Vous trouverez des informations supplémentaires sur les scripts de réparation dans la bibliothèque de scripts de réparation.

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id win-hello-world --verbose
    

    Si vous le souhaitez, vous pouvez effectuer toutes les étapes d’atténuation manuelles nécessaires à l’aide de la machine virtuelle de réparation, puis passer à l’étape 5.

  2. Exécutez az vm repair restore. Cette commande permet de remplacer le disque de système d’exploitation réparé par le disque de système d’exploitation d’origine de la machine virtuelle. Le groupe de ressources et le nom de la machine virtuelle utilisés ici serviront à la machine virtuelle hors service de l’étape 3.

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

Vérifier et activer les diagnostics de démarrage

L’exemple suivant active l’extension de diagnostic sur la machine virtuelle nommée myVMDeployed, dans le groupe de ressources nommé myResourceGroup :

Azure CLI

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

Étapes suivantes

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.