Mon Arch Linux ne démarre plus !

Posté le 19 septembre 2022 - Astuces pour développeurs - Par Grafikart - Proposer une correction

De temps en temps il m'arrive d'avoir la mauvaise surprise de voir mon système ne plus démarrer comme prévu (retour sur le BIOS avant d'atteindre le GRUB ou une erreur initram après le GRUB). Ces erreurs sont souvent causées par une extinction du système pendant une mise à jour, mais rassurez vous c'est réparable !

Matériel requis

Pour réparer votre démarrage il vous faudra une clef USB avec un live iso de Arch Linux. Ce live iso nous permettra de démarrer sur un système afin de pouvoir initialiser le processus de réparation. Vous devrez donc démarrer depuis cette clef USB depuis votre BIOS avant de commencer les étapes de réparation.

Réparation du démarrage

La première étape consiste à retrouver la partition qui contient votre système Linux et la partition de démarrage EFI. Pour cela nous allons utiliser fdisk.

fdisk -l

On recherchera le nom des partition "Systeme Linux information" et "EFI", dans mon cas ces 2 partitions sont sur le même disque mais vous devrez adapter en fonction de votre système.

exemple de retour fdisk -l

La prochaine étape consiste à monter les partitions sur notre système temporaire

mount /dev/PARTITION_LINUX /mnt
mount /dev/PARTITION_EFI /mnt/boot/efi

On peut ensuite définir /mnt comme la racine de notre système en utilisant arch-chroot qui est disponible avec le LiveCD.

arch-chroot /mnt

Votre shell devrait changer en vous indiquant que vous êtes "root". A partir de là, on peut commencer la réparation, en commençant par reconstruire la ramdisk avec mkinitcpio

mkinitcpio -p linux

Ensuite, on va reconstruire la configuration pour GRUB via grub-mkconfig.

grub-mkconfig -o /boot/grub/grub.cfg

Et on re-installe le GRUB sur la partion EFI.

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Archlinux

Enfin, on peut démonter les partitions

exit
umount -a

Il ne vous reste plus qu'à redémarrer et votre système devrait redémarrer à nouveau !