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 [02/09/2013 13:24]
mytux
doc:install:refind-boot-uefi [04/09/2013 16:21]
mytux [EFI et UEFI]
Ligne 15: Ligne 15:
 =====Le BIOS===== =====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 ). \\+A l'aube de l'ère du premier PC en 1981, [[wp>​IBM]] livrait son [[http://​fr.wikipedia.org/​wiki/​IBM_PC|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. Le BIOS était destiné à être une interface entre le matériel ​ et le système d'​exploitation [[wp>​DOS]] (Disk Operating System) à l'​époque.
  
-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é\\ +Son rôle est d' ​initialiser tous les composants ​de la carte mère, identifier tous les périphériques internes ​et externes qui lui sont connectés, définir un ordre de priorité des périphériques ​d'entrée, démarrer le //​bootloader//​ présent sur le premier périphérique disponible. ​  
-Ce premier secteur qu'on appella MBR devait ensuite passer la main à un autre périphérique ou au système ​d'exploitation((OS)).+ 
 +Le Bios est écrits en assembleur et contient ​une suites ​de routines d' interruption que le processeur exécute.  
 + 
 +==Power Good== 
 +Le BIOS vérifie que la tension fournie par le transformateur est adéquate et stable. Dans le but d’éviter tout bris de la carte-mère ou du CPU. Si les paramètres de stabilité ne sont pas conformes aux besoins, il avortera le démarrage de l’ordinateur évitant ainsi de griller les circuits ou le(s) processeur(s). 
 + 
 +==POST (Power On Self Test)== 
 +Lors de cette étape, le programme intégré à la carte-mère teste la présence des divers périphériques et tente de leur attribuer les ressources nécessaires à un fonctionnement sans conflit.  
 +Au cours de la phase du POST, le programme du BIOS a déjà listé tous les périphériques de type "​mémoire de masse" (disque, disquette, clef USB, carte SD, cdrom etc...) auxquels il pourrait avoir accès. 
 +Il va maintenant essayer de "​passer la main" ​ aux programmes susceptibles d'​être inscrits dans ces mémoires de masses. 
 + 
 + 
 +==Bootsrap Loader== 
 +  
 +Pour cela, le //bootstrap loader// du BIOS  lit le premier secteur du premier ​périphérique ​de type //mémoire de masse//, afin de savoir s'il s'agit d'un //secteur ​bootable//
 + 
 +Si ce premier secteur ​est marqué par le nombre //AA55h à l'​offset 1FEh => 2 dernier octets du secteur//, il va en déduire ​qu'il s'agit certainement ​d'un secteur amorçable, et il va copier les instruction contenues dans le //bootstrap code area// de ce //MBR// en mémoire ​(0000h:7C00hafin de pour pouvoir lancer l'​exécution des instructions de ce //bootstrap code//. 
 + 
 +Ces instructions sont inscrites dans le MBR par les chargeurs de démarrage.
  
-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. 
  
 =====EFI et UEFI===== =====EFI et UEFI=====
  
-J'​utilise le terme EFI pour se référer ​soit à EFI 1.X et l'​UEFI.+J'​utilise le terme EFI pour se référer à EFI 1.X et l'UEFI
 + 
 +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 Intel-HP Itanium.
  
-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. \\ +Les capacités de l'​EFI ​sont bien plus grandes que celles du BIOS.
-EFI, a été développé par Intel pour son nouveau processeur //Itanium//.+
  
-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. 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. \\ +A l'instar du bios qui utilisait ​les fichiers cachées //IBMIO.SYSIBMDOS.SYS (ou IO.SYS, MSDOS.SYS) COMMAND.COM//​. L'exécution du programme au standard UEFI lit leur contenu à la recherche d'​exécutable UEFI.
-Contrairement au bios qui liste simplement ​les périphériquesl'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+Il est aussi possible de compiler un noyau Linux de sorte à se passer d'un chargeur ​de démarrage.  
 +On pourra ensuite créer une entrée dans la NVRAM de notre carte mère à l'aide de **efibootmgr**,​ du **Shell EFI**, ou d'utiliser un boot manager comme **rEFIND**
  
-Il est aussi possible de compiler un noyau Linux de sorte à le transformer en véritable applications UEFI. \\ +[[https://​wiki.archlinux.org/​index.php/​UEFI_Bootloaders#​Linux_Kernel_EFISTUB|Voir EFI stub loader sur ArchWiki]]
-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]]+
  
-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]]. ​\\+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. ​ 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. ​
  
Ligne 51: Ligne 68:
   * 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.   * 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.   * 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), cela peut etre contourner ​en utilisant les pilotes de systemes ​de fichiers ​EFI.+  * Pour qu'un amorçage UEFI ait lieu sur un disque ​fixe, ce dernier doit comporter une partition spéciale ESP (EFI File System), cela peut être contourné ​en utilisant les pilotes de systèmes ​de fichier ​EFI.
   * 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.   * 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>​ <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.+  * Des utilisateurs ont constaté que certains EFI ont des bugs avec certains boot loaders,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.   * 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:   * Ces répertoires sont généralement nommés d'​après le système d'​exploitation qui les a créés. \\ Par exemple:
 +  * Debiqn met ses fichiers dans EFI/debian
   * Ubuntu met ses fichiers EFI dans EFI/ubuntu   * Ubuntu met ses fichiers EFI dans EFI/ubuntu
   * Red Hat met ses fichiers dans EFI/redhat   * Red Hat met ses fichiers dans EFI/redhat
