kubuntu-fr

Communauté francophone des utilisateurs de Kubuntu

 

[[tutoriel:comment_restaurer_grub]]

Piste: » comment_restaurer_grub


Comment réinstaller GRUB Legacy (pour Ubuntu 9.04 et antérieures) ?

Le présent tutoriel vous explique la procédure à suivre pour réussir la réinstallation GRUB Legacy (GRUB 0.9x) 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 Legacy est écrasé par un autre chargeur d'amorçage. GRUB Legacy doit être réinstallé pour qu'Ubuntu puisse être à nouveau chargé.

Il existe plusieurs procédures de réinstallation, selon le matériel dont vous disposez et la configuration de votre ordinateur. À l'aide de la table des matières ci-contre, repérez le cas qui vous rejoint le plus et suivez les indications données.

Vous utilisez Ubuntu 9.10 ou ultérieure ?
Les versions d'Ubuntu à partir de 9.10 (The Karmic Koala) sont livrées avec GRUB 2, dont le fonctionnement est différent de celui de GRUB Legacy. Pour de l'information concernant la restauration de GRUB 2, consultez le document qui lui est dédié.

Avec le Live CD Ubuntu (cas général)

Cette méthode est très simple à mettre en œuvre.

Cette méthode fonctionne avec tout Live CD contenant le programme GRUB: Live-CD Ubuntu, 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 LiveCD Ubuntu (si partition /boot distincte)

Si vous avez une partition distincte pour /boot/, tapez la commande suivante:

mount /dev/hdaX /boot/

où hdaX est la partition distincte avec /boot.

Réinstaller GRUB à partir de ce point est facile, tapez la commande suivante:

/sbin/grub-install /dev/hda

Si cette commande ne fonctionne pas, ce qui est peu probable, vous allez devoir configurer GRUB manuellement (ce n'est pas trop dur); si au contraire elle a fonctionné, vous devriez lire: "Configuring the GRUB menu".

Avant de passer à l'étape suivante, il est important de comprendre comment GRUB identifie les partitions.

NB: Si vous obtenez l'erreur "Could not find device for /boot: Not found or not a block device.", faites

cp /proc/mounts /etc/mtab

Pour GRUB, les nombres commencent à 0 et les lettres sont exprimées numériquement, commençant également à 0.

Par exemple, /dev/hda1 est "hd0,0" pour GRUB. De la même façon, /dev/hdb3 est "hd1,2".

Note: La ligne "root" doit pointer sur la location de votre partition /boot/ si vous en avez une. Si vous n'en avez pas, il faut qu'elle pointe sur votre partition /.

Si vous ne savez pas où se trouve votre /boot sur vos multiples partitions, vous obtiendrez la réponse ainsi :

/usr/sbin/grub 
grub> find /boot/grub/stage1
 (hdX,Y)

Il vous suffit maintenant de remplacer (hd0,2) par (hdX,Y) que vous avez trouvé dans le code suivant :

/usr/sbin/grub 
grub> root (hd0,2)
grub> setup (hd0)
grub> quit

Avec le CD Ubuntu Alternate

Pré-requis

Vous devez savoir quel est le nom de votre partition racine (/dev/hdxyx est une lettre et y un chiffre disponible dans /etc/fstab) ainsi que les numéros GRUB correspondants ( (hdz,w)z et w sont des chiffres disponibles dans « /boot/grub/menu.lst »). Ces informations sont primordiales. Sans elles, il est quasi impossible de récupérer GRUB.

Si vous n’avez qu’un disque dur et qu’il est en IDE il s’agit de « /dev/hda ». À partir de ubuntu Hardy Heron (8.04), ce sera « /dev/sda ».

Si celui-ci est SATA il s’agit de « /dev/sda ».

De plus, si vous n’avez qu’Ubuntu d’installée, il y a de fortes chances pour qu’elle le soit dans la première partition du disque soit « /dev/hda1 » pour un IDE ou « /dev/sda1 » pour un SATA.

GRUB ne se souciant pas du système d’exploitation, mais récupérant les informations depuis le BIOS, considérera qu’il s’agit du premier disque dur et de la première partition venue, d’où (hd0,0) que ce soit pour de l’IDE ou du SATA.

Démarche

Insérez le CD Alternate.

Lors du premier menu sélectionnez « Restauration système ». Répondez à toutes les questions.

Vous arrivez à un menu, choisissez « Restauration GRUB ».

Sélectionnez votre disque racine. Puis sélectionnez le disque contenant la MBR. Le plus souvent (hd0).

Validez. Sur le menu suivant choisissez reboot, retirez le disque en bénissant Ubuntu et rangez-le soigneusement.

Avec le Super GRUB Disk

Il existe un Live CD spécialement conçu pour la restauration du Grub après une ré-installation de Windows, et très facile à employer. C’est 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 tutorial sur comment installer le super grub disk sur USB, cette partie est complètement à la trappe !

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.

Avec une disquette de démarrage GRUB contenant le MBR

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 restaurer le MBR qui se trouve dans votre disquette:

sudo dd if=/media/floppy/boot.mbr of=/dev/hda bs=512 count=1

(Attention bs=512 restaure également la table de partition du disque initialement sauvegardé)

Si on ne veut pas sauvegarder/restaurer la table de partitions mais juste le boot loader, les commandes deviennent : pour sauvegarder: #dd if=/dev/hda of=mbr.sav bs=446 count=1 pour restaurer : #dd if=mbr.sav of=/dev/hda bs=446 count=1

Retirez la disquette, redémarrez pour vérifier que tout est rentré dans l'ordre. Sinon, essayez la méthode ci-dessous.

Avec une disquette de démarrage GRUB mais ne contenant pas le MBR

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 restaurer le MBR au démarrage de votre ordinateur:

sudo -s

pour passer en tant que super utilisateur

/sbin/grub-install /dev/hda

pour réinstaller le MBR de façon à ce que grub se lance au démarrage de votre ordinateur.

Voir aussi


tutoriel/comment_restaurer_grub.txt · Dernière modification: Le 22/07/2010, 15:21 par YannUbuntu
Le contenu de ce wiki est sous licence : CC BY-SA v3.0