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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:install:refind-boot-uefi [14/08/2013 12:08]
mytux [Obtenir rEFIND]
doc:install:refind-boot-uefi [02/09/2013 11:21]
mytux [Obtenir rEFIND]
Ligne 1: Ligne 1:
 +====== UEFI & EFI======
  
- 
- 
-   ​N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! 
 (//non testé// - **mytux** 09/​08/​13) ​ (//non testé// - **mytux** 09/​08/​13) ​
 Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=7225|[WIKI] Tuto, Refind boot iso from UEFI ou EFI ]] Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=7225|[WIKI] Tuto, Refind boot iso from UEFI ou EFI ]]
- +   ​N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
- +
-====== 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. Toutes les versions 64bits des PC qui exécutent Windows certifié par le programme de certification Windows utilisent l’UEFI à la place du BIOS.
Ligne 13: Ligne 9:
   * Objet : Boot d'une distribution non compatible avec EFI & UEFI.   * Objet : Boot d'une distribution non compatible avec EFI & UEFI.
   * Niveau requis : Tous   * Niveau requis : Tous
-  * Commentaires : Ce tuto, concerne les personnes disposant d' une carte mère intègrant ​des firmware ​EFI & UEFI. +  * Commentaires : Ce tuto, concerne les personnes disposant d'une carte mère intégrant ​des firmwares ​EFI & UEFI. 
   * Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
   * Suivi : {{tag>​en-chantier à-tester à-placer}}   * Suivi : {{tag>​en-chantier à-tester à-placer}}
    
-===== EFI & UEFI =====   ​+=====Le BIOS=====
  
 +A l'aube de l'ère du premier PC en 1981, [[wp>​IBM]] livrait son [[wp>​Personal Computer]] 5150, avec un [[wp>​firmware]] connu sous le nom de [[wp>​BIOS]] (Basic Input/​Output System ). \\
 +Le BIOS était destiné à être une interface entre le matériel ​ et le système d'​exploitation [[wp>​DOS]] (Disk Operating System) à l'​époque.
  
-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).+Le rôle du BIOS était ​d'effectuer des tests de base et d'​appliquer ​une séquence linéaire de recherche afin de trouver un périphérique amorçable sur un secteur de 512 octets pouvant être lu et exécuté. \\ 
 +Ce premier secteur qu'on appella MBR devait ensuite passer la main à un autre périphérique ou au système d'​exploitation((OS)).
  
-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+Le BIOS est généralement ​écrit en assembleur et est seulement capable d'​exécuter des instructions ​sur 16 bits alors que les OS modernes eux, exécutent des instructions ​sur 32 et 64bits\\ 
- +Les OS avancés n'ont pu continuer à utiliser ​le BIOS sans perte de performance.
-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===== =====EFI et UEFI=====
  
-J'​utilise le terme EFI pour se référer soit EFI 1. X ou l'​UEFI ​plus récent.+J'​utilise le terme EFI pour se référer soit à EFI 1.X et l'​UEFI.
  
-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.+L'EFI (Extensible Firmware Interface) et sa variante plus récente ​[[wp>UEFI]] (Unified ​EXtensible Firmware Interface), sont des conceptions de firmwares ​destinés à remplacer ​le BIOS. \\ 
 +EFI, a été développé par Intel pour son nouveau processeur //Itanium//.
  
-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’éxécuterce qui peut théoriquement bloquer une avenue d'attaques ​de malwares.+Les capacités ​de l'​EFI ​sont bien plus grandes que celles du BIOS\\ 
 +En effet un EFI peut lire une table de partitions et accéder aux systèmes ​de fichier, il ne prend pas en charge le multitâche mais peut exécuter des applications en C/C++pour les versions les plus récentes tel que l' ​UEFI, des applications graphiques avec prise en charge ​de la souris.
  
 +L'​amorçage EFI est donc bien plus souple. \\
 +Contrairement au bios qui liste simplement les périphériques,​ l'EFI lit leur contenu à la recherche d'​exécutable UEFI.
  
 +Cela permet à plusieurs chargeurs de démarrage de coexister sur un même disque dur et d'​être accessibles tout en utilisant les mécanismes d'​accès aux fichiers normaux. ​
  
