Remplacez les identifiants de partition basés sur le nom de périphérique par des UUID dans le fichier de configuration GRUB afin d'éviter les échecs de démarrage de GRUB après des opérations sur le disque, telles que l'importation d'images.
Contexte
Les noms de périphériques, tels que /dev/vda1, peuvent changer après certaines opérations comme l'importation d'images. Si le nom de périphérique indiqué dans la configuration GRUB ne pointe plus vers la bonne partition, le noyau ne parvient pas à charger le système de fichiers et l'instance ne peut pas démarrer.
Procédure
Configurez GRUB pour identifier la partition racine par UUID et garantir un démarrage fiable.
La modification de la configuration GRUB est une opération à haut risque. Des modifications incorrectes peuvent empêcher le démarrage de votre instance. Avant de continuer, créez un snapshot pour votre instance afin de garantir la data security.
Vérifier la version de GRUB
GRUB existe en deux versions majeures : GRUB2 et GRUB Legacy. GRUB Legacy ne bénéficie que de corrections de bugs. Vérifiez votre version de GRUB comme suit.
-
Identifiez votre version de
GRUB:GRUB2
Vérifiez la structure du répertoire de configuration
GRUB:sudo ls /etc/grub.d/Si la sortie inclut des fichiers tels que
00_headeret40_custom, vous utilisezGRUB2. Exemple de sortie :00_header 05_debian_theme 10_linux 20_linux_xen 30_os-prober 30_uefi-firmware 40_custom 41_customGRUB Legacy
Vérifiez le contenu du répertoire
/boot/grub/:sudo ls /boot/grub/Si le répertoire
/boot/grubcontient un fichiermenu.lst, vous utilisezGRUB Legacy.
Localiser le fichier de configuration
GRUB2 et GRUB Legacy utilisent des chemins de fichiers de configuration différents.
GRUB2:/boot/grub/grub.cfgou/boot/grub2/grub.cfg.GRUB Legacy:/boot/grub/menu.lstou/boot/grub/grub.conf.
Accédez au répertoire /boot pour trouver le fichier de configuration GRUB.
Obtenir les UUID des partitions de disque
Récupérez l'UUID de chaque partition de disque pour l'utiliser dans le fichier de configuration GRUB.
-
Consultez les UUID des partitions de disque :
sudo blkidExemple de sortie :
/dev/vda1: LABEL="/" UUID="e7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645" TYPE="ext4" PARTUUID="0efbxxxx-01"Ici, l'
UUIDde/dev/vda1este7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645.
Modifier le fichier de configuration
-
Sauvegardez le fichier de configuration
GRUBactuel :sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bakImportantPour restaurer le fichier de configuration
GRUB, exécutez :sudo cp -f /boot/grub2/grub.cfg.bak /boot/grub2/grub.cfg -
Ouvrez le fichier de configuration
GRUB:sudo vim /boot/grub2/grub.cfg -
Saisissez
ipour passer en mode insertion. Remplacez toutes les occurrences deroot=/dev/vda1parroot=UUID=e7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645.linux /boot/vmlinuz-3.16.0-4-amd64 root=/dev/vda1 ro single debian-installer=en_US net.ifnames=0 vga=792 console=tty0 console=ttyS0,115200n8Ligne modifiée :
linux /boot/vmlinuz-3.16.0-4-amd64 root=UUID=e7e8xxxx-xxxx-xxxx-xxxx-xxxxb9263645 ro single debian-installer=en_US net.ifnames=0 vga=792 console=tty0 console=ttyS0,115200n8 Appuyez sur
Escpour quitter le mode insertion, puis saisissez:wqpour enregistrer et quitter.-
(Facultatif) Vérifiez que tous les identifiants de partition de disque dans
GRUButilisent désormais l'UUID:sudo cat /boot/grub2/grub.cfg
Références
Pour configurer le fichier fstab afin de monter automatiquement un disque de données, consultez la rubrique Monter automatiquement un disque de données à l'aide de l'UUID.