Multiboot Windows / Linux en UEFI
J'ai tenté de configurer un dual boot entre Linux et Windows afin de tester comment se passe le démarrage en pratique lorsque Windows est installé après Linux, et de vérifier qu'UEFI rend la tâche plus simple dans ce scénario. Je vais donc installer successivement Debian 9 et Windows 10 en mode UEFI.
Les bases
UEFI est le remplaçant du BIOS. Sous le BIOS, le disque est partitionné au format MBR (auquel on doit la limite des 4 partitions primaires) et le premier secteur du disque dur contient le code de démarrage. C'est parce que chaque OS installé écrit son propre code sur ce secteur qu'ils se marchent sur les pieds.
Sous l'UEFI, le schéma de partitionnement est GPT. Il permet plus de 4 partitions, et l'une d'entre elles est formatée en FAT où chaque système peut placer son code de démarrage dans un fichier; l'UEFI permet de choisir lequel lancer dans on menu de démarrage.
Je vais procéder à l'expérience sur un système à base d'une carte-mère ASUS Prime B350M-A. Les raccourcis utiles sont:
- F2 ou Delete pour entrer dans la configuration du système
- F8 pour afficher le menu de démarrage
Les raccourcis varient évidemment de système en système. Pour éviter les mauvaises surprises, j'ai désactivé l'émulation du BIOS dans le setup de l'UEFI.
Installation de Debian
L'installation n'a rien de particulier, si ce n'est qu'il faut partitionner manuellement pour garder de l'espace libre pour Windows, et créer une partition système EFI d'environ 500 MB.
Installation de Windows
Rien à signaler; il y a quelques redémarrages qui auraient pu théoriquement redémarrrer le système sous Debian, mais ça n'a pas été le cas.
Configuration du démarrage
Le système démarre Windows par défaut; je peux démarrer Debian via le menu de démarrage (F8) or changer le système par défaut dans le setup de l'UEFI (F2) - tout celà varie selon le matériel. Pour retrouver le comportement auquel on est habitué (démarrage dans GRUB et sélection du système, il faut:
- Configurer Debian comme système par défaut dans le setup de l'UEFI
- Exécuter update-grub dans Debian, qui va détecter Windows et l'ajouter à son menu.
En somme, la pratique est donc conforme à la théorie. La partition système EFI est montée dans /boot/efi. Ma carte-mère me permettant de mettre à jour l'UEFI depuis lui-même, je peux appliquer les mises à jours en les téléchargeant depuis Linux, en plaçant le nouvel UEFI dans /boot/efi, puis en y accédant depuis le setup.