Question Comment créer des médias live USB bootables uniquement UEFI?


Avoir des médias en direct pouvant démarrer dans les deux sens peut poser problème lors de l'installation d'Ubuntu sur les ordinateurs Windows 8 actuellement disponibles.

En d'autres termes, l'avantage clé de créer UEFI uniquement Le support live USB amorçable est le suivant: vous savez qu’il a définitivement démarré et installé via UEFI.

 Depuis que Valve a déjà effectué des programmes d’installation USB au démarrage UEFI avec leur Basé sur Debian Steam OS et UNetbootin - l'alternative la plus populaire au Startup Disk Creator d'Ubuntu - ne sont pas compatibles avec UEFI et donc trompeurs.


90
2017-12-26 10:03


origine




Réponses:


Vue d'ensemble

La création de médias live USB de démarrage uniquement UEFI est assez simple. Il suffit de copier les fichiers sur votre Formaté FAT32 Clé USB. C'est tout!

Rappelez-vous que pour une installation ou un démarrage du support:

Table des matières

  • Copier des fichiers de la méthode ISO
    1. Exemple via terminal
    2. Exemple via l'interface graphique
    3. Exemple sous Windows
  • La méthode de bouclage ISO (avancé)
    1. Créer le binaire
    2. Création du fichier de configuration
    3. Ajout de la persistance
    4. Vérification de l'intégrité
    5. UEFI Secure Boot

1. Copiez 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 terminal

Vous pouvez faire quelque chose comme ce qui suit si 604A-00EA est votre clé USB et vous avez déjà p7zip installée:

$ 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

/dev/sdX serait votre clé USB et 1 le numéro de partition à utiliser pour démarrer.

1.2. Exemple via l'interface graphique

  1. Montez le fichier .iso et copiez le contenu sur votre clé USB. presse Ctrl+H dans Nautilus pour afficher et copier des fichiers cachés.

    nautilus showing Disk Image Mounter in context menu when .iso-file is selected

  2. Ajouter l'indicateur de démarrage via GParted.

    GParted showing how to manage partition flags

1.3. Exemple sous Windows

  1. Comme ci-dessus, copiez simplement les fichiers.
  2. presse 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+R ouvrir le menu d'exécution et ouvrir diskmgmt.msc, cela ouvrirait la 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 un UEFI bootable, 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 voulez démarrer Windows, vous pouvez aussi regarder 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 très basique des fichiers de configuration GRUB.
  • Des connaissances très basiques sur le démarrage UEFI et 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 (qui peut être une situation de poule et d'oeufs), une machine virtuelle Linux traditionnelle comme dans VirtualBox est bien.

2.1. Créer le binaire

Sur votre machine Ubuntu ou VM, assurez-vous que le paquet grub-efi-amd64-bin est installé (grub-efi-ia32-bin est également disponible pour les architectures Intel 32 bits sur les nouvelles versions). Le paquet peut avoir un nom différent sur une autre distribution, vous pouvez comparer le liste des fichiers du paquet 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 microprogramme 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 la norme Le micrologiciel UEFI devrait examiner \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 à 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

Un exemple très basique pour un grub.cfg fichier de configuration qui doit ê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 comme 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 Arch Wiki et en lisant le Manuel GRUB Cela vaut vraiment la peine si vous voulez aller au-delà.

Pour revenir au bloc de configuration, il devrait être évident que l'ISO est référencé comme /efi/boot/ubuntu-14.04.2-desktop-amd64.iso, copiez votre ISO pour \EFI\BOOT\ et remplacer ubuntu-14.04.2-desktop-amd64.iso dans la configuration avec le nom de fichier réel 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’essai et d’erreur a été impliqué pour déterminer quels modules sont raisonnables à inclure. Vous ne devriez pas voir de message d’erreur, c’est quand même pas parfait.) En parlant du noyau, vous pouvez ajouter des paramètres du 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 obtenir un live-USB pour utiliser une partition pour la persistance? Ou vous pouvez créer un casper-rw fichier et placez-le à 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, supprimant même les 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 à PreLoader de Linux Foundation pour ajouter la fonctionnalité Secure Boot à cette configuration. En voici quelques Art ASCII illustrant les menus du HashTool associé.


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


111
2017-12-26 10:03



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 comme stockage persistant ordinaire. (Utilisez les options de montage ro pour vous protéger contre les 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
Lors de l'utilisation de la méthode GUI, j'ai rencontré certains liens symboliques les erreurs. Est-ce pertinent? Pouvez-vous s'il vous plaît élaborer? - VRR
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: 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 un bon 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
Dans 16.04 au moins, le "copier tous les fichiers" ne démarre pas à cause de l'argument de ligne du noyau grub.cfg "file = / cdrom / preseed / ubuntu.seed". Il n’existe aucun fichier de ce type, probablement lié au lien symbolique manquant mentionné précédemment (ubuntu to.). Editez le fichier grub.cfg pour supprimer le fichier = ... et remplacez-le par "live-media-path = / casper / ignore_uuid" - ubfan1


En utilisant dd travaillé pour moi, pour une raison quelconque, la version GUI ne fonctionnait pas. Donc, d'abord, vous voudrez peut-être surveiller les progrès de dd, une autre option utilise l'option SIGUSR1 pour déclencher dd pour signaler ses progrès périodiquement, mais cela est plus compliqué que pv.

Alors:

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

(/dev/device_you_want_to_use sera généralement /dev/sdb, mais vérifiez avec df!)


1
2017-07-27 12:43



La création de média de cette manière n’entraîne pas UEFI-seulement support amorçable. L'accent est mis sur le dernier paragraphe de la question: "Il y a aussi un avantage à créer un support USB en direct à démarrage UEFI: vous savez qu'il a définitivement démarré via UEFI." Avoir un média capable de démarrer dans les deux sens pose un problème lorsque vous essayez de comprendre et de configurer une installation Ubuntu pouvant être démarrée par UEFI. - LiveWireBT
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, puisque l’ordinateur portable a été configuré pour autoriser uniquement le démarrage de l’efi et aussi à cause de l’écran initial). La réponse préférée ne fonctionnait pas pour moi, l'ordinateur ne se contenterait pas de démarrer avec une image créée en copiant simplement les fichiers. - sup
@sup cette méthode crée des médias pouvez être UEFI-booted. 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


Extrait du fichier ISO vers FAT32

Extraire le contenu d'un fichier ISO de bureau 64 bits d'Ubuntu sur une partition avec un système de fichiers FAT32 et un indicateur de démarrage fera l'affaire: pour créer un disque dur, qui ne démarre qu'en mode UEFI. Il est appelé ici "Copier les fichiers de la méthode ISO" (dans la réponse acceptée).

Test si l'exécution en mode UEFI ou BIOS

Mais il est facile de tester dans un système Ubuntu en cours d’exécution (live et 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 simplifie l'utilisation de systèmes en direct pouvant être utilisés dans les deux modes de démarrage, ce qui peut également constituer un avantage.

Voir aussi 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


1
2017-09-19 20:21