GRUB ne détecte pas Windows : comment y remédier
Si vous avez récemment configuré une configuration à double démarrage avec Windows et Linux, vous avez peut-être rencontré le même problème que moi : Windows n'apparaît pas comme option dans le menu GRUB. Je vais vous montrer comment je l'ai résolu (et la raison technique derrière cela).
Pour être plus précis, j'ai installé CachyOS sur un lecteur distinct de mon lecteur Windows 11. J'ai installé plusieurs distributions Linux sur ce lecteur à plusieurs reprises et le menu de démarrage fonctionne généralement. Mon option de démarrage de Windows 11 apparaîtrait sans aucun effort de ma part. Dans ce cas, cependant, quelques étapes supplémentaires ont été nécessaires pour que cela fonctionne.
Sommaire
Pourquoi Windows n'apparaît pas dans GRUB
Il s'avère que les installations GRUB de nos jours sont souvent accompagnées d'os-prober désactivé, et c'est la raison pour laquelle Windows n'apparaissait pas. Si vous n'êtes pas au courant, os-prober est un package qui permet à GRUB d'identifier automatiquement les autres systèmes d'exploitation installés sur votre PC. Lorsqu'il est désactivé, GRUB ne pourra pas identifier Windows sans intervention manuelle.
La raison en est une méfiance à l'égard du package os-prober. Les développeurs de distribution emballant GRUB ont choisi de désactiver os-prober par mesure de sécurité dès 2021, lorsque le développeur canonique Julian Andres Klode a expliqué les raisons pour lesquelles il désactivait os-prober dans Ubuntu. Ils ont déclaré : « os-prober n'est pas intrinsèquement sécurisé car il monte toutes les partitions de votre disque à l'aide de grub-mount pour les vérifier pour d'autres systèmes d'exploitation. » Même si des correctifs ont été créés depuis, beaucoup ne lui font tout simplement pas confiance.
Vous pouvez facilement réactiver os-prober si vous le souhaitez. Cependant, que vous deviez ou non le faire dépend de votre situation. Je n'ai pas pour mission de donner des conseils en matière de cybersécurité sans connaître au moins votre modèle de menace.
Pour ma part, je me sentais à l'aise de réactiver os-prober étant donné que mes recherches m'ont indiqué que la plupart des problèmes concernaient les solutions de contournement du démarrage sécurisé, et j'ai déjà désactivé le démarrage sécurisé sur mon PC. Encore une fois, c'est à vous de décider quel est l'itinéraire le plus sûr. À cette fin, je vais vous montrer deux options différentes, l'une d'elles évitant complètement os-prober.
Comment configurer les paramètres du chargeur de démarrage GRUB2
Choisissez un système d'exploitation par défaut et affichez même une image d'arrière-plan.
Option simple : activer os-prober
Si vous êtes sûr d'activer os-prober étant donné les implications en matière de sécurité, vous pouvez le faire en modifiant votre configuration GRUB par défaut. Généralement, vous pouvez trouver le fichier de configuration à l'adresse /etc/default/grubdonc pour le modifier, il faudra l'ouvrir avec l'éditeur de texte de votre choix et avec un accès administratif. Pour l'éditer avec nano, j'ai utilisé cette commande :
sudo nano /etc/default/grub
Faites défiler le fichier jusqu'à ce que vous trouviez une ligne indiquant #GRUB_DISABLE_OS_PROBER=false. Décommentez-le en supprimant le symbole #.
C'est tout ce que vous devez faire pour activer os-prober, en plus de sauvegarder le fichier. Dans nano, vous faites cela en appuyant sur Ctrl+o suivi de Entrée pour confirmer le nom du fichier, puis Ctrl+x pour quitter nano. N'oubliez pas de mettre à jour GRUB, comme je l'expliquerai plus tard.
Une autre option plus sûre mais un peu plus complexe consiste à ignorer l'activation de os-prober et à ajouter vous-même Windows au menu de démarrage de GRUB.
Pour ce faire, vous devez d'abord savoir où votre système Linux localise la partition EFI de votre installation Windows. Vous pouvez le découvrir en exécutant la commande suivante, qui répertorie tous les disques et leurs objectifs :
sudo dfisk -l
Je peux voir que sur mon lecteur Windows, il y a un périphérique intitulé « Système EFI » situé à l'adresse /dev/nvme0n1p1. Je vais copier cette adresse et la préparer pour la commande blkid suivante, qui révélera l'UUID du périphérique, dont nous avons besoin pour une entrée de démarrage personnalisée :
sudo blkid /dev/nvme0n1p1
Recherchez la valeur UUID entre guillemets et notez-la. Ensuite, nous allons éditer les GRUB 40_custom qui nous permet d'ajouter des entrées de démarrage personnalisées à GRUB. J'utilise nano pour ce faire, mais vous pouvez utiliser votre éditeur de texte préféré.
sudo nano /etc/grub.d/40_custom
Collez le bloc de code suivant, puis remplacez your-Windows-EFI-partition-UUID avec l'UUID que vous avez trouvé.
menuentry "Windows" --class windows --class os {
insmod ntfs
search --no-floppy --set=root --fs-uuid your-Windows-EFI-partition-UUID
ntldr /bootmgr
}
Notez également que vous pouvez modifier le texte à l'intérieur des guillemets après « entrée de menu » avec ce que vous souhaitez que votre entrée de démarrage Windows apparaisse.
Quoi qu'il en soit, n'oubliez pas de mettre à jour GRUB
Après avoir modifié votre fichier de configuration par défaut GRUB ou ajouté une entrée de démarrage personnalisée, n'oubliez pas de régénérer votre configuration GRUB. Ce processus est ce qui fait réellement prendre effet à vos modifications. Pour être honnête, j'ai moi-même oublié cela lorsque j'ai désactivé os-prober et j'ai été confus lorsque Windows n'apparaissait pas après le redémarrage.
Pour faciliter les choses, certaines distributions ont des alias préconfigurés pour mettre à jour GRUB, comme update-grub. Vous pouvez essayer de l'exécuter d'abord (en tant que sudo), mais si cela ne fonctionne pas pour vous, vous pouvez toujours le mettre à jour manuellement avec cette commande :
sudo grub-mkconfig -o /boot/grub/grub.cfg
Attendez la fin de la régénération, puis essayez de redémarrer. Vous devriez voir Windows, ainsi que tous les autres systèmes d'exploitation que vous avez installés, dans le menu de démarrage GRUB.
Pensez à remplacer GRUB pour éviter les problèmes
Si vous êtes préoccupé par les vulnérabilités d'os-prober et que vous ne souhaitez pas vous occuper de l'édition manuelle du menu GRUB, je vous recommande de rechercher des gestionnaires de démarrage alternatifs.
Par exemple, vous pouvez remplacer GRUB par systemd-boot, bien que sa prise en charge du BIOS existant (contrairement à l'UEFI) fasse défaut. Vous pouvez également envisager Clover Bootloader, conçu à l'origine pour les Hackintoshes et prenant en charge à la fois l'UEFI et le BIOS. Une autre option qui vous offrira une expérience similaire au gestionnaire de démarrage de macOS est rEFInd.
