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 →
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
Toutes les versions 64bits des PC qui exécutent Windows certifié par le programme de certification Windows utilisent l’UEFI à la place du BIOS.
A l'aube de l'ère du premier PC en 1981, IBM livrait son Personal Computer 5150, avec un firmware connu sous le nom de Basic Input/Output System (BIOS). Le BIOS était destiné à être une interface entre le matériel et le système d'exploitation DOS (Disk Operating System). Au fil du temps, le BIOS a pris de l'àge, ecris sur un de 16 bits, alors que les systèmes d'exploitation et le matériel évoluaient, passant de 32 bits à 64 bits. Les OS avancés n'ont puent continuer à utiliser le Bios sans pertes 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.
J'utilise le terme EFI pour se référer soit à EFI 1.X ou plus l'UEFI.
L'Extensible Firmware Interface (EFI) et sa variante plus récente,UEFI (Unified EXtensible Firmware Interface), sont des conceptions de firmware qui sont destinés à remplacer le BIOS. Les capcités de l' EFI sont plus grandes celles du BIOS, EN effet un EFI peut lire une tables de partitions et un système de fichiers, ce qu’ un BIOS ne sait 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 s'éxécuter.
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), 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 Linux 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.
Refind est un un fork REFIT, c'est un boot manager pour les ordinateurs implémanté par l'Extensible Firmware Interface (EFI) et Unified EFI (UEFI).
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.
Il est assez simple d' utilistation, polyvalent et va nous permettre de booter une image iso n'ayant pas le support pour l'EFI.
Aller à la page de téléchargement de rEFIND.
Télécharger les fichiers correspondant à votre périphériques.
Dans cet exemple je vais utiliser une image disque USB.
Après décompression je copie l' image disque à l'aide de <dd>, afin de récupérer les fichiers de l'image.
$ 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.
Une fois les fichiers récupérer nous devons créer une table de partition GPT, un ESP et une partition FAT32 sur notre clé USB, pour acceuillir notre bootmanager, et notre image iso.
On va utiliser <gdisk>, ce soft est similaire à fdisk, mais a nous permettre de manipuler des tables de partition GPT. Sur la plupart des distributions il n'est pas installer par défault.
$ 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éfault partition numéro 1 $ 2048 # Premier secteur par défault $ +100M # 100 MB je pense que cela suffira, si vous rencontrez des problèmes, augmenter sa taille. $ ef00 # ef00 (EFI File System)
Création d'une seconde partion pour notre image iso.
$ n $ 206848 # 206848 par défault à la suite de l'ESP $ +2000M # 2 GB, je vois large. $ 8300 # 8300 (Linux File System) $ w # On sauvegarde
Ensuite, il faut redémarer pour que le Kernel relise la table de partitions.
$ sudo shutdown -r now
Création d' un système de fichiers FAT32 sur les deux partions :
$ mkfs.vfat -F32 /dev/sdb1 $ mkfs.vfat -F32 /dev/sdb2
Pour l'installation on aura juste à copier les fichiers que étaient dans l'image flashdrive de rEFIND dans notre ESP; et utiliser Unetbootin pour copier notre iso sur notre seconde partition.
Montage des périphériques :
$ sudo mount /dev/sdx1 /media/usb0 $ sudo mount /dev/sdx2 /media/usb1
Copie de rEFIND sur la premiere partition :
$ 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 #Supression des fichiers inutiles $ mv refind.conf exemple.conf #Jeter un oeil à ce fichier, il y-a plein de commentaire.
Ensuite installons notre iso avec Unetbootin :
$ sudo apt-get install unetbootin $ sudo unetbootin &
Bon là pas besoin de moi, vous installez une iso qui vous fais des misères (Crunchbang, LMDE) sur /dev/sdx2.
Dans cet exemple j'utilise Crunchbang.
On approche de la fin, et on entame la partir la plus marrante.
Toutes la configuration ce fait dans le fichier refind.conf.
Jeter un oeil sur la page de Roderick W. Smith, Configuring the Boot manager.
Et aussi, le fichier example.conf qu'on a rennomer tout à l'heure.
$ nano refind.conf
Mon fichier refind.conf:
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 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 }
Pour vous aider vous aurez besoin du fichier syslinux.cfg générer par Unetbootin :
$ 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 $
C'est le moment de vérité, on peut redémarer.
On choisis de démarrer sur l' ESP dans l'interface de notre EFI.
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 a ajouter 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 avoir un pet de travers.
Crunchbang a refuse de booter parcequ' il y avait un point entre deux lignes, j'ai mis trois plombes pour trouver le problème.
Enfin pas de paniques, il y a le EFI_shell pour éditer ce fichier sans avoir besoin de redémarrer, je l'ai mis dans les tools, un peu plus haut.
Si vous voulez editer vos fichiers, démarrer linux en ligne de commande ou ajouter une nouvelle entrée dans votre NVRAM, c'est là que ça se passe.
Dans le menu de rEFIND, vous choisissez Shell EFI, là du texte jaune sur un fond noir c'est le Shell EFI.
La syntaxe est un mélange entre le DOS et le Shell UNIX.