Ligne 63: Ligne 81:
 <​code>/​boot/​efi/​EFI/​ubuntu</​code>​ <​code>/​boot/​efi/​EFI/​ubuntu</​code>​
 <​code>/​boot/​efi/​EFI/​redhat</​code>​ <​code>/​boot/​efi/​EFI/​redhat</​code>​
 +<​code>/​boot/​efi/​EFI/​debian</​code>​
  
 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. \\ 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. \\
Ligne 70: Ligne 89:
 ===== rEFIND, EFI boot manager ===== ===== rEFIND, EFI boot manager =====
  
-Refind est un un fork REFITc'est un boot manager pour les ordinateurs implémentés par l'Extensible Firmware Interface (EFI) et Unified EFI (UEFI)\\ +La plupart des ordinateurs avec une architecture x86-64 et un firmware EFI intègrent ​un module de compatibilité appellé CSM (Compatibility Support Module)qui est un mode d'émulation du BIOSD'​autres firmwares EFI sont construits au-dessus d' ​un bios traditionnel,​ ainsi il est possible de garder les capacités du bios et booter ​un ordinateur EFI, en mode legacy.
-Il faut bien faire la distinction entre un boot loader tel que GRUB et un boot manager.+
  
-rEFIND est indépendant du systèmes d'exploitationc'​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.+Cependant il peut arriver que certaines cartes mères n'offrent pas ces options ou que vous souhaitiez par soucis de facilitéutiliser un boot loader plus polyvalent et pouvoir lancer ​une image disque ​d'une distribution Linux n'​offrant pas le support pour l' UEFI, en mode EFI.
  
-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. +Il existe ​de nombreux chargeurs ​de démarrage ​EFI, tel que :
-<​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]]+  * **Elilo** ​Elilo est le plus ancien boot loader stable EFI. 
 +  * **Grub legacy** : La version ​officiel de Grub legacy ne supporte pas le démarrage EFI,​cependant Fedora(>​=17) utilise une version qui inclut ce support. 
 +  * **Grub 2** : Grub2, peut chaîner des d'​autres chargeurs de démarrage EFI, peut lire de nombreux systèmes de fichiers, permet de passé des options au noyau avant le démarrage, détecte et configure d'​autres systèmes d'​exploitation et fournit un Shell. 
 +  * **Efi stub loader** : Fin 2011, les développeurs du noyau Linux, transforme le kernel en application EFI, ainsi il est possible de passer la main au kernel sans utiliser de chargeur de démarrage. (A partir du kernel 3.3.0)  
 +  * **Refit** : Refit n'est pas un gestionnaire de démarrage, il ne peut charger le noyau Linux ni tout autre OS, son seul but est de charger un boot loader. 
 +  * **Gumniboot** :Gumniboot, est un gestionnaire de démarrage, il est très simple, seulement en mode texte. 
 +  * **Refind**: Refind est le couteau Suisse UEFI, c'est un gestionnaire de démarrage, il détecte automatiquement les systèmes et chargeur de démarrage présents sur vos disques.
  
  
 +Refind est un un fork REFIT (l'​auteur de Refit a abandonné le projet, il n'a pas été mis a jour depuis plus de trois ans), c'est un boot manager, pour les ordinateurs implémentés par l'​Extensible Firmware Interface (EFI) et Unified EFI (UEFI). Il faut bien faire la distinction entre un boot loader tel que GRUB, qui charge l'​initial RAM disk et le noyau en mémoire et un boot mangager qui charge un boot loader. rEFIND est indépendant du systèmes d'​exploitation,​ c'est une application UEFI qui accède aux mêmes interfaces que le gestionnaire d'​amorçage intégré dans le micrologiciel de votre carte mère.
  
 +===Caractéristiques :===
  
 +  * Auto-détection des chargeurs de démarrage EFI et Bios.
 +  * Auto-détection de l'​initial RAM disk et du kernel.
 +  * Lancement des chargeurs de démarrahe EFI et Bios.
 +  * Lancement des utilitaires EFI Shell et Gptsync.
 +  * Charge les pilotes EFI pour les systèmes de fichier ou périphériques non supportés nativement par votre firmware.
  
-====Installation sur disque fixe====+Mais aussi : 
  
-Une fois les fichiers récupérés,​ nous devons créer sur notre clé USB : +  * La possibilité d'​avoir le choix entre une interface graphique ou texte seulement. 
-  - une table de partition GPT, +  ​* Graphique configurable,​ en ajoutant des polices, fond d'​écrans ​et icônes personnalisés. 
-  ​- un ESP et +  ​* Réglage de la résolution d'​écran. 
-  ​- une partition FAT32 +  * Economisateur d'​écran. 
-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> +<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>
-$ 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>+
  
-Création d'une seconde partition pour notre image iso : +[[http://www.rodsbooks.com/refind/​|Site officiel de rEFIND]]
-<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 sur disque amovible==== ==== Installation sur disque amovible====
  
-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====+=====Configuration=====
    
 On approche de la fin, et on entame la partir la plus marrante. On approche de la fin, et on entame la partir la plus marrante.
doc/install/refind-boot-uefi.txt · Dernière modification: 26/11/2015 18:38 par milou

Pied de page des forums

Propulsé par FluxBB