Comment réinstaller GRUB ?

Le présent tutoriel vous explique la procédure à suivre pour réussir la réinstallation GRUB, par exemple lorsqu'il a été effacé suite à l'installation d'un autre système d'exploitation (par exemple, Microsoft® Windows®).

Si vous redémarrez votre ordinateur et vous constatez que vous ne disposez plus d'un menu d'amorçage vous permettant de choisir entre le chargement d'Ubuntu ou de votre autre système d'exploitation (c'est ce qui se produit généralement lorsque vous installez un nouveau système d'exploitation en multi-amorçage avec Ubuntu), le chargeur d'amorçage GRUB est écrasé par un autre chargeur d'amorçage. GRUB doit être réinstallé pour qu'Ubuntu puisse être à nouveau chargé.

Et si tout simplement GRUB ne s'est pas mis à jour lorsque vous avez effectué une installation ou un upgrade de Windows, il suffit de taper dans un terminal : 'sudo os-prober' puis 'sudo update-grub'.

Dans le cas où cette doc est utilisée pour changer l'emplacement du chargeur d'amorçage de Grub, il est nécessaire d'enregistrer ce changement afin qu'il soit pris en compte par Grub. Sinon lors d'une mise à niveau de Ubuntu, on risque d'avoir une erreur "GRUB rescue>" au redémarrage. Après réparation par l'une des méthodes présentées ci-dessous, il convient donc de faire cette "régularisation" suivant ce (Tuto)

Via le Réparateur de Démarrage

C'est la méthode la plus simple. Il suffit d'utiliser ce petit outil graphique : Réparateur de Démarrage

Réparateur de Démarrage

Celui-ci fonctionne aussi pour les ordinateurs récents (démarrage UEFI).

Méthodes en lignes de commande

Ces procédures sont à adapter si votre PC est récent (UEFI)

