Ceci est une ancienne révision du document !



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'.

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

testé sous ubuntu 12.10 64 bit avec le live cd aucun problème windows 7 et ubuntu de retour dans grub

Via l'Alternate CD

L'Alternate CD permet d'installer Ubuntu en mode texte. Il est donc plus rapide qu'un liveCD. Il permet aussi de réparer un système endommagé. Avant l'étape de formatage, il est toujours possible d'annuler l'installation en faisant "Revenir en arrière".

  • Récupérer l'image iso de l'Alternate CD en 32 ou 64bits suivant votre installation.
  • Graver l'image sur un disque vierge.
  • Mettre le disque dans le lecteur & démarrer l'ordinateur sur le disque.
  • Choisir l'option « Récupérer un système endommagé ».
  • Choisir le pays.
  • Choisir le clavier.
  • Choisir le nom de la machine (aucune importance ici).
  • Configurer l'horloge (aucune importance ici).
  • Vous arrivez jusqu'au menu « Entrer dans le mode de récupération ».
  • Choisir votre partition qui contient le système de fichiers racine (/)
  • Si vous voulez exécuter un shell dans l'hypothèse où /boot serait une partition séparée faites-le, monter /boot, et quitter le shell (exit) une fois terminé.
  • Normalement, le programme vous propose maintenant l'option « Réinstallation du programme de démarrage GRUB ».
  • Choisissez cette option.
  • Quitter le programme d'installation et redémarrer le PC.
les iso Ubuntu server proposent elles aussi un mode de récupération

Méthodes en lignes de commande

