Lecteur USB multiboot

Cet article ou cette section est un candidat pour passer à des images disque Multiboot.

Notes: Voir discussion (Discutez dans Talk: Portée et titre du lecteur USB Multiboot)

Une clé USB multiboot permet de démarrer plusieurs fichiers ISO à partir d’un seul périphérique. Les fichiers ISO peuvent être copiés sur l’appareil et démarrés directement sans les décompresser au préalable. Il existe plusieurs méthodes disponibles, mais elles peuvent ne pas fonctionner pour toutes les images ISO.

Utilisation de périphériques GRUB et loopback

Cet article ou cette section nécessite des améliorations de langage, de syntaxe wiki ou de style. Voir Aide: Style pour référence.

Raison: plusieurs problèmes de style (Discutez en conversation: Clé USB Multiboot #)

Avantages:

  • une seule partition requise
  • tous les fichiers ISO se trouvent dans un répertoire
  • l’ajout et la suppression de fichiers ISO sont simples

Inconvénients:

  • toutes les images ISO ne sont pas compatibles
  • le menu de démarrage d’origine du fichier ISO n’est pas affiché
  • il peut être difficile de trouver une entrée de démarrage fonctionnelle

Préparation

Cet article ou cette section doit être élargi.

Raison: Combien d’espace supplémentaire est nécessaire pour le chargeur de démarrage? (Discutez dans Talk: Clé USB Multiboot #)

Créez au moins une partition et un système de fichiers pris en charge par GRUB sur la clé USB. Voir Partitionnement et systèmes de fichiers # Créer un système de fichiers. Choisissez la taille en fonction de la taille totale des fichiers ISO que vous souhaitez stocker sur le lecteur et prévoyez de l’espace supplémentaire pour le chargeur de démarrage.

Installation de GRUB

Installation simple

Montez le système de fichiers situé sur la clé USB:

# mount /dev/sdXY /mnt

Créez le répertoire /boot:

# mkdir /mnt/boot

Installez GRUB sur la clé USB:

# grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdX

Si vous souhaitez démarrer des ISO en mode UEFI, vous devez installer grub pour la cible UEFI:

# grub-install --target=x86_64-efi --removable --boot-directory=/mnt/boot --efi-directory=/mnt

Pour UEFI, la partition doit être la première dans une table de partitions MBR et formatée avec FAT32.

Démarrage UEFI GPT+BIOS GPT/MBR hybride

Cette configuration est utile pour créer une clé USB universelle, amorçable partout.Tout d’abord, vous devez créer une table de partition GPT sur votre appareil. Vous avez besoin d’au moins 3 partitions :

  1. Une partition de démarrage du BIOS (code de type gdisk EF02). Cette partition doit avoir une taille de 1 Mo
  2. Une partition système EFI (code de type gdisk EF00 avec un système de fichiers FAT32). Cette partition peut être aussi petite que 50 MiO.
  3. Votre partition de données (utilisez un système de fichiers pris en charge par GRUB). Cette partition peut occuper le reste de l’espace de votre disque.

L’exactitude factuelle de cet article ou de cette section est contestée.

Raison: Doit créer parce que quelque chose pourrait ne pas suffire? (Discutez dans Talk: Multiboot USB drive #)

Ensuite, vous devez créer une table de partition MBR hybride, car définir l’indicateur de démarrage sur la partition MBR de protection pourrait ne pas suffire.

Exemple de création de table de partition hybride MBR à l’aide de gdisk:

N’oubliez pas de formater les partitions:

# mkfs.fat -F32 /dev/sdX2# mkfs.ext4 /dev/sdX3

Vous pouvez maintenant installer GRUB pour prendre en charge à la fois EFI + GPT et BIOS + GPT/MBR. La configuration de GRUB (directoryboot-directory) peut être conservée au même endroit.

Tout d’abord, vous devez monter la partition système EFI et la partition de données de votre clé USB.

Un exemple de ceci serait le suivant:

# mount /dev/sdX3 /mnt# mkdir -p /mnt/boot/EFI# mount /dev/sdX2 /mnt/boot/EFI

Ensuite, vous pouvez installer GRUB pour UEFI avec:

Dans la plupart des cas, EFI_MOUNTPOINT correspondra au sous-répertoire /mnt/boot/EFI sur votre disque USB monté.

# grub-install --target=x86_64-efi --recheck --removable --efi-directory=/EFI_MOUNTPOINT --boot-directory=/DATA_MOUNTPOINT/boot

Et pour le BIOS avec:

# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX

Comme solution de secours supplémentaire, vous pouvez également installer GRUB sur votre partition de données amorçable par MBR:

# grub-install --target=i386-pc --recheck --boot-directory=/DATA_MOUNTPOINT/boot /dev/sdX3

Configuration de GRUB

À l’aide d’un modèle

Il existe des projets git qui fournissent des fichiers de configuration GRUB préexistants, et un bon générique grub.cfg qui peut être utilisé pour charger les autres entrées de démarrage à la demande, en ne les affichant que si les fichiers ISO spécifiés – ou les dossiers les contenant – sont présents sur le trajet.

Multiboot USB: https://github.com/aguslr/multibootusb

GLIM (GRUB2 Live ISO Multiboot): https://github.com/thias/glim

Configuration manuelle

Pour les besoins d’une clé USB multiboot, il est plus facile de modifier grub.cfg à la main au lieu de le générer. Vous pouvez également effectuer les modifications suivantes dans /etc/grub.d/40_custom ou /mnt/boot/grub/custom.cfg et générer /mnt/boot/grub/grub.cfg en utilisant grub-mkconfig.

Comme il est recommandé d’utiliser un nom persistant au lieu de /dev/sdxYpour identifier la partition sur la clé USB où se trouvent les fichiers image, définissez une variable pour plus de commodité pour conserver la valeur. Si les images ISO se trouvent sur la même partition que GRUB, utilisez ce qui suit pour lire l’UUID au démarrage :

/mnt/boot/grub/grub.cfg 
 # chemin d'accès à la partition contenant des images ISO (en utilisant UUID) probe-urootrootsetset=rootuuidset imgdevpath="/dev/disk/by-uuid/rorootuuid"

Ou spécifiez explicitement l’UUID:

/mnt/ boot / grub / grub.cfg 
 # chemin d'accès à la partition contenant des images ISO (en utilisant UUID) set imgdevpath="/dev/disk/by-uuid/UUID_value"

Vous pouvez également utiliser l’étiquette du périphérique au lieu de UUID:

/mnt/boot/grub/grub .cfg
 # chemin d'accès à la partition contenant des images ISO (en utilisant des étiquettes) set imgdevpath="/dev/disk/by-label/label_value"

L’UUID ou l’étiquette nécessaire peut être trouvé en utilisant lsblk -f. N’utilisez pas la même étiquette que l’Arch ISO pour le périphérique USB, sinon le processus de démarrage échouera.

Pour terminer la configuration, une entrée de démarrage pour chaque image ISO doit être ajoutée sous cet en-tête, voir la section suivante pour des exemples.

Entrées de démarrage

On suppose que les images ISO sont stockées dans le répertoire boot/iso/ sur le même système de fichiers où GRUB est installé. Sinon, il serait nécessaire de préfixer le chemin d’accès au fichier ISO avec l’identification du périphérique lors de l’utilisation de la commande loopback, par exemple loopback loop (hd1,2)$isofile. Comme cette identification des appareils n’est pas persistante, elle n’est pas utilisée dans les exemples de cette section.

On peut utiliser le nom de périphérique de bloc persistant comme ceci. Remplacez l’UUID en fonction de l’UUID de votre système de fichiers ISO.

Astuce : Pour une liste des paramètres du noyau, consultez la documentation des paramètres de ligne de commande du noyau. Pour plus d’exemples d’entrées de démarrage, consultez la documentation en amont de GRUB ou la documentation de la distribution que vous souhaitez démarrer.

Version mensuelle d’Arch Linux

Voir aussi archiso.

Voir README.bootparams pour les options archiso prises en charge en ligne de commande du noyau.

Memtest86+

Memtest86+ est inclus dans l’ISO mensuelle.

archboot

Voir aussi archboot.

En utilisant Syslinux et memdisk

En utilisant le module memdisk, l’image ISO est chargée en mémoire et son chargeur de démarrage est chargé. Assurez-vous que le système qui va démarrer cette clé USB dispose d’une quantité suffisante de mémoire pour le fichier image et le système d’exploitation en cours d’exécution.

Préparation

Assurez-vous que la clé USB est correctement partitionnée et qu’il existe une partition avec un système de fichiers pris en charge par Syslinux, par exemple fat32 ou ext4. Ensuite, installez Syslinux sur cette partition, voir Syslinux #Installation sur le BIOS.

Installer le module memdisk

Le module memdisk n’a pas été installé lors de l’installation de Syslinux, il doit être installé manuellement. Montez la partition sur laquelle Syslinux est installé dans /mnt/ et copiez le module memdisk dans le même répertoire où Syslinux est installé :

# cp /usr/lib/syslinux/bios/memdisk /mnt/boot/syslinux/

Configuration

Après avoir copié les fichiers ISO sur la clé USB, modifiez le fichier de configuration Syslinux et créez des entrées de menu pour les images ISO. L’entrée de base ressemble à ceci :

boot/syslinux/syslinux.cfg
 ÉTIQUETTE some_label LINUX memdisk INITRD/chemin/vers/image.iso AJOUTER iso

Voir memdisk sur le wiki Syslinux pour plus d’options de configuration.

Mise en garde pour les systèmes 32 bits

Lors du démarrage d’un système 32 bits à partir d’une image supérieure à 128 Mo, il est nécessaire d’augmenter l’utilisation maximale de la mémoire de vmalloc. Ceci est fait en ajoutant vmalloc=valueM aux paramètres du noyau, où value est plus grand que la taille de l’image ISO en MiB.

Par exemple, lors du démarrage du système 32 bits à partir de l’ISO d’installation Arch, appuyez sur la touche Tab au-dessus de l’entrée Boot Arch Linux (i686) et ajoutez vmalloc=768M à la fin. Sauter cette étape entraînera l’erreur suivante lors du démarrage :

modprobe: ERROR: could not insert 'phram': Input/output error

Outils automatisés

  • GRUB2 Live ISO Multiboot (GLIM) — Un ensemble de fichiers de configuration GRUB pour transformer une clé USB au format VFAT avec des images ISO de distribution GNU/ Linux en une clé USB multiboot.

https://github.com/thias/glim |/ non empaqueté ? recherche dans AUR

  • liveusb-builder – Une suite de scripts pour créer une clé USB multiboot pour les distributions GNU / Linux

https://github.com/mytbk/liveusb-builder||liveusb-builder-gitAUR

  • MultiBootUSB – Un logiciel Python multiplateforme avec des interfaces CLI et GUI qui vous permet d’installer et de supprimer plusieurs images Linux en direct sur une clé USB.

https://github.com/mbusb/multibootusb|/multibootusbAUR

  • MultiSystem — Un outil graphique qui permet d’installer, de gérer et de supprimer plusieurs images ISO sur un périphérique USB.

http://liveusb.info/dotclear/|/multisystemAUR

  • Ventoy – Un outil open source pour créer un lecteur USB amorçable pour les fichiers ISO / WIM / IMG / VHD(x) /EFI. Vous n’avez pas besoin de formater le disque encore et encore, il vous suffit de copier les fichiers sur la clé USB et de les démarrer directement.

https://www.ventoy.net|//ventoy-binAUR

Voir aussi

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *