Table des matières

Réparer Grub2

Introduction

La réparation s'effectue en quelques étapes

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

mkdir -p /mnt/target
mount /dev/sdaX /mnt/target
mount -o bind /dev/ /mnt/target/dev
mount -o bind /sys/ /mnt/target/sys
mount -t proc proc /mnt/target/proc
chroot /mnt/target
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).

apt-get install grub-pc
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.

grub-install /dev/sda
grub-install

Le menu de boot n'est pas à jour

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
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 !