Réinstaller une partition EFI sur un serveur dédié
By JOUET Grégor
16 avr. 2019
- Catégories
- Hack
- Tags
- Infrastructure
- Linux
- Cloud
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
Nous avons récemment eu quelques difficultés avec la partition EFI d’un serveur dédié. Après un redémarrage, il n’est pas revenu en ligne.
Si vous avez un serveur dédié chez votre hébergeur, vous êtes en charge de toute l’administration, du réseau, à la gestion des disques et égallement de la séquence de démarrage.
Sur un ordinateur de bureau la partition EFI est indiquée par le BIOS et n’est pas censé changer une fois définie. Sur un serveur dédié cependant, le BIOS teste charque partition détectée pour trouver une installation EFI valide, et c’est très pratique car cela veut dire que vous pouvez déplacer votre installation EFI où bon vous semble et gérer vos disques comme vous l’entendez.
Cela peut cependant être difficile à comprendre à première vue, surtout si tous vos disques sont livrés avec une partition EFI vide. Vous pouriez penser que c’est une erreur et juste supprimer ces partitions (sauf sur un de vos disques systèmes) pour utiliser pleinement vos disques. Il vous faut être certain que les partitions que vous supprimez sont bien vides, sinon votre serveur risque de ne pas redémarer. Si vous avez supprimé la partition contenant l’installation EFI et redémaré, vous ne pourrez plus accéder à votre serveur.
Les étapes suivantes vous montrent comment restaurer la partition EFI en utilisant GRUB :
- La première étape est de reprendre la main sur le serveur en le faisant passer en “rescue mode” (le nom peut varier selon les hébergeurs). C’est essentiellement un mode de démarage à distance qui vous donnera un temporairement accès à votre serveur pour réparation.
- Une fois connecté, commencez par déterminer votre disque racine. Vous pouvez vous servir de
lsblk
pour vous aider à le retrouver plus facilement. Voici comment monter le disque dans le répertoire/mnt
:mount /dev/your_root_disk /mnt
- Montez égallement les systèmes de fichiers virtuels :
dev
,sys
etproc
:mount -t sysfs sys /mnt/sys mount -t devtmpfs devtmpfs /mnt/dev mount -t proc procfs /mnt/proc
- Montez la partition EFI de votre choix, ici /dev/sda1 est une partition EFI (avec flag EFI) de format vfat :
mount /dev/sda1 /mnt/boot/efi
- Placez-vous dans le nouvel environnement avec chroot :
chroot /mnt
- Installez grub :
grub-install --efi-directory=/boot/efi
- Mettez à jour la configuration de GRUB :
grub-mkconfig -o /boot/grub/grub.cfg
Et voila, votre serveur devrait redémarer normalement, sortez du mode recovery sur la page de votre hébergeur et redémaez le serveur. Faites attention à ne pas supprimer la partition EFI que vous venez d’installer.