logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


 N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !

(non testé - mytux 09/08/13) Le retour sur le forum est ici : [WIKI] Tuto, Refind boot iso from UEFI ou EFI

UEFI & EFI ( EN chantier )

Toutes les versions 64bits des PC qui exécutent Windows certifié par le programme de certification Windows utilisent l’UEFI à la place du BIOS.

EFI & UEFI

Unified Extensible Firmware Interface (UEFI, interface micrologiciel extensible unifiée) définit un logiciel intermédiaire entre le logiciel micrologiciel (firmware) et le système d'exploitation d'un ordinateur.Il fait suite à EFI (Extensible Firmware Interface), conçue par Intel,il a eté écrit en C, contrairement au Bios qui lui est écrit en assembleur, il existe un Shell EFI proche du MSDOS, qui permet d’exécuter des commandes, des scripts et des applications écrites en C/C++. L'UEFI permet aussi la construction d'applications de configuration plus élaborées, avec un affichage graphique, prise en charge de la souris et plus d'options d'amorçage qu'avec le BIOS.

A l'aube de l'ère du PC en 1981, IBM a livré son Personal Computer 5150 avec firmware connu sous le nom du système d'entrée / sortie de base (BIOS).Le BIOS était destiné à être une interface entre plusieurs périphériques et le système d'exploitation de disque (DOS).

Au fil des ans, le BIOS a été de moins en moins utilisé, car il a été écrit en utilisant un code sur 16 bits et les systèmes d'exploitation ont évolué sur 32 bits et, maintenant, 64-bit.

Aujourd'hui, donc, le rôle principal du BIOS est de commencer le processus de démarrage. Une fois que le système est démarré, le BIOS n’a plus d’intérêt. Pourtant, le démarrage de l'ordinateur est une tâche importante, et la vieille conception du BIOS créé est limitée.

EFI et UEFI

J'utilise le terme EFI pour se référer soit EFI 1. X ou l'UEFI plus récent.

L'Extensible Firmware Interface (EFI) et sa variante plus récente, l'EFI UEFI (Unified), sont des conceptions de firmware qui sont destinés à remplacer les BIOS.Les implémentations EFI sont plus grandes que les implémentations du BIOS, un EFI peut lire les tables de partitions et systèmes de fichiers, ce qu’ un BIOS ne pourra pas faire.Cela permet à plusieurs chargeurs de démarrage de coexister sur le disque dur, et d'être accessible tout en utilisant des mécanismes d'accès aux fichiers normaux.Une autre caractéristique de l'EFI est le Secure Boot. Cette fonctionnalité est destinée à améliorer la sécurité, en veillant à ce que seuls les chargeurs de démarrage signés avec une clé de chiffrement pourront fonctionner. Si vous ou une personne de confiance détient la clé, il sera peu probable qu’ un logiciels malveillant puissent s’ installer, ce qui peut théoriquement bloquer une avenue d'attaques de malwares.

Depuis la version 2.3.1, l'UEFI intègre une fonctionnalité n'autorisant le démarrage qu'aux systèmes d'exploitation reconnus. En mode secure boot, l'UEFI utilise un mécanisme de vérification par signature numérique. Le micrologiciel interdit tout chargement de driver ou de noyau dont la signature ne correspondrait pas à celle gravée en ROM.

Ainsi, si l'utilisateur ne désactive pas le secure boot dans l'UEFI , celui-ci peut empêcher l'utilisation de certains systèmes d'exploitation libres ou alternatifs.

Structures de disques EFI

Lorsque vous configurez un ordinateur pour démarrer en mode UEFI, il est généralement préférable de créer un disque GPT. EFI repose sur une partition spéciale, connue sous le nom de la partition système EFI (ESP), pour stocker des données EFI spécifiques. L'ESP devrait officiellement utiliser un système de fichiers FAT32, bien que de nombreuses distributions Linux utilise un système de fichiers FAT16.Certains utilisateurs ont constaté que certains EFI ont des bugs qui causent des problèmes avec les ESP infèrieure à 512MiB (537MB). Un problème très commun est que certain fichiers ne peuvent être lus par l'EFI, donc je vous recommande la création d’ une ESP d’ au moins 550MiB.

Chaque chargeur de démarrage EFI est stocké dans un sous-répertoire du répertoire EFI sur l'ESP. Ces répertoires sont généralement nommés d'après le système d'exploitation qui les a créés. Par exemple, Ubuntu met ses fichiers EFI dans EFI / ubuntu, et Red Hat met ses dans EFI / redhat. Une fois que Linux est installé, l'ESP est monté dans / boot / efi, de sorte que l’arborescence soit : / boot / efi / EFI / ubuntu et / boot / efi / EFI / redhat.

Si vous avez besoin d'installer un chargeur de démarrage indépendamment de de votre système d'exploitation, vous pouvez créer votre propre répertoire. Exemple : EFI / refind pour Refind.