Via le disque SuperGrub

  • Télécharger le disque SuperGrub à la page suivante.
  • Graver l'image sur un disque vierge.
  • Mettre le disque dans le lecteur & démarrer l'ordinateur sur le disque.
  • Choisir l'option « Detect any OS », puis sélectionner la ligne du système Ubuntu, et appuyer sur « Entrée ». Remarque: si votre système Ubuntu n’apparaît pas, essayez une autre méthode. Dans le cas d'une installation faite en mode UEFI, c'est un peu différent : voir ici
  • Une fois le système démarré et la session ouverte :
    • Soit (réinstallation sans purge): ouvrir un terminal, puis saisissez la commande
      sudo blkid

      pour connaître le nom (sdX= sda, sdb..) du disque dans lequel vous souhaitez installer GRUB, puis saisissez les commandes

      sudo grub-install /dev/sdX

      puis

      sudo update-grub

      .

    • Soit (réinstallation avec purge): connecter internet, ouvrir un terminal, puis saisir la commande suivante (remplacer grub-pc par grub-efi si besoin):
      sudo apt-get install --reinstall grub-pc grub-common

      (remarque: ceci effectue une purge partielle de GRUB, pour une purge complète, utiliser l'option "Purger GRUB" de Boot-Repair)

  • Des fenêtres de configuration vont apparaître, vous devrez alors sélectionner le disque dans lequel vous souhaitez installer GRUB via les touches du clavier (touches Espace, Tab et flèches).
  • Redémarrer le PC (après avoir sorti le disque de SuperGrub).

Via un CD Ubuntu (procédure sans chroot)

Si vous n'avez plus Grub2 suite, par exemple, à l'installation d'un autre système d'exploitation, voici les étapes à suivre pour le remettre en place :

  1. Munissez-vous d'un CD d'installation (ou clé USB d'installation) d'Ubuntu 9.10 ou ultérieure (Les versions antérieures d'Ubuntu n'incluant pas GRUB 2, il n'est pas possible d'utiliser un CD-ROM d'installation ou une clé USB d'installation d'Ubuntu en version 9.04 et antérieures pour réinstaller GRUB 2.) ;
  2. Amorcez votre ordinateur avec ce CD-ROM ou cette clé USB en choisissant l'option, si besoin, Essayer Ubuntu sans rien changer sur votre ordinateur ;
  3. Montez la partition qui contenait le logiciel GRUB 2 auparavant. Dans le cas général, il s'agit de la partition sur laquelle Ubuntu est installé. Dans la session d'essai d'Ubuntu (lancée à partir du CD d'installation), ouvrez le menu Raccourcis et sélectionnez la partition à monter dans la liste des partitions existantes ;
  4. Allez dans Système→Administration→Utilitaire de disques (System→Administration→Disk Utility) et :
    1. Notez l'identifiant de périphérique de votre disque durnotez l'identifiant de « Périphérique » de votre disque dur primaire, en haut à droite (généralement /dev/sda),
    2. cliquez sur la partition Linux principale, qui contenait GRUB 2 et qui a été montée précédemment,
    3. notez le nom de montage de cette partition en respectant les majuscules - « Point de montage », en bas à droite (ex: "/media/Maverick_LXDE").

      (L'image est pour Ubuntu 10.04 LTS.)

    4. NB : Si le nom est trop compliqué (une suite de chiffres), utiliser la commande suivante dans un terminal :"sudo tune2fs -L NomFacile /dev/sdaX" (X est le n° de la partion Ubuntu), puis avec l'Utilitaire de disques, démonter la partition puis la remonter : le point de montage est devenu /media/NomFacile
Pour faciliter l'identification de la partition Ubuntu et simplifier les restaurations futures de Grub, il est recommandé de donner un nom à cette partition. Pour cela, sur une session Ubuntu normale (lorsque grub fonctionne encore), ouvrez l'Utilitaire de disques, cliquez sur la partition Ubuntu et cliquez sur Renommer le système de fichiers (en bas à droite). La partition pourra être nommée "Ubuntu" ou "Maverick_LXDE" par exemple. Évitez d'inclure le caractère ESPACE dans le nom.

5. Dans un terminal (Applications → Accessoires → Terminal), lancez la commande suivante:

sudo os-prober

et vérifiez que tous vos OS sont listés.

Attention : Os-prober liste les systèmes qui sont installés en plus de la distribution (donc Ubuntu pour le cas présent) sur laquelle il est exécuté, donc pas d'inquiétude si Ubuntu n’apparaît pas.

6. Dans un terminal (Applications → Accessoires → Terminal), lancez la commande suivante en remplaçant "/media/Maverick_LXDE" (voir image) par votre point de montage et /dev/sda par l'identifiant de votre disque dur primaire (noté précédemment):

sudo grub-install --root-directory=/media/Maverick_LXDE /dev/sda


Si vous avez une partition de boot séparée, la commande sera alors ("boot" au lieu de "root") :

sudo grub-install --boot-directory=/media/boot_partition /dev/sda
Attention : les caractères ESPACE dans le nom du point de montage (dans mon cas /media/Ubuntu 10.10/) posent un problème de parsing au programme grub-install du Live CD Ubuntu 10.04. Malgré un échappement avec \ ou une encapsulation dans des guillemets :
#Attention, ces lignes ne fonctionnent pas !
sudo grub-install --root-directory=/media/Ubuntu\ 10.10 /dev/sda
sudo grub-install --root-directory="/media/Ubuntu 10.10" /dev/sda

# Elles répondent la ligne suivante :
cp: la cible `10.10/boot/grub' n'est pas un répertoire.

Dans ce cas, utilisez l'astuce du point 4.4 précédent visant à remonter la partition avec un autre nom.

7. Redémarrez en enlevant votre live-cd ou votre clé-usb.

Si cette procédure n'a pas fonctionné, essayez la procédure par chroot ci-dessous :

Via un CD Ubuntu (procédure par chroot)

Attention, cette methode peut casser votre disque dur.
Dans la suite de ce tuto, prenez un Live CD de la même architecture 32 ou 64 bits que le système d'exploitation que vous souhaitez réparer. Vous pourriez rencontrer des erreurs du style : "chroot: cannot run command `/bin/bash': Erreur de format pour exec()".
  • démarrez sur votre PC avec un live-cd Ubuntu
  • démontez les partitions contenant vos OS (sinon ils ne seront pas détectés)
  • lancez un terminal (ou console) et entrez les commandes suivantes:
sudo fdisk -l                      # pour vous aider à trouver la partition sur laquelle est votre ubuntu
sudo mount /dev/sdaX /mnt          # montage de celle-ci en remplaçant le X par le bon numéro de partition
sudo mount --bind /dev /mnt/dev    # lien symbolique du dossier /dev en cours d'utilisation vers le disque monté
sudo mount --bind /dev/pts /mnt/dev/pts   # lien symbolique du dossier /dev/pts en cours d'utilisation vers le disque monté
sudo mount --bind /sys /mnt/sys    # lien symbolique du dossier /sys en cours d'utilisation vers le disque monté
sudo mount -t proc /proc /mnt/proc # Pour que Grub2 trouve /proc/mounts
sudo chroot /mnt /bin/bash         # mise à la racine du disque monté
mount -a                           # montage des partitions dans le chroot
apt-get install grub-pc            # installation du logiciel Grub2 (sur le disque maintenant à la racine)
update-grub                        # création d'un nouveau fichier de configuration : grub.cfg
grub-install /dev/sda              # installation de grub sur le MBR

Si la dernière commande sort une erreur, tapez :

grub-install --force /dev/sda

Démontez les partitions montées dans le chroot :

umount -a

(Ignorez les éventuelles erreurs signalées.)

A partir de là, vous pouvez sortir du disque monté en effectuant ctrl+D. Puis, démontez ce disque :

sudo umount /mnt/{dev/pts,dev,sys,proc}
sudo umount /mnt

Redémarrez et vous devriez, à présent, être capable de booter correctement.

( Si cela ne fonctionne toujours pas, posez-vous la question, ai-je touché récemment à mes câbles, disques dur ? , une petite vérification dans le SETUP de l'ordinateur et un Load-Bios-Defaut, peut résoudre le problème )

Si vous avez d'autres systèmes d'exploitation sur d'autres partitions, (comme Windows par exemple), il est possible que ceux-ci n'apparaissent pas dans la liste de choix. Pour rétablir cette liste, il suffit de générer un nouveau fichier de configuration : grub.cfg

Continuer le chargement d'Ubuntu puis dans un terminal :

sudo update-grub

Vous retrouverez alors la liste complète des systèmes d'exploitation au prochain démarrage.

Voir aussi

  • tutoriel/comment_restaurer_grub.txt
  • Dernière modification: Le 28/04/2018, 11:24
  • (modification externe)