Ajouter Windows au menu de démarrage : GRUB, systemd-boot, Limine, rEFInd
Après l'installation de Windows, deux problèmes reviennent souvent : Windows prend la première place au démarrage, et il n'apparaît pas dans le menu du chargeur de Linux. Voici comment chaque chargeur le gère, et ce que linwin fait automatiquement.
Remettre Linux en premier
Windows se place en tête de l'ordre UEFI. Pour remettre le chargeur de Linux en premier :
efibootmgr # repère le numéro de l'entrée Linux (ex. 0003)
sudo efibootmgr --bootorder 0003,0001
linwin le fait des deux côtés : Windows s'enlève lui-même de la tête de liste à sa première session
(bcdedit), et linwin remet l'entrée qui a démarré Linux en premier.
GRUB (Ubuntu, Debian, Mint, Fedora, openSUSE…)
Sans os-prober activé, GRUB ne détecte pas Windows. Entrée explicite, indépendante d'os-prober :
menuentry 'Windows' --class windows {
insmod part_gpt
insmod fat
insmod chain
search --no-floppy --fs-uuid --set=root UUID-DE-LA-PARTITION-EFI
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
linwin l'écrit dans /etc/grub.d/35_linwin_windows, réactive le menu s'il est caché
(GRUB_TIMEOUT_STYLE=hidden sur Ubuntu, menu_auto_hide sur Fedora) et régénère la
configuration (update-grub ou grub-mkconfig/grub2-mkconfig).
systemd-boot
systemd-boot affiche tout seul Windows s'il est sur la même partition EFI. Le menu reste caché si
timeout vaut 0 : linwin règle timeout 5 dans loader/loader.conf.
Limine
Limine n'ajoute pas Windows automatiquement. Avec limine-entry-tool (Arch, CachyOS, Omarchy) :
sudo limine-entry-tool --add-efi "Windows" /boot/EFI/Microsoft/Boot/bootmgfw.efi
Sinon, une entrée dans limine.conf avec protocol: efi et
path: boot():/EFI/Microsoft/Boot/bootmgfw.efi. linwin utilise l'outil s'il est présent, sinon écrit
l'entrée.
rEFInd
rEFInd détecte Windows tout seul : rien à faire.
Pour tout faire automatiquement, installation de Windows comprise : voir le guide du dual-boot sans clé USB.
linwin est libre (GPL-3.0) et fonctionne sur toutes les distributions courantes.