Récupérer Linux après suppression Grub dans Dual-boot Windows et Linux

malekalmorte

Création :

24 juillet 2019

Modification :

Votre PC est configuré en Dual-Boot Linux et Windows.
Mais vous n’arrivez plus à démarrer sur Linux.
En effet Grub a disparu ou a été supprimé et donc votre PC ne démarre plus que sur Windows 10.
Impossible donc de booter sur le dual-boot Windows ou Linux.

Cela peut arriver après divers opérations :

  • Une tentative pour supprimer votre Dual-Boot
  • Une mise à jour de Windows 10.
  • Une réparation de la partition EFI de Windows.

Vous ne pouvez donc plus booter sur Linux puisque grub a disparu.
En effet le PC démarre directement sur Windows 10 et vous n’avez plus accès à Linux.
Comment réparer, récupérer et réinstaller Grub au démarrage du PC ?

Cet article vous aide à récupérer Linux après une erreur de suppression du Dual-Boot.
Cet article fonctionne pour Ubuntu, Debian, Mint et d’autres distributions.

Récupérer Linux après suppression Grub dans Dual-boot

Récupérer Linux après suppression Grub dans Dual-boot

Vérifier l’ordre de démarrage dans le BIOS

Pour commencer, vérifier que l’entrée de démarrage Linux est toujours présente dans le BIOS UEFI.
Si c’est le cas, il suffit alors de la positionner en premier.
Le démarrage GRUB va alors revenir comme avant.

Pour vous aider, suivez ce tutoriel :

Réparer Grub de Ubuntu

Créer la clé USB bootable Ubuntu

Pour commencer il faut créer une clé USB bootable Ubuntu.
Le but est de démarrer sur ce dernier depuis un Live CD.
A partir de là, on peut lancer une réparation avec Boot Repair ou avec un terminal.

Pour créer la clé USB Ubuntu, vous pouvez suivre cet article : Comment télécharger et créer un Ubuntu Live USB
Enfin démarrez sur cette dernière : Comment démarrer sur une clé USB

Boot Repair

Ubuntu propose un outil qui se nomme Boot-Repair.
Ce dernier permet de réparer les problèmes de démarrage Grub.

Ensuite ouvrez un terminal.
Afin de passer le clavier en français, utilisez cette commande:

setxkbmap fr

Ensuite ces commandes apt suivantes afin d’installer.

sudo add-apt-repository -y ppa:yannubuntu/boot-repair && sudo apt update && sudo apt install -y boot-repair boot-info
Réparer un dual-boot Windows et Ubuntu avec Boot Repair

Enfin ouvrez Boot Repair puis cliquez sur le bouton Recommended repair.
Cela va lancer la réparation.
Tout se fait de manière automatique.
Enfin redémarrez le PC et vérifiez si grub apparaît.

Réparer un dual-boot Windows et Ubuntu avec Boot Repair

En ligne de commandes

Si vous avez deux disques pour votre Dual-Boot, Ubuntu peut créer une seconde partitions EFI.
Par exemple, ici on a la partition EFI :

  • /dev/sda2 pour Windows
  • /dev/sdb1 pour Ubuntu

Pour lister les partitions, il faut utiliser la commande fdisk :

fdisk -l

Repérez bien les partitions EFI, Windows et Linux.

La partition EFI dans un dual-boot Ubuntu.

La partition EFI d’Ubuntu devrait normalement être vide.
Ainsi si on monte les deux partitions EFI, la seconde est vide.

mkdir /tmp/boot1
mkdir /tmp/boot2
mount /dev/sda2 /tmp/boot1
mount /dev/sdb1 /tmp/boot2

En faisant un ls, cela confirme que seule la partition EFI de Windows est pleine.

La partition EFI dans un dual-boot Ubuntu.

Voici les commandes à saisir afin de réparer le Dual-boot.
La première partie créé les dossiers dans /tmp.
puis on chroot afin de passer du Live CD à son Linux.
Enfin on monte la partition EFI et on passe un coup de grub-install

mkdir -p /tmp/chroot
sudo mount -t ext4 /dev/sdb2 /tmp/chroot
sudo mount --bind /proc /tmp/chroot/proc
sudo mount --bind /dev /tmp/chroot/dev
sudo mount --bind /sys /tmp/chroot/sys
sudo chroot /tmp/chroot/
mkdir /tmp/boot
sudo mount /dev/sda2 /tmp/boot
sudo grub-install --target=x86_64-efi --efi-directory=/tmp/boot --bootloader-id=ubuntu

Bien entendu, vous devez adapter ces commandes pour remplacer avec les partitions de vos disques.

récupérer Linux après une erreur de suppression du Dual-Boot.

Lorsqu’il manque certains paquets grub, on peut obtenir cette erreur.
grub-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn’t exist. Please specify –target or –directory.

grub-install: error

Sans chroot on peut alors obtenir cette erreur : grub-install error failed to get canonical path of /cow

grub-install: error

Réparer Grub avec Debian

Si l’entrée Linux a disparu alors il faut faire une réparation Grub.
Cela va alors replacer Grub au démarrage du PC avec le choix du Dual-Boot.

Ainsi pour commencer on créer un Live USB Debian afin de démarrer en rescue.

Créer la clé USB Linux bootable

Pour cela, vous devez démarrer sur une clé USB Linux.
Le principe est :

  • Télécharger le fichier ISO de Linux
  • Créer la clé USB avec Rufus ou autres outils.

Pour les autres distributions afin de faciliter les choses, utilisez des outils gratuits comme Universal USB Installer ou UNetbootin.
Avec ces derniers vous pouvez créer directement la clé USB.
Plus d’informations sur la page : Comment créer une clé USB bootable

Enfin démarrez sur cette dernière : Comment démarrer sur une clé USB
Laissez vous guider pour démarrer en rescue et monter votre partition Linux.

Recréer le Dual-boot Grub

Enfin depuis le terminal, vous pouvez recréer la partition EFI.
Dans cet exemple, la partition EFI ne contient plus que les entrées Windows.
Il en résulte que Grub ne se lance plus au démarrage mais part directement sur Windows.
Il faut donc recréer les entrées Grub pour votre Linux.

Si vous êtes sur Ubuntu dans les commandes suivantes, pensez à utiliser sudo.

On commence par lister les partitions de disque afin de localiser la partition EFI.
Pour ce faire :

fdisk -l

Dans cet exemple, la partition EFI se trouve dans /dev/sda2

réparer le dual-boot Debian et Windows en terminal

Pour mieux comprendre voici ce que cela donne depuis la gestion des disques de Windows.

La partition EFI dans Windows

Ensuite on monte la partition EFI.
Remplacez /dev/sda2 par votre partition EFI.

mkdir /tmp/boot
mount /dev/sda2 /tmp/boot
réparer le dual-boot Debian et Windows en terminal

Enfin on passe la commande grub suivant pour recréer l’entrée Grub Linux.

grub-install --target=x86_64-efi --efi-directory=/tmp/boot/ --bootloader-id=debian

bootloader-id est l’identifiant qui apparait dans le BIOS.
Vous pouvez mettre ce que vous souhaitez.

Se reporter aussi à ce tutoriel :

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.