*Les spécifications de l'UEFI définissent un boot manager dont le rôle est de charger l'OS loader et les drivers nécessaires au démarrage.

  • Les systèmes de fichiers pris en charge incluent FAT32, FAT16 et FAT12. Les tables de partition prises en charges comprennent les formats MBR et GPT.
  • Outre le partitionnement classique par MBR (limité à 2,2 To), UEFI gère pour les disques, un nouveau système de partitionnement nommé GPT (globally unique identifier partition table).
  • Le GPT permet 128 partitions principales sur un support de capacité allant jusqu'à 9,4 Zo (milliard de téraoctets). UEFI permet ainsi le démarrage sur des disques de 2,2 To et plus.
  • Pour tout périphérique amovible partitionné détecté (clé USB, disque dur externe, etc.), l'UEFI recherche un répertoire EFI sur toutes les partitions et liste un point d'amorçage UEFI pour chaque fichier dont le nom ressemble à bootx64.efi dans le répertoire EFI.
  • Deux formats de tables des partitions sont pris en charge: l'ancien MBR et le nouveau GPT.
  • Par contre, il y a de bonnes chances pour que les interfaces de l'UEFI permettent d'amorcer tout ça si bien qu'un gestionnaire d'amorçage indépendant comme rEFInd pourrait outrepasser les limitations imposées par la carte mère, quitte à charger des modules UEFI additionnels.
  • Pour qu'un amorçage UEFI ait lieu depuis un disque fixe, ce dernier doit comporter une partition spéciale appelée EFI System Partition (ESP) avec un identifiant spécial.
  • Cette dernière, habituellement en FAT32, des fois en FAT16, contient un répertoire EFI dans lequel on trouve un sous-répertoire pour chaque système installé. Habituellement, la combinaison GPT et FAT32 a de bonnes chances de fonctionner.

UEFI Shell :

Préparons une clef USB, pour accueillir le shell UEFI.

Comme expliqué précédemment nous aurons besoin d'une table de partition GPT ainsi qu'une partition de type FAT32 ou FAT16. Gdisk, parted ou gparted seront vos amis pour cela. Une taille de 100 Mo suffira largement, ce sera même un peu grand, mais mieux vos voir large au cas ou par la suite vous voudriez installer des tools kits, UEFI.

$ gdisk /dev/sdx        (sdx étant votre clé usb )
$ h  			(Affiche l'aide )
$ o 			(Créer une nouvelle table de partition GPT )
$ n			( Créer une nouvelle partition )
$ 1  			( Numero de la partition par défault )
$ 2048			( Premier secteur par défaut )
$ +100M		        ( Dernier secteur 100Mo )
$ 8300   		( 8300 LFS par défaut )
$ w 			( Sauvegarde des modifications)

Créons maintenant un système de fichier FAT32 sur notre partition.

$ mkfs.vfat -F32 /dev/sdx1 

Il nous faut la monter pour pouvoir y déposer notre Shell.

$mkdir -p /media/EFI/
$ mount /dev/sdx1 /media/EFI

Reste plus qu'à télécharger ce fameux Shell précompilé sur Archlinux.

Télécharger, le version correspondante à votre architecture et enregistrer là dans le dossier /media/EFI/boot/

Renommer le en bootx64.efi

Pour les commandes, et la DOC allez sur Sourceforge

Il y a les sources et deux ou trois en PDF si l' envie vous viens de compiler votre Shell ou un Tool Kit.

Ces commandes sont proches du batch Windows :

Table 1 Commands from Default Build Shell

Commandes
alias Displays, creates, or deletes aliases in the EFI Shell.
attrib Displays or changes the attributes of files or directories
cd Displays or changes the current directory
cls Clears the standard output and optionally changes the background color
connect Binds a driver to a specific device and starts the driver
cp Copies one or more source files or directories to a destination
date Displays and sets the current date for the system
del Deletes one or more files or directories
dh Displays the device handles in the EFI environment
dir Lists directory contents or file information
disconnect Disconnects one or more drivers from the specified devices
drivers Displays a list of information for drivers
drvcfg Invokes the Driver Configuration Protocol
drvdiag Invokes the Driver Diagnostics Protocol
echo Displays messages or turns command echoing on or off
exit Exits the EFI Shell environment
help Displays the list of commands that are built into the EFI Shell
load Loads an EFI driver into memory
ls Lists a directory's contents or file information
map Defines a mapping between a user-defined name and a device handle
mkdir Creates one or more new directories
mv Moves one or more files to a destination within a file system
reconnect Reconnects drivers to the specific device
reset Resets the system
rm Deletes one or more files or directories
set Used to maintain the environment variables
time Displays or sets the current time for the system
touch Updates the time and date on a file to the current time and date
type Sends the contents of a file to the standard output device
unload Unloads a driver image that was already loaded
ver Displays the version information for this EFI firmware
vol Displays the volume information for the file system

rEFIND

Page officiel de Refind: http://www.rodsbooks.com/refind/

Installation

Si vous prenez ce tuto, en cours de route, remontez un peu uefi_shell il faut que notre clef USB est un système de fichier GPT ainsi qu'une partition FAT32.

On peut maintenant télécharger ce fameux bootmanager, rendez-vous sur Sourceforge.net et télécharger la dernières version des binaires au formats zip.

$ unzip refind-bin-0.7.3.zip
$ cd refind-bin-0.7.3/refind/
$ ls
drivers_ia32  drivers_x64  icons  refind.conf-sample  refind_ia32.efi  refind_x64.efi  tools_ia32  tools_x64

On renomme quelques fichiers

$ mv refind_x64.efi bootx64.efi
$ mv refind_ia32.efi bootia32.efi
$ ls
bootia32.efi  bootx64.efi  drivers_ia32  drivers_x64  icons  refind.conf-sample  tools_ia32  tools_x64

Ensuite on doit déplacer tous ces petits fichiers dans le répertoire EFI/boot/ de notre clé USB.

$ mv bootia32.efi boottX64.efi /media/EFI/EFI/boot/
$ mv -r drivers_ia32 drivers_x64 icons refind.conf-sample tools_ia32 tools_x64 /media/EFI/EFI/

Voila c'est presque près courage, nous enfin installer un boot manager digne de ce nom.

Vous avez sûrement une image iso sous la main,

$ mount
/dev/sdb1 on /media/refind type vfat (rw)
/dev/sdb2 on /media/LMDE type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)