Attention : N'utilisez pas ces procédures si vous avez installé Ubuntu dans windows avec WUBI ou bien si c'est Windows qui gère votre démarrage et que vous souhaitiez conserver cette configuration

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.
  • 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 (replacer 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'apparait 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)

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.

Vous avez GRUB Legacy (GRUB 0.9x) si vous utilisez Ubuntu 8.04 LTS, ou avez migré depuis Ubuntu 9.04 (ou antérieure) vers Ubuntu 10.04 (ou ultérieure).

Avec le Live CD Ubuntu 8.04 LTS

Cette méthode fonctionne avec tout Live CD contenant le programme GRUB Legacy : Live-CD Ubuntu 8.04, SystemRescueCd (~200Mo), etc.

Étape 1

Lancez votre live-CD, ouvrez un terminal et tapez :

sudo grub

Au cas où grub n'est pas installé, installez le paquet grub.

FIXME un autre tuto indique: sudo grub ––batch , (a quoi sert ––batch???)

(29/08/2009) le manuel de GRUB indique un passage en mode batch pour un usage non interactif.

Dans le cas où vous bootez sur un liveCD d'une version différente à celle du système sur votre disque, vous obtiendrez peut-être aussi le message "Error 15 : file not found". La solution consiste alors à monter votre système (par exemple dans /media/disk) et à lancer la version de GRUB qui s'y trouve : >sudo /media/disk/usr/sbin/grub , ensuite la procédure est la même.

Étape 2

Vous arrivez sur le menu principal de GRUB. Si vous ne savez pas sur quelle partition se trouvent les fichiers de Grub, entrez à l'invite grub> :

find /boot/grub/stage1

(Si le message "Error 15 : file not found" apparait, essayez : find /grub/stage1 )

Cette commande vous indiquera la partition sur laquelle sont situés ces fichiers.

Étape 3

Imaginons que cette commande nous a fourni (hd0,1) comme réponse. Dans ce cas, il faut entrer :

root (hd0,1)

Remplacez bien entendu (hd0,1) par la partition correspondante.

Étape 4

L'étape suivante consiste à indiquer à Grub le disque sur lequel il doit (ré)installer le chargeur de système. Si par exemple, on souhaite l'installer sur le disque (hd0) (pour info, hd0 représente hda le premier disque dur):

setup (hd0)
quit
Si vous désirez installer grub ailleurs que sur la première partition pour utiliser un autre boot manager au démarrage (par exemple GAG), le mentionner dans la commande setup: exemple: setup (hd0, 1)

Voilà le travail est fini. GRUB est remis d'aplomb !

Partition non-reconnue

Avec le Live CD, les manipulations précédentes trouvent uniquement l'endroit où est installé Grub dans les fichiers du Live CD. Ce dont vous avez besoin, c'est de trouver l'endroit où est installé Grub sur votre autre partition contenant Ubuntu.

Il faut donc monter votre partition Ubuntu, afin de pouvoir y retrouver les fichiers de GRUB.

$ sudo mkdir /mnt/root
$ sudo mount -t ext3 /dev/sdXY /mnt/root

(où X est une lettre et Y est un nombre entier positif)

Vous devez ensuite monter les sous-systèmes de fichiers proc et udev sous /root :

$ sudo mount -t proc none /mnt/root/proc
$ sudo mount -o bind /dev /mnt/root/dev

Procéder ainsi permet à GRUB de trouver et reconnaître vos disques/partitions. Ensuite, vous avez à changer de dossier racine :

$ sudo chroot /mnt/root /bin/bash

Maintenant que vous êtes en chroot sur votre partition montée, tout devrait fonctionner. Vous reprenez donc la procédure qui était décrite précédemment :

# sudo grub
grub> find /boot/grub/stage1

Cela trouve donc GRUB sur une partition (hdX,Y), où X et Y sont des nombres entiers positifs.

grub> root (hdX,Y)

La partition est scannée avec succès et le type système de fichiers est reconnu.

grub> setup (hd0)
grub> quit

Voilà. Il ne reste plus qu'à redémarrer et GRUB apparaîtra à nouveau. Note : il se peut que Windows n'apparaisse pas dans GRUB à ce point. Il suffira de l'ajouter par la suite.

Astuce trouvée ici : http://ubuntuforums.org/showthread.php?t=224351

Avec le Super GRUB Disk

Depuis le cdrom de Super Grub Disk vous devez suivre les options : Français → Linux → Arranger Démarrage de Linux. SGD vous dira : « SGD a réussi ! »

Et Grub sera à nouveau sur votre MBR vous permettant de démarrer aussi bien Windows que Linux.

La restauration de Grub sur une partition en ext4 ne fonctionne qu'a partir de la version 0.9795 de SGD (0.9795)

FIXME ça serait bien si vous pouviez ajouter le tutoriel sur comment installer le super grub disk sur USB, cette partie est complètement à la trappe !

Réponse: 1. se trouver yumi: yumi.version.exe ← (www.yahoo.fr → yumi linux → http://www.pendrivelinux.com/yumi-multiboot-usb-creator/) 2. se trouver ubcd.iso ubcd.iso ← http://www.ultimatebootcd.com/download.html 3. lancer yumi sous win.xp … win.xp yumi.version.exe 4. choisir la distro adéquate … system linux … ubcd … 5. et yaka 6. au final: usb bootable pour distro linux, dont ubcd qui contient supergrub2 (ici: hdd → boot → supergrub2)

;-)

Avec le Super GRUB 2 Disk

Désormais, une nouvelle version de Super Grub Disk est sortie, et il est possible de restaurer le Grub si vous avez réinstallé Windows sur une autre partition et que cela a écrasé le Grub, avec cette méthode :

  • Démarrez sous Windows, normalement. Et allez sur le site de Super Grub 2 Disk afin d'y télécharger l'image disque de ce dernier.
  • Une fois le téléchargement fini, gravez l'image disque sur un CD ou DVD.
  • La gravure finie, redémarrez votre ordinateur, et amorcez sur le CD ou DVD contenant l'image disque de Super Grub 2 Disk.
  • L'image disque, une fois amorcée, doit arriver sur cette image, puis sélectionnez Detect any OS (choix surbrillancé sur l'image). Attendez que vos noyaux (ou OS) soit affichés.
  • Sélectionnez le noyau correspondant à votre OS, puis attendez d'être arrivé sur votre fenêtre de connexion.
  • Identifiez-vous, puis ouvrez un terminal, et tapez-y la commande grub-install /dev/sda. Attendez que l'exécution de la commande soit finie, et redémarrez votre ordinateur, en prenant le soin d'enlever le CD du lecteur disque afin de ne pas ré-amorcer sur cet ISO.

Avec une disquette de démarrage

Si vous n'avez pas de lecteur CD mais un lecteur de disquette, c'est la méthode la plus simple. Elle nécessite d'avoir préalablement créé une disquette démarrable de GRUB en suivant ce didacticiel.

Insérez la disquette et redémarrez l'ordinateur. GRUB apparaît. Sélectionnez Ubuntu. Une fois le démarrage terminé, ouvrez le Terminal et entrez le code suivant pour reinstaller GRUB dans le MBR :

sudo /sbin/grub-install /dev/hda
  • tutoriel/comment_restaurer_grub.1362769947.txt.gz
  • Dernière modification: Le 08/03/2013, 20:12
  • par fabux