Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Réparer Grub2

  • Objet : Votre Grub2 ne fonctionne plus, vous voulez le réparer depuis un live-cd.
  • Niveau requis :
  • Commentaires : Votre Grub2 a été cassé par une installation en dual-boot, ou par n'importe quoi d'autre, ça boot plus, et vous voulez le restaurer…
  • Suivi :
    • Création par captnfab le 12/07/2015
    • Testé par Trefix le 01/10/2016 > fonctionne sans le moindre accroc en suivant pas à pas.
  • Commentaires sur le forum : ici 1)

Introduction

La réparation s'effectue en quelques étapes

  • Récupérer une live (ce peut être l'installateur en mode rescue)
  • Démarrer dessus
  • Obtenir un terminal root
  • Réparer Grub2

En général, une live-debian, ou live-ubuntu, ou un cd gparted, ou un cd d'install Debian en mode rescue font très bien l'affaire. Et il est facile d'obtenir un terminal root en lançant dans un terminal la commande

sudo -s

Réparer Grub2

Pour récupérer Grub2, nous allons nous « placer » dans le système installé depuis le live.

Pour cela, il est nécessaire de savoir sur quelle partition est installé le système.

Trouver la partition sur laquelle est installée le système :

  • La commande lsblk devrait nous donner une liste des partitions et leur taille:

Exemple:

lsblk
retour de la commande
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 119,2G  0 disk 
├─sda1   8:1    0   100M  0 part 
├─sda2   8:2    0  93,1G  0 part
├─sda3   8:3    0     1K  0 part 
├─sda5   8:5    0   4,7G  0 part
└─sda6   8:6    0  21,4G  0 part
  • La commande fdisk -l peut nous donner la liste des partitions, leur taille et leur type:
fdisk -l
retour de la commande
Disk /dev/sda: 119,2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x51317cf7
 
Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048    206847    204800  100M  7 HPFS/NTFS/exFAT
/dev/sda2          206848 195540991 195334144 93,1G  7 HPFS/NTFS/exFAT
/dev/sda3       195543038 250068991  54525954   26G  5 Extended
/dev/sda5       195543040 205305855   9762816  4,7G 82 Linux swap / Solaris
/dev/sda6       205307904 250068991  44761088 21,4G 83 Linux
  • La commande parted /dev/sda p peut nous donner la liste des partitions, leur taille et leur type:
parted /dev/sda p
retour de la commande
Model: ATA SAMSUNG MZ5PA128 (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 
 
Number  Start   End    Size    Type      File system     Flags
 1      1049kB  106MB  105MB   primary   ntfs            boot
 2      106MB   100GB  100GB   primary   ntfs
 3      100GB   128GB  27,9GB  extended
 5      100GB   105GB  4999MB  logical   linux-swap(v1)
 6      105GB   128GB  22,9GB  logical   ext4

Vous pouvez essayer de voir les partitions une par une jusqu'à trouver la partition racine de votre système (comportant les dossiers usr, bin, sbin, root, boot, etc, etc.) Exemple avec sda1:

  • Créer un emplacement pour le montage:
mkdir -p /mnt/target
  • Monter:
mount /dev/sda1 /mnt/target
  • Lister le contenu:
ls /mnt/target
  • Démonter la partition:
umount /mnt/target

On supposera que la partition contenant le système est /dev/sdaX, vous devrez remplacer sdaX par le bon nom…

Mise en place du chroot

  • Créer un emplacement pour le montage:
mkdir -p /mnt/target
  • Monter le système de fichier racine:
mount /dev/sdaX /mnt/target
  • Monter les systèmes de fichiers virtuels nécessaires:
mount -o bind /dev/ /mnt/target/dev
mount -o bind /sys/ /mnt/target/sys
mount -t proc proc /mnt/target/proc
  • Plonger dans le nouveau système de fichier racine (tout ce qui est au dessus de /mnt/target ne sera plus accessible):
chroot /mnt/target
  • Monter les autres partitions:
mount -a

Réparer le Grub

Le problème peut survenir à plusieurs niveaux.

Grub2 n'est pas installé sur le système

En principe, il l'est. Ne faites cette étape que si vous pensez que Grub2 a été désinstallé.

Dans ce cas, il y a deux paquets différents à installer suivant que votre installation soit faite sur un UEFI, ou sur un BIOS (ou un UEFI en mode legacy).

  • Installation sur un BIOS ou un UEFI en mode Legacy:
apt-get install grub-pc
  • Installation sur un UEFI en mode UEFI
apt-get install grub-efi-amd64

Grub2 n'est pas présent sur le secteur d'amorçage / dans l'UEFI

Il a pu être écrasé si vous avez installé un autre système, si vous avez reformaté, etc.

  • Réinstaller le chargeur de démarrage sur un BIOS ou un UEFI en mode Legacy:
grub-install /dev/sda
  • Réinstaller le chargeur de démarrage sur un UEFI en mode UEFI:
grub-install

Le menu de boot n'est pas à jour

  • Vérifier que os-prober est bien présent:
which os-prober

Si os-prober n'est pas présent, les autres systèmes d'exploitations ne seront pas détectés. Pour l'installer, connectez votre live à Internet et tapez dans le terminal

apt-get install os-prober

  • Mettre à jour la configuration de Grub2:
update-grub

Redémarrer

Vous pouvez simplement redémarrer à partir des menus du live-cd, ou si vous êtes en console, via un

exit
reboot
1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/systeme/grub2/reparer.txt · Dernière modification: 01/10/2016 18:27 par Trefix

Pied de page des forums

Propulsé par FluxBB