16/12/2024

Commandes et Système

Réinstaller le grub Linux depuis un LiveCD

I. Présentation

Dans ce tutoriel, nous allons apprendre à réinstaller le grub sous Linux. Il arrive en effet parfois que l'on se retrouve sans possibilité de démarrer, avec un "grub rescue >" pas très intuitif. Il faut savoir qu'il existe plusieurs façons de ce sortir de cette situation, la plus simple à mon goût reste le démarrage sur une distribution en Live Linux. Nous allons ensuite, depuis cette distribution Live Linux, réinstaller le grub sur la partition système.

Qu'est ce que le grub ?

GRUB (Grand Unified Bootloader) est un petit programme (appelé programme d'amorçage) qui se lance dès le démarrage d'un ordinateur, il est en charge de lancer le démarrage du système d'exploitation et, si plusieurs OS sont présents, d'afficher un panneau de sélection pour le choix du boot entre ces différents OS.

Note : Ce tutoriel ne fonctionnera pas si votre /boot a été totalement supprimé.

II. Boot depuis un LiveCD

Dans le contexte actuel, et s'il est impossible de démarrer sur votre OS Linux, je vous recommande l'utilisation d'un Live Linux, une distribution Linux qui va nous permettre d'utiliser un système complet avec ses outils, pour réparer notre Grub. Un Live Linux peut être porté par un CD ou une clé USB.

Pour construire une clé USB Live Linux, je vous oriente vers ce tutoriel : Créer un une clé Live USB Linux depuis Windows

III. Réinstallation du grub

Maintenant que nous sommes sur notre distribution Linux Live, nous pouvons utiliser différents outils pour dépanner notre OS. La première chose à faire est de repérer notre partition Linux. En tant qu'utilisateur "root", nous exécutons la commande suivante :

fdisk -l

Voici l'affichage que j'ai pour ma part :

linux-sauvegarder-restaurer-01

Ici, on remarque facilement une partition Linux principale dans "/dev/sda1", c'est dans cette partition que le boot pourra être installé. Il s'agit ici du contexte le plus simple dans lequel la partition "/boot" est dans la partition système et non à part.

Il faut maintenant installer sur notre système Live Linux la commande "grub" :

apt-get install grub

Ensuite, nous installons le grub dans notre partition système, après l'avoir monté dans "/mnt" :

mount /dev/sda1 /mnt
grub-install --root-directory=/mnt/boot /dev/sda1

Ici, on spécifie donc le répertoire dans lequel installer le grub puis le périphérique à lire pour détecter l'OS installé, dans le cas du tutoriel : /dev/sda1

Il se peut ici que vous rencontriez l'erreur suivante :

The file /mnt/boot/grub/stage1 not read correctly

Elle n'est généralement pas bloquante et n'empêche pas la reconstruction du grub, pour terminer, nous validons nos modifications avec la commande suivante :

update-grub

L'option "--recheck" de la commande "grub-install" peut permettre dans certains cas de détecter des anomalies durant l'installation du grub :

grub-install --root-directory=/mnt/boot /dev/sda1 --recheck

À la suite de ces commandes, vous pourrez tenter un reboot de votre système.

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

5 commentaires sur “Réinstaller le grub Linux depuis un LiveCD

  • raaaaah merci dommage que ce tuto n’est pas venu quelques mois plutôt car ça m’aurai était très utile !!

    Répondre
  • Bonjour,

    je voudrais savoir si dans le cas ou le grub est protégé par mot de passe cela devait fonctionner car chez moi rien ne marche.

    Cordialement.

    Répondre
    • Bonjour,

      Hélas je n’ai pas eu l’occasion de tester dans le contexte ou le grub est protégé par un mot de passe. Il est probable que cela pose problème en effet. La protection du grub par mot de passe est justement présente pour éviter la modification par un tier non autorisé

      Répondre
      • C’est dans ce contexte justement que je voulais essayer de réinstaller le grub et ainsi voir si le mot de passe était vraiment protecteur tant au niveau de l’édition que de la réinstallation.

        Merci pour cette réponse.

        Répondre
  • Bonsoir, un peu tard mais

    root-directory devrait être /mnt
    et boot-directory est bien /mnt/boot …

    forcément.

    A +

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.