Comment créer un média live USB sur UEFI uniquement?


108

Avoir un média en direct pouvant démarrer des deux manières peut être un problème lors de l'installation d'Ubuntu sur les ordinateurs Windows 8 actuellement disponibles.

Autrement dit , l'avantage clé pour créer UEFI uniquement les médias en direct USB bootable est: Vous savez que définitivement démarré et installé via UEFI.

Étant donné que Valve effectue déjà le démarrage d’installateurs USB sur UEFI uniquement avec leur système d’exploitation Steam basé sur Debian et UNetbootin - l’alternative la plus votée au démarrage Créateur de disque de Ubuntu - n’est pas compatible avec UEFI et est donc trompeur, je pense que nous devrions avoir un sujet séparé. création de média live USB amorçable uniquement UEFI.

Réponses:


133

Vue d'ensemble

Créer un support USB Live uniquement au démarrage d'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 des fichiers à partir de la méthode ISO
    1. Exemple via terminal
    2. Exemple via une interface graphique
    3. Exemple sous Windows
  • La méthode de bouclage ISO (avancée)
    1. Créer le binaire
    2. Création du fichier de configuration
    3. Ajout de persistance
    4. Vérification de l'intégrité
    5. UEFI Secure Boot

1. Copier des fichiers à partir de la méthode ISO

Cette méthode fonctionne également pour d'autres supports d'installation contenant des chargeurs EFI, tels que Windows par exemple.

1.1. Exemple via terminal

Vous pouvez effectuer les opérations suivantes si 604A-00EAvotre clé USB est déjà p7zipinstallée:

$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/

Vous avez terminé si vous ne possédez qu'une seule partition sur ce lecteur USB. Sinon, vous devez indiquer la partition comme étant amorçable, par exemple via parted:

# parted /dev/sdX set 1 boot on

Où se /dev/sdXtrouverait votre clé USB et 1le numéro de partition à utiliser pour démarrer.

1.2. Exemple via une interface graphique

  1. Montez le fichier .iso et copiez le contenu sur votre clé USB. Appuyez sur Ctrl+ Hdans Nautilus pour afficher et copier les fichiers cachés.

    Nautilus montrant Disk Image Mounter dans le menu contextuel lorsque le fichier .iso est sélectionné

  2. Ajoutez le drapeau de démarrage via GParted .

    GParted montrant comment gérer les drapeaux de partition

1.3. Exemple sous Windows

  1. Comme ci-dessus, copiez simplement les fichiers.
  2. Appuyez sur Windows/Super+ X, allez dans 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+ Rpour ouvrir le menu Exécuter et ouvrez diskmgmt.mscpour ouvrir Gestion des disques.

2. La méthode de bouclage ISO (avancée)

Au lieu d'extraire le contenu d'une image ISO, GRUB et GRUB2 ont été en mesure de démarrer à partir d'images ISO directement via un périphérique de bouclage. Étant donné que l'image ISO est amorçable au format UEFI, nous pouvons configurer un lecteur 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 également consulter SARDU . Je me souviens de l’utiliser avec Windows PE vers 2005 et il semble avoir été mis à jour pour prendre en charge les clés USB et UEFI, mais rappelez-vous que cet outil prend également en charge le démarrage hérité.

De quoi avons nous besoin?

  • Connaissance très basique des fichiers de configuration de GRUB.
  • Connaissance très élémentaire du démarrage UEFI et de GRUB, car nous allons générer notre propre image de chargeur de démarrage GRUB avec de nombreux modules inclus.
  • Une image ISO de démarrage UEFI, une clé USB au format FAT et une machine sous Linux.
    • Non, nous n’avons pas besoin d’une installation UEFI de Linux (ce qui peut être une situation difficile), une machine virtuelle Linux traditionnelle telle que VirtualBox convient parfaitement.

2.1. Créer le binaire

