Résoudre les échecs de démarrage UEFI dans les machines virtuelles Linux Azure
Remarque
CentOS référencé dans cet article est une distribution Linux qui atteint la fin de vie (EOL). Tenez compte de votre utilisation et planifiez en conséquence. Pour plus d’informations, consultez Guide sur la fin de vie de CentOS.
Les images de partenaires Linux dans Place de marché Azure sont étiquetées et configurées pour le démarrage de génération 1 du BIOS et pour le démarrage UEFI (Unified Extensible Firmware Interface) de génération 2.
Lorsque vous déployez des machines virtuelles Linux de 2e génération dans Azure, vous pouvez rencontrer des échecs de démarrage UEFI. Cet article décrit certains scénarios où des échecs de démarrage UEFI se produisent et fournit des solutions.
Symptômes
Lorsque vous déployez une machine virtuelle Linux de génération 2 dans Azure, le démarrage échoue et le serveur est inaccessible.
Identifier les erreurs de démarrage UEFI
Vérifiez l’état actuel de votre machine virtuelle à l’aide du diagnostics de démarrage Azure.
La capture d’écran du diagnostics de démarrage montre les messages d’erreur suivants :
Erreur 1
Résumé du démarrage de la machine virtuelle
- Appareil inconnu
Le chargeur de démarrage n’a pas chargé de système d’exploitation. - Disque SCSI (0,0)
Le chargeur de démarrage n’a pas chargé de système d’exploitation. - Disque SCSI (0,1)
Le chargeur de démarrage n’a pas chargé de système d’exploitation. - Carte réseau (000D3A4DD64D)
Une image de démarrage est introuvable.
Aucun système d’exploitation n’a été chargé. Votre machine virtuelle est peut-être mal configurée. Quittez et reconfigurez votre machine virtuelle ou cliquez sur Redémarrer pour réessayer la séquence de démarrage actuelle.
- Appareil inconnu
Erreur 2
Démarrer PXE sur IPv4
Avant de résoudre le problème
Pour effectuer la réparation de machine virtuelle hors connexion requise pour le scénario 1 : la partition UEFI dans l’image de démarrage est manquante et le scénario 2 : la partition UEFI dans l’image de démarrage est endommagée, vérifiez que vous avez accès à Azure CLI ou à Azure Cloud Shell.
Scénario 1 : la partition UEFI dans l’image de démarrage est manquante
Si la partition du chargeur de démarrage UEFI est manquante ou supprimée, la machine virtuelle Linux de génération 2 ne démarre pas.
Pour résoudre ce problème, procédez comme suit :
Utilisez la commande az vm repair create pour créer une machine virtuelle de réparation. La machine virtuelle de réparation aura une copie du disque du système d’exploitation pour la machine virtuelle non fonctionnelle attachée. Pour plus d’informations, consultez Réparer une machine virtuelle Linux à l’aide des commandes de réparation de machine virtuelle Azure.
Recréez la partition à l’aide des commandes suivantes :
root@repair-centos7:~# gdisk /dev/sdc GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): p Disk /dev/sdc: 134217728 sectors, 64.0 GiB Model: Virtual Disk Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): <Disk GUID> Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 134217694 Partitions will be aligned on 2048-sector boundaries Total free space is 1019837 sectors (498.0 MiB) Number Start (sector) End (sector) Size Code Name 1 1026048 3123199 1024.0 MiB 0700 2 3123200 134215679 62.5 GiB 8E00 14 2048 10239 4.0 MiB EF02 Command (? for help): n Partition number (3-128, default 3): First sector (34-134217694, default = 10240) or {+-}size{KMGTP}: 10240 Last sector (10240-1026047, default = 1026047) or {+-}size{KMGTP}: 1026047 Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): ef00 Changed type of partition to 'EFI System' Command (? for help): p Disk /dev/sdc: 134217728 sectors, 64.0 GiB Model: Virtual Disk Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): <Disk GUID> Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 134217694 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 1026048 3123199 1024.0 MiB 0700 2 3123200 134215679 62.5 GiB 8E00 3 10240 1026047 496.0 MiB EF00 EFI System 14 2048 10239 4.0 MiB EF02 Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdc. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) The operation has completed successfully.
Importante
- Remplacez par
/dev/sdc
la copie correspondante du périphérique de disque du système d’exploitation. - Le choix du numéro de partition n’a pas d’importance tant que les points de début et de fin du secteur sont corrects. Les points de départ et de fin de secteur appropriés sont choisis, car le système d’exploitation est en mesure de déterminer les secteurs manquants.
- Vérifiez que le secteur de fin n’est occupé par aucune autre partition dans le disque. Le choix des valeurs par défaut doit suffire ici.
Les images de partenaires Linux Azure ont le numéro de partition, les points de départ de secteur et les points de terminaison de secteur suivants :
Distribution du système d’exploitation Linux Numéro de partition EFI Démarrage du secteur Fin du secteur CentOS 7 15 10240 1024000 CentOS 8 15 10240 1024000 Debian 10 15 8192 262143 Debian 11 15 8192 262143 RHEL 7 1 2048 1026047 RHEL 8 15 10240 1024000 Oracle Linux 7 15 10240 1024000 Oracle Linux 8 15 10240 1024000 Ubuntu 18.04 15 10240 227327 Ubuntu 20.04 15 10240 227327 SLES 12 2 6144 1054719 SLES 15 2 6144 1054719 - Remplacez par
Une fois la partition recréée, restaurez la machine virtuelle en échangeant le disque du système d’exploitation réparé avec le disque du système d’exploitation d’origine de la machine virtuelle à l’aide de la commande az vm repair restore . Pour plus d’informations, consultez l’étape 5 dans Réparer une machine virtuelle Linux à l’aide des commandes de réparation de machine virtuelle Azure.
Scénario 2 : La partition UEFI dans l’image de démarrage est endommagée
Si la partition de démarrage UEFI est endommagée, le démarrage de la machine virtuelle Linux de génération 2 échoue. Pour résoudre ce problème, procédez comme suit :
Utilisez la commande az vm repair create pour créer une machine virtuelle de réparation. La machine virtuelle de réparation aura une copie du disque du système d’exploitation pour la machine virtuelle non fonctionnelle attachée. Pour plus d’informations, consultez Réparer une machine virtuelle Linux à l’aide des commandes de réparation de machine virtuelle Azure.
Nettoyez la partition endommagée à l’aide des commandes suivantes :
root@repair-centos7:~# gdisk -l /dev/sdc GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sdc: 134217728 sectors, 64.0 GiB Model: Virtual Disk Sector size (logical/physical): 512/4096 bytes Disk identifier (GUID): <Disk GUID> Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 134217694 Partitions will be aligned on 2048-sector boundaries Total free space is 4029 sectors (2.0 MiB) Number Start (sector) End (sector) Size Code Name 1 1026048 3123199 1024.0 MiB 0700 2 3123200 134215679 62.5 GiB 8E00 3 10240 1026047 496.0 MiB EF00 EFI System 14 2048 10239 4.0 MiB EF02 root@repair-centos7:~# fsck.vfat -n /dev/sdc3 fsck.fat 4.1 (2017-01-24) 0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. Automatically removing dirty bit. Leaving filesystem unchanged. /dev/sdc3: 19 files, 1438/63326 clusters root@repair-centos7:~# fsck.vfat /dev/sdc3 fsck.fat 4.1 (2017-01-24) 0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt. 1) Remove dirty bit 2) No action ? 1 Perform changes ? (y/n) y /dev/sdc3: 19 files, 1438/63326 clusters root@repair-centos7:~# fsck.vfat /dev/sdc3 fsck.fat 4.1 (2017-01-24) /dev/sdc3: 19 files, 1438/63326 clusters
Importante
- Remplacez par
/dev/sdc
la copie correspondante du périphérique de disque du système d’exploitation. - Effectuez toujours une sauvegarde du disque du système d’exploitation et effectuez un dry run avec l’option
-n
avant d’exécuter le système de fichiers case activée mentionné ci-dessus. - La
dosfsck
commande peut être utilisée pour effectuer l’case activée du système de fichiers vfat. Les deux commandes sont identiques. Pour plus d’informations, consultez fsck.vfat.
- Remplacez par
Une fois la partition nettoyée, restaurez la machine virtuelle en échangeant le disque du système d’exploitation réparé avec le disque du système d’exploitation d’origine de la machine virtuelle à l’aide de la commande az vm repair restore . Pour plus d’informations, consultez l’étape 5 dans Réparer une machine virtuelle Linux à l’aide des commandes de réparation de machine virtuelle Azure.
Scénario 3 : l’intégralité du contenu de la partition /boot est supprimée
Si l’intégralité de la partition /boot ou d’autres contenus importants sont manquants et ne peuvent pas être récupérés, la restauration de la machine virtuelle à partir d’une sauvegarde est la seule option. Pour plus d’informations, consultez l’article Comment restaurer les données de la machine virtuelle Azure dans le portail Azure.
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.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour