Restaurer le boot loader Grub sous Linux Ubuntu
Grub is Evil
Grub - GRand Unified Boot loader - nous rappelle quelquefois l'importance de son rôle au démarrage par des messages du genre :
Error 13: Invalid or unsupported executable format, Error 24: Attempt to access block outside partition...
Cet article vous présente comment restaurer la MBR après un problème avec Grub.
Présentation du problème
La zone d'amorce ou Master Boot Record (MBR) du disque dur reste un point faible des installations Linux. En cas d'anomalie, elle peut empêcher tout redémarrage.
Le logiciel Grub en charge de la MBR est mis à jour lors des mises à niveau du noyau Linux ou lors de l'installation d'OS complémentaires comme Windows. Ces opérations ne sont donc pas anodines et nécessitent une sauvegarde préalable des informations vitales du serveur.
Identifier ses partitions
Démarrez votre serveur sur une clé USB Linux, voir l'article Créer une clé usb bootable Ubuntu 10.04 pour plus d'information.
Ouvrez une console et identifiez votre partition Linux :
# parted -l
Modèle: ATA ST380013AS (scsi)
Disque /dev/sda : 80,0GB
Taille des secteurs (logique/physique) : 512o/512o
Table de partitions : msdos
Numéro Début Fin Taille Type Système de fichiers Fanions
1 32,3kB 21,0GB 21,0GB primary ntfs démarrage
3 21,0GB 36,8GB 15,9GB primary ext4
4 36,8GB 78,2GB 41,3GB primary
2 78,2GB 80,0GB 1818MB extended lba
5 78,2GB 80,0GB 1818MB logical linux-swap(v1)
Dans cet exemple, il s'agit de /dev/sda3. La notation grub pour cette partition est hd0,2 : disque numéro 0 et partition numéro 2.
Sauvegarder votre MBR
Pourquoi sauvegarder la Master Boot Record de votre disque qui ne fonctionne plus me direz-vous ?
Parce que les consignes qui suivent peuvent aggravées la situation si vous avez mal compris votre problème. Il est donc essentiel de faire une sauvegarde de votre MBR avant de la modifier en vu de la restaurer si besoin.
La commande pour sauvegarder la MBR du disque /dev/sda dans un fichier mbr-sda.sav est :
# dd if=/dev/sda of=mbr-sda.sav bs=512 count=1
Si vous souhaitez restaurer la MBR :
# dd if=mbr-sda.sav of=/dev/sda
chrooter l'environnement
Activez temporairement votre disque dans un chroot. Je pars du postulat que vous n'avez pas séparé votre partition /boot du reste du disque système.
Avec les données d'exemple, cela donne les commandes suivantes :
# mount /dev/sda3 /mnt
# mount -o bind /dev /mnt/dev
# mount -o bind /proc /mnt/proc
# cp /proc/mounts /mnt/etc/mtab
# chroot /mnt/ /bin/bash
Attention, toutes les opérations disques vont maintenant être effectuées sur la partition système de votre disque dur !
Récupérer automatiquement Grub
Grub peut récupérer automatiquement votre MBR. En ligne de commande :
# /sbin/grub-install /dev/sda
# reboot
Récupérer manuellement Grub
Si la récupération automatique n'aboutit pas, vous pouvez récupérer manuellement Grub. Avec les données d'exemple, en ligne de commande :
# /sbin/grub
grub> root (hd0,2)
grub> setup (hd0)
grub> quit
hd0,2 correspond à /dev/sda3. Ajustez ces informations à votre installation.
Récupérer Grub avec le CD d'installation d'Ubuntu
Si vous n'avez pas de clé de démarrage, vous pouvez reconstruire votre configuration Grub à l'aide du CD d'installation d'Ubuntu.
Démarrez votre PC depuis le CD Ubuntu.
Au message boot:, entrez rescue
Passez les écrans jusqu'à la question concernant la partition de démarrage. Dans mon exemple, la partition est /dev/sda3. Cela donne le nom /dev/discs/disc0/part3.
Lorsque vous êtes en ligne de commande, installez grub :
# grub-install /dev/sda3
- Ajouter un commentaire
- 10129 lectures


Commentaires
Merci! J ai pu reparer mon grub grace a vous.