Comme vous demandez une illustration claire de la manière de procéder, la voici. Je suppose que vous avez démarré votre système d'exploitation Linux.
-
Partitionner la clé USB
Je recommande l'outil en ligne de commande gdisk
. Il produit des résultats très propres. Vous pouvez également utiliser gparted
.
-
Créer une nouvelle table de partiton. Utilisez GPT avec un MBR de protection.
-
Définissez ces partitions :
- (facultatif) Une partition de données
- Une partition Linux
- Une partition de démarrage du BIOS (1MB est suffisant)
- Une partition système EFI (au moins 32MB)
-
Exemple : Sur ma clé USB de 64 Go, le résultat ressemble à ceci :
Number Start (sector) End (sector) Size Code Name
1 2048 107632639 51.3 GiB 0700 DATA
2 107632640 124411903 8.0 GiB 8300 Linux filesystem
3 124411904 124413951 1024.0 KiB EF02 BIOS boot partition
4 124413952 124822453 199.5 MiB EF00 EFI System
-
Installez Linux sur la clé USB en utilisant n'importe quelle méthode.
Au cours du processus, formatez la partition Linux avec un système de fichiers de votre choix, de préférence ext4
. Utilisez cette partition comme racine /
.
Formatez la partition du système EFI avec FAT16.
La partition de démarrage du BIOS reste non formatée.
-
Installez Grub deux fois
Dans une dernière étape, installez Grub pour les deux méthodes de démarrage, le démarrage de style UEFI et le démarrage BIOS traditionnel.
grub-install --target=x86_64-efi --removable /dev/sdx
grub-install --target=i386-pc /dev/sdx
Où /dev/sdx
est votre clé USB, évidemment.
Ce --removable
est important. Il m'a fallu trois heures pour réaliser que j'en avais besoin sur une clé USB amovible...
Si vous installez Grub sur la clé USB depuis "l'extérieur" (sans avoir démarré Linux depuis la clé USB), vous devez d'abord monter la partition Linux. Vous pouvez la monter dans /mnt
. Ensuite, vous montez la partition Système EFI dans les partitions Linux /mnt/boot/efi
répertoire. Utilisez --root=/mnt
comme paramètre pour grub-install
. Alors seulement grub-install
trouve tous les répertoires nécessaires.
C'est fait.
Pour en savoir plus :
Nous n'avons pas vraiment défini les partitions dans le MBR. Vous pouvez donc vous demander pourquoi cela fonctionne sur les machines à BIOS hérité. Gardez à l'esprit que nous avons installé Grub dans le MBR. Pendant le processus de démarrage du BIOS hérité, le chargeur de démarrage stocké dans le MBR est exécuté. Cela charge l'étape 1 de Grub, qui procède ensuite au chargement de l'étape 2 à partir de la partition de démarrage du BIOS hérité. Mais à ce moment, Grub ne sait en fait rien des partitions MBR ou autres. Pour cette raison, l'information sur la position de la partition de démarrage du BIOS a été intégrée dans l'étape 1 de Grub. Par conséquent, si la partition de démarrage du BIOS est déplacée, vous devez réinstaller Grub. Après que Grub stage 2 soit chargé, Grub comprend GPT et peut continuer avec le démarrage du noyau Linux.