-=====Structures ​de disques ​EFI=====+Il est aussi possible ​de compiler un noyau Linux de sorte à le transformer en véritable applications UEFI. \\ 
 +On pourra ensuite créer une entrée dans la NVRAM de notre carte mère à l'aide efibootmgr, du Shell EFI, ou d'​utiliser un boot manager tel que rEFIND. [[https://​wiki.archlinux.org/​index.php/​UEFI_Bootloaders#​Linux_Kernel_EFISTUB|Voir ​EFI stub loader sur ArchWiki]]
  
-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+Une autre caractéristique de l'​EFI ​est le [[http://​fr.wikipedia.org/​wiki/​Unified_Extensible_Firmware_Interface#​Lancement_s.C3.A9curis.C3.A9_.28secure_boot.29|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 puissent s'​exécuter
  
-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. ​+=====Structure ​de disque ​EFI=====
  
-L'ESP devrait officiellement utiliser un système de fichiers ​FAT32, bien que de nombreuses distributions Linux utilise ​un système de fichiers ​FAT16.+Selon la version et le constructeur de votre fimware, ces règles peuvent varier. \\ 
 +En voici un aperçu : 
 +  * Tous les périphériques de stockage EFI recherchent un répertoire EFI et listent un point amorce pour chaque fichier ressemblant à *x64.efi *ia32.efi. 
 +  * Deux formats de tables sont pris en charges, MBR et GPT, cependant je vous recommande le partitionnement sur une table GPT, elle accepte jusqu'​à 128 partitions primaires. 
 +  * Pour qu'un amorçage UEFI ait lieu sur un disque SATA, ce dernier doit comporter une partition spéciale ESP (EFI File System). 
 +  * A l'​instar,​ pour qu'un amorçage est lieu depuis un disque USB, il n'est pas nécessaire que celui-ci comporte un systeme de fichier EFI, il peut comporter une table de partition MSDOS ainsi qu'une partition FAT32.  
 +  * L'ESP devrait officiellement utiliser un système de fichier ​FAT32, bien que de nombreuses distributions Linux utilisent ​un système de fichier ​FAT16, quelquefois un FAT12. 
 +<note info>GPT et FAT32 sont un bon compromis.</​note>​ 
 +  * Des utilisateurs ont constaté que certains EFI ont des bugs qui causent des problèmes avec les ESP inférieures à 512MiB (537MB) où des fichiers ne peuvent pas ê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 doit être 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 
 +  * Red Hat met ses fichiers dans EFI/redhat
  
-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.+Une fois Linux installé, l'ESP est monté dans **/​boot/​efi** de sorte que l’arborescence soit :  
 +<​code>/​boot/​efi/​EFI/​ubuntu</​code>​ 
 +<​code>/​boot/​efi/​EFI/​redhat</​code>​
  
-Chaque ​chargeur de démarrage ​EFI est stocké dans un sous-répertoire du répertoire EFI sur l'ESP+Si vous avez besoin d'​installer un chargeur de démarrage ​indépendamment de votre système d'​exploitation,​ vous pouvez créer votre propre ​répertoire. \\ 
 +Exemple : 
 +   EFI/refind pour Refind.
  
-Ces répertoires sont généralement nommés d'​après le système d'​exploitation qui les a créés. Par exempleUbuntu met ses fichiers ​EFI dans EFI / ubuntu, et Red Hat met ses  dans EFI / redhat. ​+===== rEFINDgestionnaire de démarrage ​EFI =====
  
-Une fois Linux installél'ESP est monté ​ dans / boot / efi, de sorte que l’arborescence soit : / boot / efi / EFI / ubuntu, ​et: / boot / efi / EFI / redhat.+Refind est un un fork REFITc'​est ​un boot manager pour les ordinateurs implémentés par l'​Extensible Firmware Interface (EFIet Unified ​EFI (UEFI). \\ 
 +Il faut bien faire la distinction entre un boot loader tel que GRUB et un boot manager.
  
-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.+rEFIND est indépendant du systèmes ​d'exploitation,​ c'est une application UEFI qui accède aux même interfaces que le gestionnaire ​d'amorçage intégré dans le micrologiciel de votre carte mère.
  
 +Vous pouvez l'​installer sur de multiples supports, il scannera votre disque à la recherche d'un fichier //amorce// que ce soit Windows, Unix, Mac ou Linux, aussi bien les systèmes BIOS Legacy que EFI.
 +<​note>​Il peut être utile d'​avoir une clé USB de secours avec une partition réservée juste pour rEFIND car en cas de soucis au boot vous pourrez toujours démarrer votre OS indépendamment et ainsi débuguer votre EFI.</​note>​
  
 +[[http://​www.rodsbooks.com/​refind/​|Site officiel de rEFIND]]
  
  
  
 +  - Allez à la page de téléchargement de [[http://​www.rodsbooks.com/​refind/​getting.html|rEFIND]].
 +  - Téléchargez les fichiers correspondants à votre périphérique.
  
-===== rEFIND =====+Dans cet exemple je vais utiliser une image disque USB. 
 +  
 +Après décompression je copie l'​image disque à l'aide de [[commande:​dd]],​ afin de récupérer les fichiers de l'​image.
  
-Refind est un un fork REFITc'est un boot manager ​pour les ordinateurs implémanté par l'​Extensible Firmware Interface (EFI) et Unified EFI (UEFI)+<code bash> 
 +$ dd if=refind-flashdrive-0.7.3.img of=/dev/sdx bs=1M   # Copie sur la clef USB 
 +$ mount /dev/sdb1 /​media/​usb0 ​                           
 +$ cd /​media/​usb0 
 +$ls 
 +EFI  shellia32.efi ​ shellx64.efi ​                       # On récupère les fichiers. 
 +$ cp -r * ~/ 
 +$ umount /​media/​usb0 ​                                   # Et on démonte, pour préparer le système de fichier. 
 +</​code>​
  
-Il faut faire la distinction entre un boot loader tel que GRUB et un boot mangager, comme rEFIND, tous les ordinnateurs basé sur EFI incluent boot manager.+=====Système de fichiers ​EFI=====
  
-http://www.rodsbooks.com/​refind/​+Une fois les fichiers récupérés,​ nous devons créer sur notre clé USB : 
 +  - une table de partition GPT, 
 +  - un ESP et 
 +  - une partition FAT32 
 +pour accueillir notre bootmanager,​ et notre image iso.
  
 +On va utiliser //gdisk//, ce soft est similaire à [[commande:​fdisk]] mais va nous permettre de manipuler des tables de partition GPT. \\
 +Sur la plupart des distributions //gdisk// n'est pas installé par défaut.
  
 +<code bash>
 +$ sudo apt-get install gdisk 
 +$ sudo gdisk /dev/sdb
 +$ o                           # Créer une nouvelle table de partion GPT
 +$ n                           # Créer une nouvelle partition
 +$ 1                           # Par défaut partition numéro 1
 +$ 2048                        # Premier secteur par défaut
 +$ +100M                       # 100 MB je pense que cela suffira, si vous rencontrez des problèmes, augmentez sa taille. ​
 +$ ef00                        # ef00 (EFI File System)
 +</​code>​
  
-Aller à la page de téléchargement ​de [[http://​www.rodsbooks.com/​refind/​getting.html|rEFIND]].+Création d'une seconde partition pour notre image iso : 
 +<code bash> 
 +$ n 
 +$ 206848 ​                    # 206848 par défaut ​à la suite de l'​ESP 
 +$ +1000M ​                    # 1 GB, à adapter selon la taille ​de votre iso. 
 +$ 8300                       # 8300 (Linux File System) 
 +$ w                          # On sauvegarde 
 +</​code>​ 
 + 
 +Ensuite, il faut redémarrer pour que le Kernel relise la table de partition. 
 +<code bash> 
 +$ sudo shutdown -r now 
 +</​code>​ 
 + 
 +Création d'un système de fichiers FAT32 sur les deux partitions : 
 +<code bash> 
 +$ mkfs.vfat -F32 /dev/sdb1 
 +$ mkfs.vfat -F32 /dev/sdb2 
 +</​code>​ 
 + 
 +===== Installation ===== 
 + 
 +Pour l'​installation on aura juste à copier les fichiers qui étaient dans l'​image //​flashdrive//​ de rEFIND dans notre ESP et d'​utiliser //​Unetbootin//​ pour copier notre iso sur notre seconde partition. 
 + 
 +Montage des périphériques : 
 +<code bash> 
 +$ sudo mount /dev/sdx1 /​media/​usb0 
 +$ sudo mount /dev/sdx2 /​media/​usb1 
 +</​code>​ 
 + 
 +Copie de rEFIND sur la première partition : 
 + 
 +<code bash> 
 +$ sudo cp -r EFI shellx64.efi ​ /​media/​usb0 ​                                                 # x64 ou ia32 selon votre  architecture (ia32 sur MAC) 
 +$ cd /​media/​usb0 
 +$ ls 
 +bootia32.efi ​ bootx64.efi ​ drivers_ia32 ​ drivers_x64 ​ icons  refind.conf 
 +$ rm -r bootia32.efi drivers_ia32 ​                                                          # Suppression des fichiers inutiles 
 +$ mv refind.conf exemple.conf ​                                                              # Jetez un oeil sur ce fichier, il contient plein de commentaires. 
 +</​code>​ 
 + 
 +Ensuite installons notre iso avec Unetbootin : 
 +<code bash> 
 +$ sudo apt-get install unetbootin 
 +$ sudo unetbootin & 
 +</​code>​ 
 + 
 +Bon là pas besoin de moi, vous installez une iso qui vous fait des misères (Crunchbang,​ LMDE) sur /dev/sdx2. ;-) \\ 
 +Dans cet exemple j'​utilise //​Crunchbang//​. 
 + 
 +=====Configuration===== 
 +  
 +On approche de la fin, et on entame la partir la plus marrante. 
 + 
 +Toutes la configuration se fait dans le fichier ''​refind.conf''​. \\ 
 +Jetez un oeil sur la page de Roderick W. Smith, ​[[http://​www.rodsbooks.com/​refind/​configfile.html|Configuring the Boot manager]]. \\ 
 +Et aussi, le fichier ''​example.conf''​ qu'on a renommé tout à l'​heure. 
 + 
 +<code bash> 
 +$ nano refind.conf 
 +</​code>​ 
 + 
 +Mon fichier refind.conf:​  
 +<​code>​ 
 +timeout 10 
 + 
 +icons_dir EFI/​boot/​icons 
 + 
 +textonly 
 + 
 +use_graphics_for linux 
 + 
 +showtools shell, about, reboot, exit 
 + 
 +scan_driver_dirs EFI/​boot/​drivers_x64 
 + 
 +scanfor internal,​external,​optical,​manual 
 + 
 +scan_delay 1 
 + 
 +scan_all_linux_kernels 
 + 
 +dont_scan_dirs EFI/​linuxmint,​boot 
 + 
 +default_selection Crunch_Live 
 + 
 +menuentry Crunch_Live { 
 +  icon /​EFI/​boot/​icons/​os_debian.icns  
 +  volume 1: 
 +  loader /​live/​vmlinuz 
 +  initrd /​live/​initrd.img 
 +  options "ro root=UUID=C847-7244 add_efi_memmap config boot=live"​ 
 +  osype Linux 
 +  graphics off  
 +
 + 
 +menuentry Crunch_Install { 
 +  icon /​EFI/​boot/​icons/​os_debian.icns  
 +  volume 1: 
 +  loader /​install/​vmlinuz 
 +  initrd /​install/​initrd.gz 
 +  options "ro root=UUID=C847-7244 add_efi_memmap file=/​cdrom/​install/​crunchbang.cfg"​ 
 +  osype Linux 
 +  graphics off 
 +
 +</​code>​
  
 <note important>​ <note important>​
-Je vous conseil vivement ​de télécharger les fichiers correspondant à votre périphériques(USB ou CD) . Dans mon exemple j'utilise ​ une clé USB, il m'​a ​été impossible ​de charger une image avec les fichiers ​binaires+rEfind est assez capricieux, votre fichier refind.conf ne doit pas avoir un pet de travers, aussi quelquefois un simple reboot permet de lancer ​votre kernel tranquillement. 8-o \\ 
 +C'est pour cela qu'il n'y a pas de commentaire dans le fichier ci-dessus.  
 +</​note>​  
 + 
 +Pour vous aider vous aurez besoin du fichier ''​syslinux.cfg''​ généré par Unetbootin : 
 +<code bash> 
 +$ cd /​media/​usb1 
 +$ cat syslinux.cfg 
 +default menu.c32 
 +prompt 0 
 +menu title UNetbootin 
 +timeout 100 
 + 
 +label unetbootindefault 
 +menu label Default 
 +kernel /ubnkern 
 +append initrd=/​ubninit boot=live config quiet 
 + 
 +label ubnentry0 
 +menu label Live Session 
 +kernel /​live/​vmlinuz 
 +append initrd=/​live/​initrd.img boot=live config quiet 
 + 
 +label ubnentry1 
 +menu label Install 
 +kernel /​install/​gtk/​vmlinuz 
 +append initrd=/​install/​gtk/​initrd.gz video=vesa:​ywrap,​mtrr vga=788 quiet file=/​cdrom/​install/​crunchbang.cfg 
 + 
 +label ubnentry2 
 +menu label Memory Test 
 +kernel /​live/​memtest 
 +append initrd=/​ubninit  
 + 
 +
 +</​code>​ 
 + 
 +===== Utilisation ===== 
 + 
 +C'est le moment de vérité, on peut redémarrer\\ 
 +Dans l'interface de votre EFI, vous choisissez votre clé USB, la première partition si vous avez le choix. \\ 
 +Là normalement rEFIND se lance, il doit tout d'​abord scanner vos disques. \\ 
 +En mode texte vous devriez avoir le choix entre votre OS principal et ensuite les menuentry que l'on ajoutés dans notre ''​refind.conf''​. 
 + 
 +Essayons Crunch_Live ... 
 + 
 +Si vous avez de la chance, il se lance, sinon comme je vous l'ai dit plus haut, il est très capricieux, il ne doit pas y avoir un pet de travers dans votre fichier de configuration. 
 + 
 +Enfin pas de panique, il y a le **shell UEFI** pour éditer ce fichier sans avoir besoin de redémarrer,​ je l'ai mis dans les tools, un peu plus haut.   
 +  
 +===== UEFI Shell ===== 
 + 
 +Si vous voulez éditer vos fichiers, démarrer linux en ligne de commande ou ajoutez une nouvelle entrée dans votre NVRAM, c'est là que ça se passe. 
 +<​note>​  
 +Le Shell EFI est en Qwerty, entraînez-vous un peu avant ! Il faut que vous repériez sur votre clavier où sont les caractères spéciaux !
 </​note>​ </​note>​
  
 +Dans le menu de rEFIND, vous choisissez Shell EFI, là du texte jaune sur un fond noir c'est le Shell EFI.
 +
 +La syntaxe ressemble beaucoup à DOS.
 +
 +Les systèmes de fichiers sont représentés par des fs0, fs1, fs3 etc... , fs0: étant la première partition de votre clef USB, si vous lancez ce Shell depuis celle-ci. \\
 +L'​antislash est de rigueur.
 +
 +Exemple : 
 +<code bash>
 +shell> cd fs0:​\EFI\boot
 +fs0:​\EFI\boot\>​ edit refind.conf ​
 +</​code>  ​
 +
 +Quelques commandes utiles :
  
 +  *cd : ce déplacer.
 +  *rm : supprimer un fichier
 +  *mkdir : créer un répertoire
 +  *map : pour lister vos périphériques
 +  *map -t hd : pour filtrer la sortie, sur vos disques de USB et sata.
 +  *edit : editeur de texte, f2 pour enregistrer et f3 pour quitter
 +  *exit : quitter le shell
 +  *reset : reboot
  
doc/install/refind-boot-uefi.txt · Dernière modification: 26/11/2015 18:38 par milou

Pied de page des forums

Propulsé par FluxBB