En mode BIOS, tu peux essayer de spécifier tous les disques /dev/sdX en même temps. Si l’installateur ne l’accepte pas, il sera possible de le faire après l’installation avec
dpkg-reconfigure grub-pc
De cette façon, le chargeur sera automatiquement réinstallé sur chaque disque en cas de mise à jour du paquet grub-pc. Autrement, on peut installer GRUB manuellement sur chaque disque avec
grub-install /dev/sdX
mais ces instances ne seront pas mises à jour en cas de mise à jour de grub-pc, il faudra le refaire manuellement.
En mode EFI, c’est plus pénible. On ne peut pas spécifier l’emplacement car il est implicite : la partition EFI montée sur /boot/efi. Et on ne peut monter qu’une partition à la fois sur /boot/EFI.
On peut monter les autres partitions EFI sur des répertoire /boot/efiN par exemple et y installer GRUB avec
grub-install --efi-directory=/boot/efiN
Mais il y a encore un problème : cela remplace à chaque fois l’entrée d’amorçage EFI “debian” enregistrée dans la mémoire non volatile de la carte mère. Or sans l’entrée d’amorçage EFI correspondante, l’instance de GRUB ne sert à rien. Pour contourner cela, on peut forcer un identifiant d’amorçage autre que “debian” avec l’option --bootloader-id=xxx
. Mais à nouveau ça peut créer un problème : cette option influe aussi sur l’emplacement de GRUB dans la partition EFI : EFI/xxx/ au lieu de /EFI/debian/. Or si on installe la version signée de GRUB qui supporte le secure boot (il me semble que c’est par défaut), avant la sortie de Debian 10 celle-ci ne fonctionnait pas dans certains cas si on l’installait dans un emplacement autre que /EFI/debian/. Je n’ai pas vérifié si ce bug avait été corrigé.
Une autre solution consiste à installer GRUB sur chaque partition EFI avec l’option --removable, qui installe GRUB dans un emplacement spécial /EFI/BOOT qui ne nécessite pas d’entrée d’amorçage. Mais là encore ce n’est pas parfait : la version de GRUB signée que j’avais testée ne fonctionnait pas normalement dans cet emplacement (comme si elle se croyait sur une image ISO), et je suis tombé sur un firmware UEFI bien buggé qui ignore cet emplacement si une entrée d’amorçage EFI existe (même si elle ne fonctionne pas). Quand je dis que l’UEFI c’est vraiment de la merde… Donc la solution c’est de virer toutes les entrées EFI debian avec efibootmgr et d’installer GRUB sans secure-boot avec l’option --no-uefi-secure-boot.
Dans tous les cas, quand un disque est remplacé, il faudra réinstaller GRUB sur le nouveau disque puisqu’il est en dehors du RAID.