GRUB ne trouve pas Windows : ajouter un menu Windows au démarrage du PC

malekalmorte

Création :

30 septembre 2023

Modification :

Vous avez tenter une installation en Dual-boot Windows / Linux mais Windows n’est pas présent dans le menu de démarrage de Grub.
Impossible alors de démarrer sur Windows depuis Grub car Windows n’est pas détecté.
Ne vous inquiétez pas, cela est assez facile à corriger.

Dans ce tutoriel, je vous explique comment ajouter Windows dans le menu d’entrée de Grub afin de pouvoir démarrer sur Windows depuis Linux Grub.
Cela fonctionne pour toutes les versions de Windows : Windows 11, Windows 10, Windows 7 et 8 ainsi que n’importe quelle distribution Linux : Ubuntu, Debian, Mint, Fedora, Manjora, etc.

GRUB ne trouve pas Windows : ajouter un menu Windows dans GRUB

GRUB ne trouve pas Windows

Recréer l’entrée Windows automatiquement avec os-prober et update-grub

  • Montez la partition Windows, vous pouvez y accéder directement depuis nautilus dans autre emplacements, ou la monter avec la commande mount :
sudo mount -t ntfs-3g -o ro /dev/sda4 /media/windows
  • Editez le fichier /etc/default/grub et décommentez la ligne suivant (si présente) :
GRUB_DISABLE_OS_PROBER=false
  • Puis utilisez os-prober pour vérifier que Linux détecte bien Windows :
sudo os-prober
  • Mettez à jour la configuration grub :
sudo grub-update

Lorsque le Windows Boot Manager de Windows est détecté, vous obtenez :

Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows Boot Manager on /dev/sdb1@/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings …
Utiliser os-prober pour ajouter une entrée Windows dans Grub (Dual-boot Linux / Windows)
  • Il ne reste plus qu’à redémarré le PC pour démarrer sur la nouvelle entrée Windows dans Grub :
sudo reboot

Si os-prober ne détecte pas Windows, essayez ceci :

  • Assurez-vous que la partition C est bien montée dans Linux
  • Pour Windows installé en mode UEFI, assurez-vous que la partition système EFI contenant le gestionnaire de démarrage Windows (bootmgfw.efi) est montée. Exécutez os-prober en tant que super-utilisateur pour détecter et générer une entrée pour cette partition
  • Pour Windows installé en mode BIOS, montez la partition système Windows (son étiquette de système de fichiers doit être System Reserved ou SYSTEM). Exécutez os-prober en tant que super-utilisateur pour détecter et générer une entrée pour cette partition

Enfin cela peut arriver si la partition EFI ne possède pas le firmware Windows (fichier bootmgfw.efi).

Recréer l’entrée Windows dans Grub manuellement

  • Ouvrez le terminal Ubuntu par la recherche d’application ou par le raccourci clavier CTRL+ALT+T. Plus de détails : Comment ouvrir terminal Ubuntu
  • Tout d’abord, listez les partitions de disque à l’aide de la commande blkid :
sudo blkid
/dev/sda2: UUID="154B-346A" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="74b72fae-f5be-4e13-a87c-46ddce1fcd0f"
Recréer l'entrée Windows dans Grub manuellement
  • Ensuite modifiez le fichier de configuration 40_custom de Grub qui contiendra les paramètres de démarrage de Windows :
cd /etc/grub.d
sudo gedit ./40_custom
Recréer l'entrée Windows dans Grub manuellement
  • Ajouter l’entrée en remplaçant <UUID partition EFI> par l’UID de la partition EFI obtenue précédemment :
menuentry 'Windows 11' {
search --fs-uuid --no-floppy --set=root <UUID partition EFI> chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
  • Enregistrez les modifications et quittez l’éditeur de texte
  • Puis mettez à jour la configuration Grub avec update-grub :
sudo chmod o-w 40_windows
sudo update-grub
Recréer l'entrée Windows dans Grub manuellement
  • Enfin redémarrez le PC pour tester si l’entrée Windows est bien ajouté au menu de Grub :
reboot
Avec cette solution, il peut être nécessaire de désactiver os-prober pour qu’il n’entre pas en conflit et ajoutez son entrée automatiquement.
Pour cela, commentez la ligne GRUB_DISABLE_OS_PROBER=false dans le fichier /etc/default/grub.

avec boot-repair

L’utilitaire boot-repair peut aussi vous aider à recréer l’entrée Windows dans Grub.
Pour l’utiliser, reportez-vous à ce guide :

Réparer le démarrage d'Ubuntu avec Boot-Repair

grub ne trouve pas bootmgfw.efi

Lorsque grub ne trouve pas bootmgfw.efi, vous obtenez un message : FAILED bootmgfw.efi non disponible ou rien ne se passe au moment de sélectionner l’entrée Windows depuis GRUB.
Cela se produit si le firmware EFI de Windows est manquant dans la partition EFI.

Réparer le démarrage de Windows avec bcdboot

Dans ce cas, vous devez utiliser la commande bcdboot comme indiqué dans ce guide : Comment réparer le démarrage de Windows 11 (UEFI).

Copier le fichier bootmgfw.efi manuellement

Une autre solution consiste à recopier le fichier depuis Windows.

  • Identifiez le chemin de la partition Windows, à l’aide de la commande mount ou depuis nautilus :
mount
Réparer le démarrage de Windows avec bcdboot
  • Enfin copiez le contenu des fichiers de démarrage depuis le dossier Windows vers la partition EFI en remplaçant par le chemin /media de votre installation.
sudo cp -rv /media/mak/02C83C6CC83C6059/Windows/Boot/EFI/* /boot/efi/EFI/Microsoft/Boot/

Si vous avez peur de faire des bêtises, demandez de l’aide sur le forum.

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.