Sur votre machine Ubuntu ou votre machine virtuelle, assurez-vous que le paquet grub-efi-amd64-bin est installé (grub-efi-ia32-bin est également disponible pour les architectures Intel 32 bits dans les versions les plus récentes). Le paquet peut avoir un nom différent sur une autre distribution, vous pouvez comparer la liste des fichiers du paquet pour trouver le bon paquet sur votre distribution.

La commande suivante générera l'image GRUB, dans ce cas un fichier binaire EFI que tout ordinateur doté d'un microprogramme UEFI devrait 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\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 à cet emplacement. D'autres architectures au lieu de x64 sont possibles, mais restons simples avec x64 / amd64.

2.2. Création du fichier de configuration

Voici un exemple très simple de grub.cfgfichier de configuration qui devrait être placé dans le même répertoire bootx64.efi:

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 modifier la couleur et le délai selon vos préférences. J'ai choisi black/light-magentacar il semble toujours un peu Ubuntu-ish mais se distingue facilement lors du chargement en chaîne d'autres configurations. Vous pouvez trouver plus d'exemples d'autres distributions dans Arch Wiki . Lire le manuel de GRUB vaut vraiment la peine si vous voulez aller plus loin.

Pour revenir au bloc de configuration, il devrait être évident que l'ISO est référencé par /efi/boot/ubuntu-14.04.2-desktop-amd64.iso, copiez donc votre ISO \EFI\BOOT\et remplacez-le ubuntu-14.04.2-desktop-amd64.isodans la configuration par le nom de fichier réel de votre ISO.