Configuration

Pour cette seconde troisième partie nous allons nous attaquer le fichier de configuration refind.conf qui ce trouve sur notre clé usb.

$ cd /media/refind/EFI/boot

Là vous devriez avoir un fichier refind.conf-sample, vous pouvez l' éxaminer, il est assez long mais il y a plein de commentaires et quelques modèles.

Nous nous allons en créer un beaucoup plus cours.(j'ai récupere ce fichier, dans l'iso de manjaro, cette iso ma beaucoup aidé pour le fonctionnement de refind))

timeout 5

hideui singleuser

textonly
#resolution 1024 768

use_graphics_for osx

showtools about,reboot,shutdown,exit

scan_driver_dirs EFI/boot/drivers_x64

scanfor manual,internal,external,optical

scan_delay 1

#also_scan_dirs boot

dont_scan_dirs EFI/boot

#scan_all_linux_kernels

max_tags 0

default_selection "Debian Live"

menuentry "Debian Live" {
        icon /EFI/boot/icons/os_linux.icns 
        volume 1:
        loader /live/vmlinuz
        initrd /live/initrd.img
        ostype Linux
	graphics off
	options "ro root=UUID=3568-43B4 add_efi_memmap config boot=live"
}

menuentry "UEFI x64 Shell v2" {
	icon /EFI/boot/icons/tool_shell.icns
	loader /EFI/tools/shellx64_v2.efi
	graphics off
}

menuentry "UEFI x64 Shell v1" {
	icon /EFI/boot/icons/tool_shell.icns
	loader /EFI/tools/shellx64_v1.efi
	graphics off
}

Bien sûr ceci n'est qu'un exemple il faut que vous éditiez refind.conf en prenant exemple sur les fichiers qui sont sur votre iso.

1 : Quelques poins important :

scan_driver_dir : Faites attention que le chemin corresponde bien.

volume 1: : Correspond au deuxième périphérique de stockage donc votre clé usb <0:> étant /dev/sda.

loader : Correspond au chemin de l'image du noyau.

initrd : Correspond au chemin de l' image RAM.

ro root=UUID=3568-43B4 : Un simple blkid vous renseigne sur ce numéro.

Options : reporter les options qui sont dans le fichier isolinux/live.cfg, n'oubliez pas les guillemets et add_efi_memmap

Pour les autres Options, regardez le fichier refind.conf-sample.

Vous remarquerez la présence de menuentry “UEFI x64 Shell v2”

Et oui, il ya un Shell UEFI vous pouvez les télécharger sur Archlinux

Et pour la forme: EFI Shells and Scripting

Utilisation

Si les fichier de configuration sont niquels, et que vous les avez préparer au petits oignons. On peut redémmarer, <échap> ou je ne sais quelle touche, pour booter UEFI USB NMAP je sais pas quoi.

Normalement Refind se lance, il scan vos disques, et là si tous est bien configurer vous choisisssez Debian Live.

Si cela ne fonctionne pas revoyez votre refind.conf, ou bien postez un message sur le forum.

J 'espère que ce tuto sera utile, j'ai moi même galéré pour démmarer certaine iso sur mon laptop acheté avec Windows 8 préinstallé.

Refind fait des miracles ;)

doc/install/refind-boot-uefi.1376471238.txt.gz · Dernière modification: 14/08/2013 11:07 par mytux

Pied de page des forums

Propulsé par FluxBB