Table des matières

, ,

Cette documentation traite uniquement d'une réinstallation en mode LEGACY et non EFI

Comment réinstaller GRUB ?

Le présent tutoriel vous explique la procédure à suivre pour réussir la réinstallation GRUB.

Cela peut arriver par exemple lorsqu'il a été effacé suite à l'installation ou la mise à jour d'un autre système d'exploitation (notamment 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é.

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 un console 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)
Si la console "GRUB rescue" apparaît au démarrage, avant d'entreprendre une procédure compliquée, il convient de déconnecter tous les disques durs annexes et de redémarrer. Il peut arriver que le disque principal ne soit pas reconnu si certains disques annexes sont connectés dès le départ.
Beaucoup de commandes ici vont être faites en tant qu'administrateur, faites attention à la dangerosité de vos manipulations.

Solution la plus simple et rapide

cette solution ne doit pas être appliquée si le boot est fait avec le support d'installation.

Taper dans un terminal en tant qu'administrateur :

sudo os-prober
sudo update-grub
sudo grub-install /dev/sda

Explications :

Cette solution marche bien par exemple si GRUB est toujours disponible mais tout simplement ne s'est pas mis à jour lorsque vous avez effectué une installation ou un upgrade.

Via le Réparateur de Démarrage

C'est la méthode conseillée si la méthode précédente n'a pas marché. Il suffit d'utiliser ce petit outil graphique : Réparateur de Démarrage

Réparateur de Démarrage

Cet outil fonctionne aussi pour les ordinateurs démarrant avec l'UEFI.

Méthodes avancées en lignes de commande

Ces procédures sont sans doute mal adaptées si votre PC utilise l'UEFI

Via le disque 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) ;
  2. Amorcez votre ordinateur avec ce CD-ROM ou cette clé USB en choisissant l'option Essayer Ubuntu sans rien changer sur votre ordinateur ;
  3. Montez la partition qui contenait le logiciel GRUB2 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 en tant qu'administrateur :

os-prober

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

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 tant qu'administrateur, 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):

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") :

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 méthode peut empêcher votre système d'exploitation de démarrer
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. Sinon vous pourriez rencontrer des erreurs du style : "chroot: cannot run command `/bin/bash': Erreur de format pour exec()".
fdisk -l                      # pour vous aider à trouver la partition sur laquelle est votre ubuntu
mount /dev/sdaX /mnt          # montage de celle-ci en remplaçant le X par le bon numéro de partition
mount --bind /dev /mnt/dev    # lien symbolique du dossier /dev en cours d'utilisation vers le disque monté
mount --bind /dev/pts /mnt/dev/pts   # lien symbolique du dossier /dev/pts en cours d'utilisation vers le disque monté
mount --bind /sys /mnt/sys    # lien symbolique du dossier /sys en cours d'utilisation vers le disque monté
mount -t proc /proc /mnt/proc # Pour que Grub2 trouve /proc/mounts
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.)

À 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 :

Dans un terminal Ubuntu, en tant qu'administrateur :

update-grub

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

Via l'installation d'une distribution Linux

Cette méthode est peut-être la moins conventionnelle mais redoutablement efficace. Certains l'utilisent en dernier recours, d'autres dès que Grub ne marche pas. Avec une bonne connexion internet et une mémoire SSD, ça peut etre fait en 15 mn ! Le concept :

  1. Installer une distribution Linux sur une autre partition
  2. Changer l'ordre de démarrage de Grub

Lors de l'installation d'une autre distribution, l'installateur va détecter tous les systèmes d'exploitation et va installer Grub correctement. Il mettra cette nouvelle distribution en démarrage par défaut, il vous suffira de selectionner au prochain démarrage votre ancienne distribution

Voir aussi