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 |