Aperçu
La création de média live USB en démarrage uniquement par UEFI est assez simple. Copiez simplement les fichiers sur votre clé USB au format FAT32 . C'est ça!
Rappelez-vous que pour une installation ou un démarrage du support:
Table des matières
- Copier les fichiers de la méthode ISO
- Exemple via terminal
- Exemple via l'interface graphique
- Exemple sous Windows
- La méthode de bouclage ISO (avancé)
- Créer le binaire
- Création du fichier de configuration
- Ajout de la persistance
- Vérification de l’intégrité
- UEFI Secure Boot
1. Copier les fichiers de la méthode ISO
Cette méthode fonctionne également pour d’autres supports d’installation contenant des chargeurs EFI, comme Windows par exemple.
1.1. Exemple via le terminal
Vous pouvez faire quelque chose comme ce qui suit si 604A-00EA
est votre clé USB et que p7zip
est déjà installé:
$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/
Vous avez terminé si vous n’avez qu’une seule partition sur ce lecteur USB, sinon vous devez marquer la partition comme amorçable, par ex. via parted
:
# parted /dev/sdX set 1 boot on
Où /dev/sdX
serait votre clé USB et 1
le numéro de partition à utiliser pour démarrer.
1.2. Exemple via une interface graphique
-
Montez le fichier .iso et copiez le contenu sur votre clé USB. Appuyez sur Ctrl + H dans Nautilus pour afficher et copier également les fichiers cachés.
-
Ajoutez l'indicateur de démarrage via GParted .
1.3. Exemple sous Windows
- Comme ci-dessus, copiez simplement les fichiers.
- Appuyez sur Windows / Super + X , accédez à Gestion des disques et vérifiez si la partition est marquée comme active. Sur les versions de Windows antérieures à Windows 8, vous appuyez sur Windows / Super + R pour ouvrir le menu Exécuter et ouvrir
diskmgmt.msc
, ce qui ouvrirait Gestion des disques.
2. La méthode de bouclage ISO (avancé)
Au lieu d’extraire le contenu d’une image ISO, GRUB et GRUB2 ont pu démarrer à partir d’images ISO directement via un périphérique de bouclage. Étant donné que l'image ISO est bootable par UEFI, nous pouvons configurer une clé USB contenant plusieurs ISO avec différents systèmes d'exploitation sans créer de désordre sur le lecteur USB.
Si vous souhaitez également démarrer Windows, vous pouvez consulter SARDU . Je me souviens de l'avoir utilisé avec Windows PE vers 2005 et il semble avoir été mis à jour pour prendre en charge les lecteurs USB et UEFI, mais rappelez-vous que cet outil prend également en charge le démarrage hérité.
De quoi avons-nous besoin?
- Connaissance élémentaire des fichiers de configuration GRUB.
- Connaissance élémentaire du démarrage UEFI et de GRUB, car nous allons générer notre propre image du chargeur de démarrage GRUB avec de nombreux modules inclus.
- Une image ISO bootable UEFI, une clé USB formatée FAT et une machine exécutant Linux.
- Non, nous n’avons pas besoin d’une installation UEFI de Linux (ce qui peut être une situation difficile), une VM Linux traditionnelle comme dans VirtualBox est bien.
2.1. Créer le binaire
Sur votre machine ou machine virtuelle Ubuntu, assurez-vous que le package grub-efi-amd64-bin est installé (grub-efi-ia32-bin est également disponible pour les architectures Intel 32 bits sur les nouvelles versions). Le package peut avoir un nom différent sur une autre distribution, vous pouvez comparer le liste de fichiers du package pour trouver le bon package sur votre distribution.
La commande suivante va générer l’image GRUB, en l’occurrence un binaire EFI que chaque ordinateur avec un micrologiciel UEFI doit pouvoir exécuter:
grub-mkimage -o bootx64.efi -p /efi/boot -O x86_64-efi \
fat iso9660 part_gpt part_msdos \
normal boot linux configfile loopback chain \
efifwsetup efi_gop efi_uga \
ls search search_label search_fs_uuid search_fs_file \
gfxterm gfxterm_background gfxterm_menu test all_video loadenv \
exfat ext2 ntfs btrfs hfsplus udf
Chaque micrologiciel UEFI standard doit rechercher \EFI\BOOT\
pour un fichier nommé boot{arch}.efi
. Créez donc les dossiers sur le lecteur USB et copiez l'image que nous venons de créer dans cet emplacement. D'autres architectures au lieu de x64 sont possibles, mais gardons les choses simples avec x64 / amd64.
2.2. Création du fichier de configuration
Un exemple très simple pour un fichier de configuration grub.cfg
devant être placé dans le même répertoire que bootx64.efi
ressemblerait à ceci:
set timeout=3
set color_highlight=black/light-magenta
menuentry 'Boot Ubuntu 14.04.2 LTS from ISO' {
set isofile="/efi/boot/ubuntu-14.04.2-desktop-amd64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --
initrd (loop)/casper/initrd.lz
}
submenu 'Useful snippets' {
menuentry 'Ubuntu' {
chainloader /efi/ubuntu/grubx64.efi
}
menuentry 'Windows' {
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Firmware Setup' {
fwsetup
}
}
L'important est le bloc de configuration avec le titre Boot Ubuntu 14.04.2 LTS from ISO
.Vous pouvez changer la couleur et le délai d'attente selon vos préférences. J'ai choisi black/light-magenta
car il a toujours l'air un peu Ubuntu-ish mais se distingue facilement lors du chargement en chaîne d'autres configurations. Vous pouvez trouver plus d'exemples pour d'autres distributions dans le Wiki Arch et lire le GRUB vaut vraiment la peine si vous voulez aller au-delà.
Pour revenir au bloc de configuration, il est évident que l’ISO est référencée sous la forme /efi/boot/ubuntu-14.04.2-desktop-amd64.iso
. Copiez donc votre image ISO dans \EFI\BOOT\
et remplacez ubuntu-14.04.2-desktop-amd64.iso
dans la configuration par le nom de fichier de votre ISO.
loopback loop $isofile
est la ligne qui va charger notre fichier ISO dans un périphérique de bouclage à partir duquel nous pouvons démarrer directement le noyau Linux. Ceci est possible car notre image EFI GRUB inclut le module loopback. (Un peu d'essais et d'erreurs a été impliqué pour déterminer quels modules sont raisonnables à inclure. Vous ne devriez pas voir de messages d'erreur, ce n'est toujours pas parfait.) En parlant du noyau, vous pouvez ajouter des paramètres de noyau comme toram
, paramètres pour différentes langues (exemple locale=de_DE bootkbd=de
) et comme dans l'exemple: persistent
2.3. Ajout de la persistance
Vous pouvez ajouter une partition comme décrit dans: Comment puis-je utiliser un périphérique USB en direct pour utiliser une partition pour la persistance? Ou vous pouvez créer un fichier casper-rw
et le placer à la racine de votre clé USB.
dd if=/dev/zero of=casper-rw bs=1M count=4094
mkfs.ext4 -m 0 casper-rw
Je n'ai pas testé le maximum absolu, il devrait se situer entre 4094 et 4096 Mo. Utilisez une partition si vous souhaitez utiliser plus d'espace. Notez que chaque modification de la racine est une modification du système de fichiers de superposition, même en supprimant des fichiers.
2.4. Vérification de l'intégrité
Vous devriez regarder les réponses aux questions suivantes pour vérifier que le contenu Live ISO sur le lecteur USB est en parfait état:
2.5. UEFI Secure Boot
Secure Boot deviendra obligatoire avec les machines Windows 10, je vous suggère de jeter un oeil au PreLoader de Linux Foundation pour ajouter la fonctionnalité Secure Boot à cette configuration. Voici quelques illustrations ASCII illustrant les menus du HashTool associé .
Félicitations, je dirais que vous maîtrisez maintenant le démarrage de l’UEFI et que vous ne devriez plus avoir peur.