Le Chrootage pour réparer le GRUB

Le chroot (abréviation de CHanging ROOT) est un processus qui permet de changer la racine en entrant dans un environnement isolé. Dans mon cas, cela m’a permis de réparer mon grub efi.

Point de départ : Le LiveCD

Pour chrooter facilement, je suis parti du LiveCD Linux Mint Mate, pourquoi Mint avec l’environnement de bureau Mate ? Tout simplement car Mint support bien le live boot efi  et incorpore pas mal d’outils et Mate est un EB léger et agréable pour ce genre de travail.

Après coup, il s’est avéré que pour réparer le grub, il est plus simple de passer par une iso ArchLinux et d’utiliser arch-chroot en place et lieu de chroot.

Montage des partitions

chroot

En accord avec la configuration de mes partitions, j’ai monté mes partitions dans le répertoire /mnt du LiveCD :

mount /dev/sda5 /mnt
mount -t vfat -o umask=000 /dev/sda1 /mnt/boot
mount /dev/sda6 /mnt/home

Il est fort possible qu’il faille posséder les droits administrateurs, pour se faire, il faut précéder chaque ligne par le mot sudo.

Ensuite on lie les périphériques physiques avec mon point de montage /mnt ainsi que les répertoires système :

mount -o bind /dev /mnt/dev/
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -t devpts pts /mnt/dev/pts

A partir de là, on chroot le point de montage pour « entrer » dedans :

chroot /mnt /bin/bash

Une fois les modifications terminées, on utilise la commande exit pour sortir du chroot :

exit

arch-root

Mise en français du clavier :

loadkeys fr

En accord avec la configuration de mes partitions, j’ai monté mes partitions dans le répertoire /mnt du LiveCD :

mount /dev/sda5 /mnt
mount -t vfat -o umask=000 /dev/sda1 /mnt/boot
mount /dev/sda6 /mnt/home

Il est fort possible qu’il faille posséder les droits administrateurs, pour se faire, il faut précéder chaque ligne par le mot sudo.

A partir de là, on arch-root le point de montage pour « entrer » dedans :

arch-root /mnt

Une fois les modifications terminées, on utilise la commande exit pour sortir du chroot :

exit

Réparation du GRUB

De mon côté, ma partition boot était corrompue, j’ai dû reformater la partition à partir de Windows 8 dont je ne citerai la démarche abominable :(

De ce fait, j’ai juste eu à reprendre les étapes de configuration/installation du grub :

pacman -S grub
 
grub-mkconfig -o /boot/grub/grub.cfg
 
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --no-floppy
 
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
mkinitcpio -p linux

 Régénérer le fichier fstab

Pour éviter tout problème avec les partitions, je vous conseil de régénérer le fichier /etc/fstab. Depuis le LiveCD (en dehors du chroot), renommer le fichier fstab :

mv /mnt/etc/fstab /mnt/etc/fstab_bak

Maintenant nous pouvons régénérer le fichier fstab :

genfstab -U -p /mnt >> /mnt/etc/fstab