loopback loop $isofileest la ligne qui chargera notre fichier ISO sur un périphérique de bouclage à partir duquel nous pouvons démarrer le noyau Linux directement. Cela est possible car notre image EFI GRUB inclut le module de bouclage. (Quelques essais et erreurs ont été nécessaires pour déterminer quels modules il est raisonnable d'inclure. Vous ne devriez voir aucun message d'erreur, ce n'est toujours pas parfait.) En parlant du noyau, vous pouvez ajouter des paramètres de noyau tels que toram, des paramètres pour différentes langues. (exemple locale=de_DE bootkbd=de) et comme dans l'exemple:persistent

2.3. Ajout de persistance

Vous pouvez ajouter une partition comme décrit dans: Comment obtenir un Live-USB pour utiliser une partition à des fins de persistance? Ou vous pouvez créer un casper-rwfichier 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 envisagez d'utiliser plus d'espace. Notez que chaque modification de la (racine) est une modification du système de fichiers de superposition, même la suppression de fichiers.

2.4. Vérification de l'intégrité

Vous devriez examiner les réponses aux questions suivantes pour vérifier que le contenu ISO en direct sur le lecteur USB est en parfait état:

2.5. UEFI Secure Boot

Le démarrage sécurisé deviendra obligatoire avec les machines Windows 10, je vous suggère donc de jeter un coup d'œil au pré-chargeur de la Linux Foundation pour ajouter la fonctionnalité de démarrage sécurisé à cette configuration. Voici quelques illustrations ASCII illustrant les menus de HashTool .


Félicitations, je dirais que vous maîtrisez maintenant le démarrage UEFI et que vous ne devriez plus avoir peur.


1
permettez-moi de souligner (a) que tous les ordinateurs expédiés au cours des cinq dernières années ont cette capacité; (b) que la racine du programme d'installation .iso peut alors utiliser la clé USB complète comme stockage persistant ordinaire. (utilisez les options de montage ro pour vous protéger des suppressions accidentelles.) Pour les PC modernes et les modèles d'utilisation courants, cela semble être une meilleure solution que la solution par défaut de live-usb-creator.
user1539216

3
Lors de l'utilisation de la méthode graphique, j'ai rencontré des erreurs de liens symboliques . Est-ce pertinent? Pouvez-vous s'il vous plaît élaborer?
VRR

1
Bonjour LiveWireBT! Merci pour cette réponse intéressante !! J'ai suivi 2. La méthode de bouclage ISO (avancée) et réussi à démarrer UEFI à partir d'un lecteur flash USB. Mais, à la fin du démarrage, j'ai reçu le message d'erreur suivant: Impossible de monter / dev / loop2 sur / cow et après avoir appuyé sur Entrée, j'ai vu une invite (initramfs). Pouvez-vous m'aider avec ça?
Zuba

Je tiens également à vous remercier pour votre excellent guide, il était clair et concis. Je n'ai même jamais pensé à partitionner la clé USB et à avoir plusieurs systèmes d'exploitation dessus. Merci encore!
Hatem Jaber

2
En 16.04 au moins, la copie de tous les fichiers ne parvient pas à démarrer en raison de l'argument de ligne du noyau grub.cfg, "fichier = / cdrom / preseed / ubuntu.seed". Il n’existe pas de fichier de ce type, probablement lié au lien symbolique manquant mentionné précédemment (ubuntu en.). Editez le fichier grub.cfg pour supprimer le fichier = ... et remplacez-le par "live-media-path = / casper / ignore_uuid"
ubfan1

3

Extrait du fichier ISO en FAT32

Extraire le contenu d'un fichier ISO de bureau Ubuntu 64 bits sur une partition avec un système de fichiers FAT32 et un indicateur d'amorçage fera le travail: créer un disque en direct, qui s'amorce uniquement en mode UEFI. Cela s'appelle 'Copier les fichiers de la méthode ISO' ici (dans la réponse acceptée).

Test si en mode UEFI ou BIOS

Mais il est facile de tester dans un système Ubuntu en cours d’exécution (en temps réel ou installé), s’il a été démarré en mode UEFI ou BIOS. Exécutez cette ligne de commande,

test -d /sys/firmware/efi && echo efi || echo bios

Cela facilite l’utilisation de systèmes en direct pouvant être utilisés dans les deux modes d’amorçage, ce qui peut également constituer un avantage.

Voir également les liens suivants pour une explication plus détaillée et une description de la méthode,

help.ubuntu.com/community/Installation/iso2usb

help.ubuntu.com/community/Installation/iso2usb/diy


2

L'utilisation a ddfonctionné pour moi, pour une raison quelconque, la version de l'interface graphique ne fonctionnait pas. Donc, d’abord, vous voudrez peut-être surveiller l’avancement de dd . Une autre option consiste à utiliser l’option SIGUSR1 pour déclencher ddle signalement périodique des progrès, mais c’est plus compliqué que pv.

Ensuite:

sudo dd if=path/to/image/file | pv | sudo dd of=/dev/device_you_want_to_use

( /dev/device_you_want_to_usesera typiquement /dev/sdb, mais vérifiez avec df!)


8
La création de média de cette manière ne produit pas de média de démarrage UEFI uniquement . L'accent est mis sur le dernier paragraphe de la question: "Il existe également un avantage à créer un support USB Live uniquement avec UEFI: vous savez qu'il a bien été démarré via UEFI." Le fait de disposer de supports pouvant démarrer des deux manières pose un problème lorsque vous essayez de comprendre et de configurer une installation Ubuntu démarrable par UEFI.
LiveWireBT

1
Je vois. La chose étrange est que de cette façon, j'ai pu produire une image qui a démarré en mode UEFI (je le sais, étant donné que l'ordinateur portable était configuré pour autoriser uniquement le démarrage uefi et également à cause de l'écran initial). La réponse préférée ne fonctionnait pas pour moi, l'ordinateur ne pourrait tout simplement pas démarrer avec une image créée simplement en copiant les fichiers.
Sup

5
@sup cette méthode crée un média qui peut être démarré par UEFI. Le problème est que ce n'est pas seulement UEFI-bootable, comme demandé dans la question: il peut également être démarré en mode BIOS.
Darael
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.