La machine virtuelle Linux Azure ne parvient pas à démarrer et entre dans l’interpréteur de commandes d’urgence dracut
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.
Cet article fournit des solutions à un problème dans lequel une machine virtuelle Linux Azure ne peut pas démarrer, car le système de fichiers du système d’exploitation n’est pas accessible à partir du disque RAMdisk. La machine virtuelle atterrit dans l’interpréteur de commandes d’urgence dracut.
Conditions préalables
Assurez-vous que la console série est activée et fonctionnelle sur la machine virtuelle Linux.
Comment identifier le problème de démarrage dracut
Pour identifier un problème de démarrage dracut, utilisez le Portail Azure pour afficher la sortie du journal de la console série de la machine virtuelle dans le volet diagnostics de démarrage, le volet de la console série, ou utilisez l’interface CLI AZ.
Toutes les machines virtuelles avec le problème de démarrage atterriront dans l’interpréteur de commandes d’urgence dracut ou initramfs et s’afficheront à la fin du journal de la console série :
RHEL/CentOS/SLES/Oracle Linux :
[ 201.935612] dracut-initqueue[455]: Warning: dracut-initqueue timeout - starting timeout scripts [ 201.941153] dracut-initqueue[455]: Warning: Could not boot. Starting Setup Virtual Console... [[0;32m OK [0m] Started Setup Virtual Console. Starting Dracut Emergency Shell... Warning: /dev/mapper/rootvg-rootlv does not exist Generating "/run/initramfs/rdsosreport.txt" Entering emergency mode. Exit the shell to continue. Type "journalctl" to view system logs. You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot after mounting them and attach it to a bug report. dracut:/#
Ubuntu:
mdadm: No arrays found in config file or automatically done. Gave up waiting for root file system device. Common problems: - Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?) - Missing modules (cat /proc/modules; ls /dev) ALERT! /dev/mapper/osencrypt does not exist. Dropping to a shell! BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.4) built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs)
Résolution des problèmes en ligne
Conseil
Si vous avez une sauvegarde récente de la machine virtuelle, restaurez la machine virtuelle à partir de la sauvegarde pour résoudre le problème de démarrage.
La console série est la méthode la plus rapide pour résoudre les problèmes. Il vous permet de résoudre directement le problème sans avoir à présenter le disque système à une machine virtuelle de récupération. Vérifiez que vous remplissez les conditions préalables nécessaires pour votre distribution. Pour plus d’informations, consultez Console série de machine virtuelle pour Linux.
Identifiez si votre machine virtuelle atterrit dans l’interpréteur de commandes d’urgence.
Essayez de résoudre le problème à l’aide de la console série Azure.
Remarque
Tous les problèmes ne peuvent pas être résolus à l’aide de la console série Azure.
- Déclenchez Redémarrer la machine virtuelle (en dur) à partir de la console série.
- Interrompez votre machine virtuelle dans le menu GRUB avec la touche Échap .
- Sélectionnez E pour modifier la première entrée du noyau dans le menu GRUB.
- Accédez à la
linux16
ligne, puis validez et corrigez la configuration incorrecte du GRUB comme suit :- Chemin d’accès de l’appareil racine incorrect dans le fichier de configuration GRUB, UUID ou nom de volume racine incorrect.
- Chemin d’accès de l’appareil d’échange incorrect dans le fichier de configuration GRUB.
- Paramètres dupliqués dans le fichier de configuration GRUB.
- Toute faute de frappe évidente.
Après avoir modifié manuellement les paramètres grub, sélectionnez Ctrl+X pour démarrer la machine virtuelle.
Toute modification effectuée à ce stade est une modification non persistante. Si la machine virtuelle est en mesure de démarrer, résolvez ce problème dans le fichier de configuration GRUB, sinon il se reproduit.
Une fois que la machine virtuelle est de nouveau en ligne, corrigez les problèmes de configuration dans le
/etc/default/grub
fichier de configuration et mettez à jour la configuration grub. Pour ce faire, consultez Réinstaller GRUB et régénérer le fichier de configuration GRUB.Redémarrez la machine virtuelle pour vous assurer qu’elle peut démarrer sans intervention manuelle.
Résolution des problèmes hors connexion
Conseil
Si vous avez une sauvegarde récente de la machine virtuelle, restaurez la machine virtuelle à partir de la sauvegarde pour résoudre le problème de démarrage.
Si la console série Azure ne fonctionne pas sur la machine virtuelle spécifique ou n’est pas une option dans votre abonnement, résolvez ce problème à l’aide d’une machine virtuelle de secours/réparation. À l’aide des commandes de réparation de machine virtuelle, créez une machine virtuelle de réparation à laquelle est connectée une copie du disque de système d’exploitation de la machine virtuelle affectée. Montez la copie des systèmes de fichiers du système d’exploitation dans la machine virtuelle de réparation à l’aide de chroot.
Remarque
Vous pouvez également créer manuellement une machine virtuelle de secours à l’aide du portail Azure. Pour en savoir plus, consultez l’article Résoudre les problèmes d’une machine virtuelle Linux en connectant le disque du système d’exploitation à une machine virtuelle de récupération à l’aide du portail Azure.
Accédez aux sections suivantes pour résoudre des problèmes spécifiques :
- La machine virtuelle chiffrée ADE ne parvient pas à démarrer, car VFAT est désactivé.
- Les pilotes Hyper-V sont manquants.
- Configuration incorrecte du GRUB.
- Endommagement du système de fichiers racine.
- Problèmes liés à l’activation LVM.
- La partition racine est manquante.
- Initrd ou initramfs corruption.
Une fois le problème de démarrage lié à dracut/initramfs résolu, effectuez les actions suivantes :
- Quittez chroot.
- Démonter la copie des systèmes de fichiers de la machine virtuelle de secours/réparation.
- Exécutez la commande
az vm repair restore
pour remplacer le disque de système d’exploitation réparé par le disque de système d’exploitation d’origine de la machine virtuelle. Pour plus d’informations, consultez l’étape 5 Réparer une machine virtuelle Linux à l’aide des commandes de réparation de machine virtuelle Azure. - Vérifiez si la machine virtuelle peut démarrer. Pour ce faire, examinez la Serial console Azure ou essayez de vous connecter à la machine virtuelle.
Échec du démarrage de la machine virtuelle chiffrée ADE, car VFAT est désactivé
Pour plus d’informations, consultez Échec du démarrage des machines virtuelles chiffrées ADE.
Pilotes Hyper-V manquants
Si les pilotes Hyper-V inclus dans le noyau Linux de toutes les distributions Linux modernes sont désactivés, réactivez-les et régénérez l’image initramfs/initrd. Pour plus d’informations, consultez Scénario 3 : Les autres pilotes Hyper-V sont désactivés.
Si la machine virtuelle est Red Hat et qu’elle est migrée à partir d’un emplacement local, activez les pilotes Hyper-V requis dans l’image initramfs. Pour plus d’informations, consultez Le pilote Hyper-V n’a pas pu être inclus dans le disque RAM initial lors de l’utilisation d’un hyperviseur non Hyper-V.
Configuration incorrecte de GRUB
Le rd.break
paramètre force la machine virtuelle à démarrer dans l’interpréteur de commandes d’urgence. Vérifiez que ce paramètre n’est pas codé en dur dans le fichier de configuration GRUB.
Chemin d’accès de l’appareil racine incorrect dans le fichier de configuration GRUB
Vérifiez si le chemin d’accès root=/dev/***
racine dans le fichier de configuration GRUB est correct. Vérifiez que le chemin d’accès de l’appareil approprié est utilisé.
Si vous êtes à l’intérieur de chroot dans une machine virtuelle de réparation/sauvetage :
- Suivez l’étape 1 dans Résolution des problèmes hors connexion.
- Validez le
/etc/default/grub
fichier, l’entréeGRUB_CMDLINE_LINUX
et recherchez leroot=
paramètre au cas où il est codé en dur dans le fichier de configuration. - Réinstallez GRUB et régénérez le fichier de configuration GRUB.
Si vous êtes dans la console série Azure :
- Suivez l’étape 3 dans Résolution des problèmes en ligne.
- Validez la
linux16
ligne, puis recherchez le paramètre et corrigez-leroot=
. - Sélectionnez Ctrl+X pour démarrer la machine virtuelle.
- Une fois que la machine virtuelle a démarré correctement, modifiez le
/etc/default/grub
fichier, corrigez leroot
paramètre et mettez à jour le fichier de configuration GRUB, comme indiqué dans Réinstaller GRUB et régénérer le fichier de configuration GRUB.
Pendant cette validation, vérifiez les points suivants :
- Dans les machines virtuelles Ubuntu avec chiffrement du système d’exploitation, vérifiez que le nom de l’appareil est
/dev/mapper/osencrypt
. - Sur les machines virtuelles avec le gestionnaire de volumes logiques (LVM) sur le disque du système d’exploitation, le volume racine est
/dev/mapper/rootvg-rootlv
. Le même chemin est utilisé dans les machines virtuelles RHEL avec un disque de système d’exploitation ADE chiffré. - Assurez-vous qu’aucun nom d’appareil sous la forme de
/dev/sdX
n’est utilisé, car ils changeront entre les redémarrages et ne sont pas persistants dans Linux. Pour plus d’informations, consultez Résoudre les problèmes liés aux modifications de nom d’appareil de machine virtuelle Linux. - Si des UUID sont utilisés, vérifiez que l’UUID du système de fichiers racine approprié est utilisé et que la syntaxe est
root=UUID=xxx-yyy-zzz
.
Chemin d’accès de l’appareil d’échange incorrect dans le fichier de configuration GRUB
Dans ce scénario, une machine virtuelle ne parvient pas à terminer le processus de démarrage et entre dans l’interpréteur de commandes d’urgence dracut avec une erreur similaire à la suivante :
[ 188.000765] dracut-initqueue[324]: Warning: /dev/VG/SwapVol does not exist
Starting Dracut Emergency Shell...
Warning: /dev/VG/SwapVol does not exist
Le fichier de configuration GRUB dans cet exemple est défini pour charger un volume logique (LV) comme échange avec le paramètre rd.lvm.lv=VG/SwapVol
. Toutefois, la machine virtuelle ne parvient pas à localiser cette machine virtuelle pendant le processus de démarrage.
Il est important de noter que l’utilisation d’un appareil d’échange de cette façon dans les machines virtuelles Linux Azure n’est pas recommandée. Pour plus d’informations, consultez Créer un fichier SWAP pour une machine virtuelle Linux Azure.
Pour résoudre ce problème, recherchez le chemin d’échange rd.lvm.lv=VG/SwapVol
dans le fichier de configuration GRUB (/etc/default/grub
) et supprimez-le. Pour ce faire, utilisez l’une des méthodes suivantes :
Si vous êtes à l’intérieur de chroot dans une machine virtuelle de réparation/sauvetage :
- Suivez l’étape 1 dans Résolution des problèmes hors connexion.
- Modifiez le
/etc/default/grub
fichier, accédez à l’entréeGRUB_CMDLINE_LINUX
, recherchez lerd.lvm.lv=VG/SwapVol
paramètre, puis supprimez-le de la configuration. - Réinstallez GRUB et régénérez le fichier de configuration GRUB.
Si vous êtes dans la console série Azure :
- Suivez l’étape 3 dans Résolution des problèmes en ligne.
- Accédez à la ligne commençant par
linux
, recherchez le paramètre et supprimez-lerd.lvm.lv=VG/SwapVol
. - Sélectionnez Ctrl+X pour démarrer la machine virtuelle.
- Une fois la machine virtuelle démarrée, modifiez le
/etc/default/grub
fichier, supprimez lerd.lvm.lv=VG/SwapVol
paramètre, puis mettez à jour le fichier de configuration GRUB, comme indiqué dans la section Réinstaller GRUB et régénérer le fichier de configuration GRUB .
Paramètres dupliqués dans le fichier de configuration GRUB
Vérifiez s’il existe des paramètres dupliqués dans le fichier de configuration GRUB :
Si vous êtes à l’intérieur de chroot dans une machine virtuelle de réparation/sauvetage :
- Suivez l’étape 1 dans Résolution des problèmes hors connexion.
- Validez le
/etc/default/grub
fichier et l’entréeGRUB_CMDLINE_LINUX
. - Recherchez les paramètres dupliqués et supprimez-les.
- Mettez à jour le fichier de configuration GRUB. Pour plus d’informations, consultez Réinstaller GRUB et régénérer le fichier de configuration GRUB.
Si vous êtes dans la console série Azure :
- Suivez l’étape 3 dans Résolution des problèmes en ligne.
- Validez la
linux16
ligne, recherchez les paramètres dupliqués et supprimez-les. - Sélectionnez Ctrl+X pour démarrer la machine virtuelle.
- Une fois que la machine virtuelle démarre correctement, modifiez le
/etc/default/grub
fichier en conséquence, corrigez les problèmes de configuration identifiés précédemment et mettez à jour le fichier de configuration GRUB, comme indiqué dans Réinstaller GRUB et régénérer le fichier de configuration GRUB.
Endommagement du système de fichiers racine
Lorsque le système de fichiers racine est endommagé, il ne peut pas être monté à partir de l’image initrd/initramfs.
Pour corriger l’endommagement du système de fichiers racine, suivez les instructions fournies dans Résoudre les problèmes de démarrage de machine virtuelle Linux en raison d’erreurs de système de fichiers - Effectuer une réparation du système de fichiers.
Problèmes liés à l’activation LVM
Certains problèmes peuvent se produire lorsque vous accédez au volume physique (PV) LVM, au groupe de volumes (VG) et/ou au volume logique (LV). Ils ne peuvent pas être traités à partir de la console série Azure. Pour les résoudre, utilisez une machine virtuelle de réparation/sauvetage.
Suivez l’étape 1 dans Résolution des problèmes hors connexion.
Pour identifier les problèmes, exécutez les commandes suivantes et examinez les sorties de commande.
Identifiez quel appareil correspond au disque du système d’exploitation et vérifiez s’il est détecté en tant que pv :
lsblk pvs
Vérifiez si le
rootvg
VG est détecté :vgs
Vérifiez si la LV est détectée :
lvs
Résolvez les erreurs LVM courantes suivantes qui provoquent des problèmes d’accès au volume racine :
Pv inconnu lorsque la VG rootvg n’a qu’un seul PV (il s’agit de la configuration Azure standard)
La partition contenant le pv est supprimée, redimensionnée ou créée de manière incorrecte. Pour résoudre ce problème, consultez Partition racine manquante.
Pv inconnu lorsque la VG rootvg est modifiée et fractionnée sur plusieurs disques
Il n’est pas recommandé d’avoir 2 pv dans le groupe de disponibilité virtuel rootvg. Dans ce scénario, le disque de données peut être détaché de la machine virtuelle et les volumes logiques rootvg ne sont plus accessibles. Pour résoudre ce problème, rattachez le disque d’origine à la machine virtuelle et redémarrez-le.
Si le pv est irrécupérable, effectuez une restauration à partir de la sauvegarde.
La partition racine est manquante
Le système de fichiers racine peut être inaccessible en raison de certains problèmes qui se produisent au niveau de la partition pendant les opérations de redimensionnement de partition ou d’autres.
Dans ce scénario, si vous avez documenté la disposition de la table de partition d’origine, avec les secteurs de début et de fin exacts pour chacune des partitions d’origine (et qu’aucune autre modification n’est effectuée sur le système, comme la création de nouveaux systèmes de fichiers), recréez les partitions à l’aide de la même disposition d’origine. Vous pouvez le faire avec des outils tels que fdisk
(pour les tables de partition MBR) ou gdisk
(pour les tables de partition GPT) pour accéder au système de fichiers inaccessible. Suivez cette opération de récupération à partir d’une machine virtuelle de réparation/sauvetage. Pour plus d’informations, consultez la section Résolution des problèmes hors connexion .
Si cette approche ne fonctionne pas, nous vous recommandons d’effectuer une restauration à partir d’une sauvegarde.
Initrd ou initramfs corruption
L’image initrd/initramfs présente un certain niveau d’altération, ce qui entraîne l’échec du montage du volume racine et du démarrage du processus de démarrage du système d’exploitation.
Pour résoudre ce problème, procédez comme suit à partir de chroot dans une machine virtuelle de réparation/sauvetage :
- Suivez l’étape 1 dans Résolution des problèmes hors connexion.
- Régénérez manuellement les initramfs manquants.
- Redémarrez la machine virtuelle pour vérifier si elle est en mesure de démarrer.
Étapes suivantes
Si l’erreur de démarrage spécifique n’est pas un problème dracut ou initramfs, consultez Résoudre les erreurs de démarrage d’Azure Linux Machines Virtuelles pour obtenir d’autres options de résolution des problèmes.
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