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 →
Ci-dessous, les différences entre deux révisions de la page.
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 [09/08/2013 19:02] mytux [Refind boot from UEFI] |
doc:install:refind-boot-uefi [14/08/2013 16:29] mytux [rEFIND] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | (//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 | ||
- | N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! | ||
- | ====== Refind boot from UEFI ====== | ||
- | * Objet : Comment démarrer une image iso n'ayant pas le support pour l'UEFI ? | ||
- | * Niveau requis : Tous | ||
- | * Commentaires : Ce tuto, concerne les personnes disposant d' une carte mère intègrant le firmware EFI ou UEFI. | ||
- | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>en-chantier à-tester à-placer}} | ||
- | |||
- | ==== A : Introduction ==== | ||
- | Depuis peu, certain ordinnateurs achetés dans le commerce avec windows préinstallé sont équipés de ce nouveau firmware apppelé UEFI. | + | 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 : [[http://debian-facile.org/viewtopic.php?id=7225|[WIKI] Tuto, Refind boot iso from UEFI ou EFI ]] | ||
- | Qu'est ce que l'UEFI ? | ||
- | //Citation Wipedia : | + | ====== UEFI & EFI====== |
- | "La norme Unified Extensible Firmware Interface (UEFI, « interface micro-logicielle extensible unifiée ») définit un logiciel intermédiaire entrele micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur. Cette interface succède sur certaines cartes-mères au BIOS. Elle fait suite à EFI (Extensible Firmware Interface), conçue par Intel pour les processeurs Itanium."// | + | |
- | Malheureusement toutes les distributions ne sont pas équipés d' un bootloader capable de démarrer sur ce nouveau logiciel, heureusement un certain Roderick W.Smith à développer un fork de Refit. Refind un bootmanager qui donne la main à un bootloader traditionnel. | + | Toutes les versions 64bits des PC qui exécutent Windows certifié par le programme de certification Windows utilisent l’UEFI à la place du BIOS. |
- | Page officiel de Refind: http://www.rodsbooks.com/refind/ | + | * Objet : Boot d'une distribution non compatible avec EFI & UEFI. |
- | + | * Niveau requis : Tous | |
- | ==== B : Installation ==== | + | * Commentaires : Ce tuto, concerne les personnes disposant d' une carte mère intègrant des firmware EFI & UEFI. |
- | + | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | |
- | == Prérequis : == | + | * Suivi : {{tag>en-chantier à-tester à-placer}} |
- | + | ||
- | - Un support usb (de 1 à 2 go minimum, selon la taille de votre iso) | + | |
- | - Les droits root. | + | |
- | === 1 : Téléchargement des binaires et création de l'arborescence du répertoire de boot. === | + | ===== EFI & UEFI ===== |
- | == a : Téléchargement == | ||
- | Commençons tout d'abord par télécharger ce fameux bootmanager, rendez vous à :http://sourceforge.net/projects/refind/ et télécharger le la dernière version en paquet debian enregistrer le par exemple dans **~/refind** | + | A l'aube de l'ère du PC en 1981, IBM a livré son Personal Computer 5150 un firmware connu sous le nom de Basic Input/Output System (BIOS). |
+ | Le BIOS était destiné à être une interface entre plusieurs périphériques et le Disk Operating System (DOS). | ||
- | == b : Extraction des fichiers. == | + | Au fil des ans, le BIOS a été de moins en moins utilisé, car il était ecrit sur 16 bits, les systèmes d'exploitation ont évolué sur 32 bits et, maintenant, en 64-bit. Les OS avancés n'ont puent continuer à utiliser le Bios sans pertes de performance. |
- | En ligne de commande on extrait cet archive à l'aide de dpkg. | + | 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. |
- | $ cd ~/refind | + | =====EFI et UEFI===== |
- | $ dpkg -x refind_0.7.3-1_amd64.deb ./ | + | |
- | $ ls | + | |
- | etc/ usr/ | + | |
- | Les fichiers qui nous intéresses sont situés dans **usr/share/refind-0.7.3/refind/** | + | J'utilise le terme EFI pour se référer soit à EFI 1.X ou l'UEFI. |
- | $ cd usr/share/refind-0.7.3/refind/ | + | 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. |
- | $ls | + | |
- | drivers_x64 icons tools_x64 refind_x64.efi refind.conf-sample | + | |
- | On renomme **refind_x64.efi** | + | 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. |
- | $ mv refind_x64.efi bootx64.efi | + | 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. |
- | == c : Création de l'arborescence de boot.== | + | 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. |
+ | =====Structures de disques EFI===== | ||
- | Premièrement nous allons créer les répertoire qui vont accueillir notre bootmanager. | + | 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. |
- | $ mkdir -p ~/EFI/boot/ | + | 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. |
- | On copie tout ce qui est dans le répertoire **~/refind/usr/share/refind-0.7.3/refind/** dans **~/EFI/boot/** | + | L'ESP devrait officiellement utiliser un système de fichiers FAT32, bien que de nombreuses distributions Linux utilise un système de fichiers FAT16. |
- | $ cp -a ~/refind/usr/share/refind-0.7.3/refind/* ~/EFI/boot/ | + | 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. |
- | $ cd ~/EFI/boot/ | + | |
- | $ ls -l | + | |
- | -rw-r--r-- 1 axel axel 173608 août 7 18:05 bootx64.efi | + | |
- | drwxr-xr-x 2 axel axel 4096 août 7 18:05 drivers_x64 | + | |
- | drwxr-xr-x 2 axel axel 4096 août 7 18:05 icons | + | |
- | -rw-r--r-- 1 axel axel 17925 juil. 20 21:56 refind.conf-sample | + | |
- | drwxr-xr-x 2 axel axel 4096 août 7 18:05 tools_x64 | + | |
- | On rend éxècutable tous ça. | + | Chaque chargeur de démarrage EFI est stocké dans un sous-répertoire du répertoire EFI sur l'ESP. |
- | $ chmod -R +x * | + | 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. |
- | === B : Préparation de la clé usb. === | + | 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. |
- | == 1 : Table de partition GPT == | + | 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. |
- | Cette partie va se faire principalement en root donc un petit : | ||
- | $ sudo su | ||
- | # | ||
- | Nous allon créer une table de partition GPT sur notre clé usb, ensuite une partition de démarrage EFI Filesystem pour refind, une seconde partion Linux Filesystem pour acceuillir notre image iso. | ||
- | Pour cela nous aurons besoin de gdisk. | ||
- | Généralement il n'est pas installé par défault, vous aurez besoin de l'installer. | ||
- | # sudo apt-get install gdisk | ||
- | # gdisk /dev/sdb (ou le périphérique correspondant à votre clé usb) | ||
- | GPT fdisk (gdisk) version 0.8.5 | ||
- | Partition table scan: | ||
- | MBR: MBR only | ||
- | BSD: not present | ||
- | APM: not present | ||
- | GPT: not present | ||
- | *************************************************************** | ||
- | Found invalid GPT and valid MBR; converting MBR to GPT format. | ||
- | THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if | ||
- | you don't want to convert your MBR partitions to GPT format! | ||
- | *************************************************************** | ||
- | Warning! Secondary partition table overlaps the last partition by | ||
- | 33 blocks! | ||
- | You will need to delete this partition or resize it in another utility. | ||
- | Command (? for help): ? | ||
- | Comande h ou ? pour afficher l'aide. | + | ===== rEFIND ===== |
- | b back up GPT data to a file | + | 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). |
- | c change a partition's name | + | |
- | d delete a partition | + | |
- | i show detailed information on a partition | + | |
- | l list known partition types | + | |
- | n add a new partition | + | |
- | o create a new empty GUID partition table (GPT) | + | |
- | p print the partition table | + | |
- | q quit without saving changes | + | |
- | r recovery and transformation options (experts only) | + | |
- | s sort partitions | + | |
- | t change a partition's type code | + | |
- | v verify disk | + | |
- | w write table to disk and exit | + | |
- | x extra functionality (experts only) | + | |
- | ? print this menu | + | |
- | Command (? for help): o | + | |
- | Commande <o> pour créer une nouvelle table de partition. | + | 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. |
- | This option deletes all partitions and creates a new protective MBR. | + | Il est assez simple d' utilistation, polyvalent et va nous permettre de booter une image iso n'ayant pas le support pour l'EFI. |
- | Proceed? (Y/N): y | + | |
- | Vous pouvez confirmer, assurez vous d'avoir sauvegarder vos données existante. | + | http://www.rodsbooks.com/refind/ |
- | + | =====Getting rEFIND===== | |
- | Commande (? for help): n | + | |
- | + | ||
- | Partition number (1-128, default 1): 1 | + | |
- | + | ||
- | Commande <1 ou enter> pour le choix par défaut | + | |
- | + | ||
- | First sector (34-7716830, default = 2048) or {+-}size{KMGTP}: 2048 | + | |
- | + | ||
- | Commande <entrer> choix par défaut | + | |
- | Last sector (2048-7716830, default = 7716830) or {+-}size{KMGTP}: +10M | + | |
- | + | ||
- | Commande <+50M> 50 Mo suffiront largement | + | |
- | + | ||
- | Current type is 'Linux filesystem' | + | |
- | Hex code or GUID (L to show codes, Enter = 8300): L | + | |
- | + | ||
- | Commande <L> pour connaître les codes connues | + | |
- | + | ||
- | 0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE | + | |
- | 4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS | + | |
- | 7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved | + | |
- | 8200 Linux swap 8300 Linux filesystem 8301 Linux reserved | + | |
- | 8e00 Linux LVM a500 FreeBSD disklabel a501 FreeBSD boot | + | |
- | a502 FreeBSD swap a503 FreeBSD UFS a504 FreeBSD ZFS | + | |
- | a505 FreeBSD Vinum/RAID a580 Midnight BSD data a581 Midnight BSD boot | + | |
- | a582 Midnight BSD swap a583 Midnight BSD UFS a584 Midnight BSD ZFS | + | |
- | a585 Midnight BSD Vinum a800 Apple UFS a901 NetBSD swap | + | |
- | a902 NetBSD FFS a903 NetBSD LFS a904 NetBSD concatenated | + | |
- | a905 NetBSD encrypted a906 NetBSD RAID ab00 Apple boot | + | |
- | af00 Apple HFS/HFS+ af01 Apple RAID af02 Apple RAID offline | + | |
- | af03 Apple label af04 AppleTV recovery af05 Apple Core Storage | + | |
- | be00 Solaris boot bf00 Solaris root bf01 Solaris /usr & Mac Z | + | |
- | bf02 Solaris swap bf03 Solaris backup bf04 Solaris /var | + | |
- | bf05 Solaris /home bf06 Solaris alternate se bf07 Solaris Reserved 1 | + | |
- | bf08 Solaris Reserved 2 bf09 Solaris Reserved 3 bf0a Solaris Reserved 4 | + | |
- | bf0b Solaris Reserved 5 c001 HP-UX data c002 HP-UX service | + | |
- | ef00 EFI System ef01 MBR partition scheme ef02 BIOS boot partition | + | |
- | fd00 Linux RAID | + | |
- | Hex code or GUID (L to show codes, Enter = 8300): ef00 | + | |
- | + | ||
- | Commande <ef00> pour un système EFI. | + | |
- | Créer une seconde partition de même sur le reste de la clé ou d'une taille suffisante pour copier votre image iso dessus, mais cette fois avec le Filesystem Linux par défaut (Hex code 8300). | + | Aller à la page de téléchargement de [[http://www.rodsbooks.com/refind/getting.html|rEFIND]]. |
- | + | Télécharger les fichiers correspondant à votre périphériques. | |
- | Command (? for help): p | + | |
- | Disk /dev/sdb: 7716864 sectors, 3.7 GiB | + | |
- | Logical sector size: 512 bytes | + | |
- | Disk identifier (GUID): 734165E0-59BE-47CE-8773-64FCCC709443 | + | |
- | Partition table holds up to 128 entries | + | |
- | First usable sector is 34, last usable sector is 7716830 | + | |
- | Partitions will be aligned on 2048-sector boundaries | + | |
- | Total free space is 7696317 sectors (3.7 GiB) | + | |
- | Number Start (sector) End (sector) Size Code Name | + | |
- | 1 2048 22527 50.0 MiB EF00 EFI System | + | |
- | 2 22528 7716830 3.7 GiB 8300 Linux filesystem | + | |
- | Commande <p> pour afficher la table de partition. | + | Dans cet exemple je vais utiliser une image disque USB. |
- | + | ||
- | Command (? for help): w | + | |
- | Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING | + | |
- | PARTITIONS!! | + | |
- | Do you want to proceed? (Y/N): y | + | |
- | OK; writing new GUID partition table (GPT) to /dev/sdb. | + | |
- | Warning: The kernel is still using the old partition table. | + | |
- | The new table will be used at the next reboot. | + | |
- | The operation has completed successfully. | + | |
- | $ | + | |
- | Commande <w> pour sauvegarder les changements | + | Après décompression je copie l' image disque à l'aide de <dd>, afin de récupérer les fichiers de l'image. |
- | + | ||
- | Voilà on a notre partition EFI pour accueillir Refind. | + | <code> |
+ | $ 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> | ||
- | Créer une seconde partition de même sur le reste de la clé ou d'une taille suffisante pour copier votre image iso dessus, mais cette fois avec le Filesystem Linux par défaut (Hex code 8300) | + | =====EFI file System===== |
- | == 2 : Création d'un systéme de fichiers vfat sur les deux partitions. == | + | 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. |
- | # mkfs.vfat -F32 /dev/sdb1 | + | On va utiliser <gdisk>, ce soft est similaire à fdisk, mais a nous permettre de manipuler des tables de partition GPT. |
- | mkfs.vfat 3.0.14 (23 Jan 2023) | + | Sur la plupart des distributions il n'est pas installer par défault. |
- | # mkfs.vfat -F32 /dev/sdb2 | + | |
- | mkfs.vfat 3.0.14 (23 Jan 2023) | + | |
- | # blkid | + | |
- | /dev/sdb1: LABEL="jump" UUID="339F-2ABE" TYPE="vfat" SEC_TYPE="msdos" | + | |
- | /dev/sdb2: UUID="3568-43B4" TYPE="vfat" | + | |
- | == 3 : Montage des périphériques. == | + | <code> |
+ | $ 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) | ||
+ | </code> | ||
- | # mkdir -p /media/refind | + | Création d'une seconde partion pour notre image iso. |
- | # mkdir -p /media/iso | + | |
- | # mount /dev/sdb1 /media/refind | + | |
- | # mount /dev/sdb2 /media/iso | + | |
- | == 4 : Copie des fichiers sur la clef == | + | <code> |
+ | $ 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 | ||
+ | </code> | ||
- | # cp -r ~/EFI /media/refind | + | Ensuite, il faut redémarer pour que le Kernel relise la table de partitions. |
- | Pour la seconde partitions nous allons utiliser Unetbootin. | + | <code> |
- | + | $ sudo shutdown -r now | |
- | Télécharger une image iso, par exemple Crunbang ou LMDE, 64bit. | + | </code> |
- | Installer votre iso sur /dev/sdb2, avec Unetbootin. | + | |
- | Une fois terminer éxécuter mount. | + | Création d' un système de fichiers FAT32 sur les deux partions : |
- | Vous devriez avoir quelque chose comme ça en sortie. | + | |
<code> | <code> | ||
- | $ mount | + | $ mkfs.vfat -F32 /dev/sdb1 |
- | /dev/sdb1 on /media/refind type vfat (rw) | + | $ mkfs.vfat -F32 /dev/sdb2 |
- | /dev/sdb2 on /media/Debian-Live type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2) | + | |
</code> | </code> | ||
+ | ===== Installation ===== | ||
- | ==== B : Configuration ==== | + | 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. |
- | Pour cette seconde troisième partie nous allons nous attaquer le fichier de configuration **refind.conf** qui ce trouve sur notre clé usb. | + | Montage des périphériques : |
+ | <code> | ||
+ | $ sudo mount /dev/sdx1 /media/usb0 | ||
+ | $ sudo mount /dev/sdx2 /media/usb1 | ||
+ | </code> | ||
- | $ cd /media/refind/EFI/boot | + | Copie de rEFIND sur la premiere partition : |
+ | <code> | ||
+ | $ 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. | ||
+ | </code> | ||
- | 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. | + | Ensuite installons notre iso avec Unetbootin : |
- | J 'ai récupérer le refind.conf de l'iso de Manjaro (//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 | + | <code> |
- | N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! | + | $ sudo apt-get install unetbootin |
- | + | $ sudo unetbootin & | |
- | ====== Refind boot from UEFI ====== | + | </code> |
- | + | ||
- | * Objet : Comment démarrer une image iso n'ayant pas le support pour l'UEFI ? | + | |
- | * Niveau requis : Tous | + | |
- | * Commentaires : Ce tuto, concerne les personnes disposant d' une carte mère intègrant le firmware EFI ou UEFI. | + | |
- | * Débutant, à savoir : [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | |
- | * Suivi : {{tag>en-chantier à-tester à-placer}} | + | |
- | + | ||
- | ==== Introduction ==== | + | |
- | + | ||
- | Depuis peu, certain ordinnateurs achetés dans le commerce avec windows préinstallé sont équipés de ce nouveau firmware apppelé UEFI. | + | |
- | + | ||
- | Qu'est ce que l'UEFI ? | + | |
- | + | ||
- | //Citation Wipedia : | + | |
- | "La norme Unified Extensible Firmware Interface (UEFI, « interface micro-logicielle extensible unifiée ») définit un logiciel intermédiaire entrele micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur. Cette interface succède sur certaines cartes-mères au BIOS. Elle fait suite à EFI (Extensible Firmware Interface), conçue par Intel pour les processeurs Itanium."// | + | |
- | + | ||
- | Malheureusement toutes les distributions ne sont pas équipés d' un bootloader capable de démarrer sur ce nouveau logiciel, heureusement un certain Roderick W.Smith à développer un fork de Refit. Refind un bootmanager qui donne la main à un bootloader traditionnel. | + | |
- | + | ||
- | Page officiel de Refind: http://www.rodsbooks.com/refind/ | + | |
- | ==== Installation ==== | + | Bon là pas besoin de moi, vous installez une iso qui vous fais des misères (Crunchbang, LMDE) sur /dev/sdx2. |
- | == Prérequis : == | + | Dans cet exemple j'utilise Crunchbang. |
- | - Un support usb (de 1 à 2 go minimum, selon la taille de votre iso) | + | =====Configuration===== |
- | - Les droits root. | + | |
- | === A : Téléchargement des binaires et création de l'arborescence du répertoire de boot. === | + | On approche de la fin, et on entame la partir la plus marrante. |
- | == 1 : Téléchargement == | + | Toutes la configuration ce fait dans le fichier refind.conf. |
- | Commençons tout d'abord par télécharger ce fameux bootmanager, rendez vous à :http://sourceforge.net/projects/refind/ et télécharger le la dernière version en paquet debian enregistrer le par exemple dans **~/refind** | + | Jeter un oeil sur la page de Roderick W. Smith, [[http://www.rodsbooks.com/refind/configfile.html|Configuring the Boot manager]]. |
- | == 2 : Extraction des fichiers. == | + | Et aussi, le fichier example.conf qu'on a rennomer tout à l'heure. |
- | + | ||
- | En ligne de commande on extrait cet archive à l'aide de dpkg. | + | |
- | + | ||
- | $ cd ~/refind | + | |
- | $ dpkg -x refind_0.7.3-1_amd64.deb ./ | + | |
- | $ ls | + | |
- | etc/ usr/ | + | |
- | + | ||
- | Les fichiers qui nous intéresses sont situés dans **usr/share/refind-0.7.3/refind/** | + | |
- | + | ||
- | $ cd usr/share/refind-0.7.3/refind/ | + | |
- | $ls | + | |
- | drivers_x64 icons tools_x64 refind_x64.efi refind.conf-sample | + | |
- | + | ||
- | On renomme **refind_x64.efi** | + | |
- | + | ||
- | $ mv refind_x64.efi bootx64.efi | + | |
- | + | ||
- | == 3 : Création de l'arborescence de boot.== | + | |
- | + | ||
- | Premièrement nous allons créer les répertoire qui vont accueillir notre bootmanager. | + | |
- | + | ||
- | $ mkdir -p ~/EFI/boot/ | + | |
- | + | ||
- | On copie tout ce qui est dans le répertoire **~/refind/usr/share/refind-0.7.3/refind/** dans **~/EFI/boot/** | + | |
- | + | ||
- | $ cp -a ~/refind/usr/share/refind-0.7.3/refind/* ~/EFI/boot/ | + | |
- | $ cd ~/EFI/boot/ | + | |
- | $ ls -l | + | |
- | -rw-r--r-- 1 axel axel 173608 août 7 18:05 bootx64.efi | + | |
- | drwxr-xr-x 2 axel axel 4096 août 7 18:05 drivers_x64 | + | |
- | drwxr-xr-x 2 axel axel 4096 août 7 18:05 icons | + | |
- | -rw-r--r-- 1 axel axel 17925 juil. 20 21:56 refind.conf-sample | + | |
- | drwxr-xr-x 2 axel axel 4096 août 7 18:05 tools_x64 | + | |
- | + | ||
- | On rend éxècutable tous ça. | + | |
- | + | ||
- | $ chmod -R +x * | + | |
- | + | ||
- | === B : Préparation de la clé usb. === | + | |
- | + | ||
- | == 1 : Table de partition GPT == | + | |
- | + | ||
- | Cette partie va se faire principalement en root donc un petit : | + | |
- | + | ||
- | $ sudo su | + | |
- | # | + | |
- | + | ||
- | Nous allon créer une table de partition GPT sur notre clé usb, ensuite une partition de démarrage EFI Filesystem pour refind, une seconde partion Linux Filesystem pour acceuillir notre image iso. | + | |
- | + | ||
- | Pour cela nous aurons besoin de gdisk. | + | |
- | Généralement il n'est pas installé par défault, vous aurez besoin de l'installer. | + | |
- | + | ||
- | # sudo apt-get install gdisk | + | |
- | # gdisk /dev/sdb (ou le périphérique correspondant à votre clé usb) | + | |
- | GPT fdisk (gdisk) version 0.8.5 | + | |
- | Partition table scan: | + | |
- | MBR: MBR only | + | |
- | BSD: not present | + | |
- | APM: not present | + | |
- | GPT: not present | + | |
- | *************************************************************** | + | |
- | Found invalid GPT and valid MBR; converting MBR to GPT format. | + | |
- | THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if | + | |
- | you don't want to convert your MBR partitions to GPT format! | + | |
- | *************************************************************** | + | |
- | Warning! Secondary partition table overlaps the last partition by | + | |
- | 33 blocks! | + | |
- | You will need to delete this partition or resize it in another utility. | + | |
- | Command (? for help): ? | + | |
- | + | ||
- | Comande h ou ? pour afficher l'aide. | + | |
- | + | ||
- | b back up GPT data to a file | + | |
- | c change a partition's name | + | |
- | d delete a partition | + | |
- | i show detailed information on a partition | + | |
- | l list known partition types | + | |
- | n add a new partition | + | |
- | o create a new empty GUID partition table (GPT) | + | |
- | p print the partition table | + | |
- | q quit without saving changes | + | |
- | r recovery and transformation options (experts only) | + | |
- | s sort partitions | + | |
- | t change a partition's type code | + | |
- | v verify disk | + | |
- | w write table to disk and exit | + | |
- | x extra functionality (experts only) | + | |
- | ? print this menu | + | |
- | Command (? for help): o | + | |
- | + | ||
- | Commande <o> pour créer une nouvelle table de partition. | + | |
- | + | ||
- | This option deletes all partitions and creates a new protective MBR. | + | |
- | Proceed? (Y/N): y | + | |
- | + | ||
- | Vous pouvez confirmer, assurez vous d'avoir sauvegarder vos données existante. | + | |
- | + | ||
- | + | ||
- | Commande (? for help): n | + | |
- | + | ||
- | Partition number (1-128, default 1): 1 | + | |
- | + | ||
- | Commande <1 ou enter> pour le choix par défaut | + | |
- | + | ||
- | First sector (34-7716830, default = 2048) or {+-}size{KMGTP}: 2048 | + | |
- | + | ||
- | Commande <entrer> choix par défaut | + | |
- | Last sector (2048-7716830, default = 7716830) or {+-}size{KMGTP}: +10M | + | |
- | + | ||
- | Commande <+50M> 50 Mo suffiront largement | + | |
- | + | ||
- | Current type is 'Linux filesystem' | + | |
- | Hex code or GUID (L to show codes, Enter = 8300): L | + | |
- | + | ||
- | Commande <L> pour connaître les codes connues | + | |
- | + | ||
- | 0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE | + | |
- | 4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS | + | |
- | 7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved | + | |
- | 8200 Linux swap 8300 Linux filesystem 8301 Linux reserved | + | |
- | 8e00 Linux LVM a500 FreeBSD disklabel a501 FreeBSD boot | + | |
- | a502 FreeBSD swap a503 FreeBSD UFS a504 FreeBSD ZFS | + | |
- | a505 FreeBSD Vinum/RAID a580 Midnight BSD data a581 Midnight BSD boot | + | |
- | a582 Midnight BSD swap a583 Midnight BSD UFS a584 Midnight BSD ZFS | + | |
- | a585 Midnight BSD Vinum a800 Apple UFS a901 NetBSD swap | + | |
- | a902 NetBSD FFS a903 NetBSD LFS a904 NetBSD concatenated | + | |
- | a905 NetBSD encrypted a906 NetBSD RAID ab00 Apple boot | + | |
- | af00 Apple HFS/HFS+ af01 Apple RAID af02 Apple RAID offline | + | |
- | af03 Apple label af04 AppleTV recovery af05 Apple Core Storage | + | |
- | be00 Solaris boot bf00 Solaris root bf01 Solaris /usr & Mac Z | + | |
- | bf02 Solaris swap bf03 Solaris backup bf04 Solaris /var | + | |
- | bf05 Solaris /home bf06 Solaris alternate se bf07 Solaris Reserved 1 | + | |
- | bf08 Solaris Reserved 2 bf09 Solaris Reserved 3 bf0a Solaris Reserved 4 | + | |
- | bf0b Solaris Reserved 5 c001 HP-UX data c002 HP-UX service | + | |
- | ef00 EFI System ef01 MBR partition scheme ef02 BIOS boot partition | + | |
- | fd00 Linux RAID | + | |
- | Hex code or GUID (L to show codes, Enter = 8300): ef00 | + | |
- | + | ||
- | Commande <ef00> pour un système EFI. | + | |
- | + | ||
- | Créer une seconde partition de même sur le reste de la clé ou d'une taille suffisante pour copier votre image iso dessus, mais cette fois avec le Filesystem Linux par défaut (Hex code 8300). | + | |
- | + | ||
- | + | ||
- | Command (? for help): p | + | |
- | Disk /dev/sdb: 7716864 sectors, 3.7 GiB | + | |
- | Logical sector size: 512 bytes | + | |
- | Disk identifier (GUID): 734165E0-59BE-47CE-8773-64FCCC709443 | + | |
- | Partition table holds up to 128 entries | + | |
- | First usable sector is 34, last usable sector is 7716830 | + | |
- | Partitions will be aligned on 2048-sector boundaries | + | |
- | Total free space is 7696317 sectors (3.7 GiB) | + | |
- | Number Start (sector) End (sector) Size Code Name | + | |
- | 1 2048 22527 50.0 MiB EF00 EFI System | + | |
- | 2 22528 7716830 3.7 GiB 8300 Linux filesystem | + | |
- | + | ||
- | Commande <p> pour afficher la table de partition. | + | |
- | + | ||
- | Command (? for help): w | + | |
- | Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING | + | |
- | PARTITIONS!! | + | |
- | Do you want to proceed? (Y/N): y | + | |
- | OK; writing new GUID partition table (GPT) to /dev/sdb. | + | |
- | Warning: The kernel is still using the old partition table. | + | |
- | The new table will be used at the next reboot. | + | |
- | The operation has completed successfully. | + | |
- | $ | + | |
- | + | ||
- | Commande <w> pour sauvegarder les changements | + | |
- | + | ||
- | + | ||
- | Voilà on a notre partition EFI pour accueillir Refind. | + | |
- | + | ||
- | Créer une seconde partition de même sur le reste de la clé ou d'une taille suffisante pour copier votre image iso dessus, mais cette fois avec le Filesystem Linux par défaut (Hex code 8300) | + | |
- | + | ||
- | == 2 : Création d'un systéme de fichiers vfat sur les deux partitions. == | + | |
- | + | ||
- | # mkfs.vfat -F32 /dev/sdb1 | + | |
- | mkfs.vfat 3.0.14 (23 Jan 2023) | + | |
- | # mkfs.vfat -F32 /dev/sdb2 | + | |
- | mkfs.vfat 3.0.14 (23 Jan 2023) | + | |
- | # blkid | + | |
- | /dev/sdb1: LABEL="jump" UUID="339F-2ABE" TYPE="vfat" SEC_TYPE="msdos" | + | |
- | /dev/sdb2: UUID="3568-43B4" TYPE="vfat" | + | |
- | + | ||
- | == 3 : Montage des périphériques. == | + | |
- | + | ||
- | # mkdir -p /media/refind | + | |
- | # mkdir -p /media/iso | + | |
- | # mount /dev/sdb1 /media/refind | + | |
- | # mount /dev/sdb2 /media/iso | + | |
- | + | ||
- | == 4 : Copie des fichiers sur la clef == | + | |
- | + | ||
- | # cp -r ~/EFI /media/refind | + | |
- | + | ||
- | Pour la seconde partitions nous allons utiliser Unetbootin. | + | |
- | + | ||
- | Télécharger une image iso, par exemple Crunbang ou LMDE, 64bit. | + | |
- | Installer votre iso sur /dev/sdb2, avec Unetbootin. | + | |
- | + | ||
- | Une fois terminer éxécuter mount. | + | |
- | Vous devriez avoir quelque chose comme ça en sortie. | + | |
<code> | <code> | ||
- | $ mount | + | $ nano refind.conf |
- | /dev/sdb1 on /media/refind type vfat (rw) | + | |
- | /dev/sdb2 on /media/Debian-Live type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2) | + | |
</code> | </code> | ||
- | + | Mon fichier refind.conf: | |
- | ==== 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 d 'explications et quelques modèles. | + | |
- | + | ||
- | Nous nous allons en créer beaucoup plus cours sans commentaires. | + | |
<file> | <file> | ||
- | timeout 5 | + | timeout 10 |
- | hideui singleuser | + | icons_dir EFI/boot/icons |
textonly | textonly | ||
- | #resolution 1024 768 | ||
- | use_graphics_for osx | + | use_graphics_for linux |
- | showtools about,reboot,shutdown,exit | + | showtools shell, about, reboot, exit |
scan_driver_dirs EFI/boot/drivers_x64 | scan_driver_dirs EFI/boot/drivers_x64 | ||
- | scanfor manual,internal,external,optical | + | scanfor internal,external,optical,manual |
scan_delay 1 | scan_delay 1 | ||
- | #also_scan_dirs boot | + | dont_scan_dirs EFI/linuxmint,boot |
- | dont_scan_dirs EFI/boot | + | default_selection Crunch_Live |
- | #scan_all_linux_kernels | + | menuentry Crunch_Live { |
- | + | icon /EFI/boot/icons/os_debian.icns | |
- | max_tags 0 | + | volume 1: |
- | + | loader /live/vmlinuz | |
- | default_selection "Debian Live" | + | initrd /live/initrd.img |
- | + | options "ro root=UUID=C847-7244 add_efi_memmap config boot=live" | |
- | menuentry "Debian Live" { | + | osype Linux |
- | icon /EFI/boot/icons/os_linux.icns | + | graphics off |
- | 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" { | + | menuentry Crunch_Install { |
- | icon /EFI/boot/icons/tool_shell.icns | + | icon /EFI/boot/icons/os_debian.icns |
- | loader /EFI/tools/shellx64_v2.efi | + | volume 1: |
- | graphics off | + | 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 | ||
} | } | ||
- | |||
- | menuentry "UEFI x64 Shell v1" { | ||
- | icon /EFI/boot/icons/tool_shell.icns | ||
- | loader /EFI/tools/shellx64_v1.efi | ||
- | graphics off | ||
- | } | ||
- | |||
</file> | </file> | ||
- | 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. | + | <note important> |
+ | rEfind est assez capricieux, votre fichier refind.conf ne doit pas avoir un pet de travers. | ||
+ | C'est pour cela qu'il n' ya pas de commentaires dans le fichier, ci-dessus. | ||
+ | <note> | ||
- | == Quelques poins important :== | ||
- | **scan_driver_dir** : Faites attention que le chemin corresponde bien. | + | Pour vous aider vous aurez besoin du fichier syslinux.cfg générer par Unetbootin : |
- | **volume 1:** : Correspond au deuxième périphérique de stockage donc votre clé usb <0:> étant /dev/sda. | + | <code> |
+ | $ cd /media/usb1 | ||
+ | $ cat syslinux.cfg | ||
+ | default menu.c32 | ||
+ | prompt 0 | ||
+ | menu title UNetbootin | ||
+ | timeout 100 | ||
- | **loader** : Correspond au chemin de l'image du noyau. | + | label unetbootindefault |
+ | menu label Default | ||
+ | kernel /ubnkern | ||
+ | append initrd=/ubninit boot=live config quiet | ||
- | **initrd** : Correspond au chemin de l' image RAM. | + | label ubnentry0 |
+ | menu label Live Session | ||
+ | kernel /live/vmlinuz | ||
+ | append initrd=/live/initrd.img boot=live config quiet | ||
- | **ro root=UUID=3568-43B4** : Un simple blkid vous renseigne sur ce numéro. | + | 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 | ||
- | Options : reporter les options qui sont dans le fichier **isolinux/live.cfg**, n'oubliez pas les guillemets et **add_efi_memmap** | + | label ubnentry2 |
+ | menu label Memory Test | ||
+ | kernel /live/memtest | ||
+ | append initrd=/ubninit | ||
- | Pour les autres Options, regardez le fichier **refind.conf-sample**. | + | $ |
+ | </code> | ||
- | Vous remarquerez la présence de **menuentry "UEFI x64 Shell v2"** | + | ===== Utilisation ===== |
- | Et oui, il ya un Shell UEFI vous pouvez les télécharger sur [[https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#UEFI_Shell| Archlinux]] | + | C'est le moment de vérité, on peut redémarer. |
- | Et pour la forme: [[http://software.intel.com/en-us/articles/efi-shells-and-scripting/|EFI Shells and Scripting]] | + | 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_Install ... | ||
- | ==== Utilisation ==== | + | 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. |
- | Si les fichier de configuration sont niquels, et que vous les avez préparer au petits oignons. | + | Crunchbang a refuse de booter parcequ' il y avait un point entre deux lignes, j'ai mis trois plombes pour trouver le problème. |
- | 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.//(cette iso ma beaucoup aidé pour comprendre le fonctionnement de refind)//, ce qui donne: | + | |
- | + | ||
- | <file> | + | |
- | 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 | + | |
- | } | + | |
- | + | ||
- | </file> | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | == 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 [[https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#UEFI_Shell| Archlinux]] | + | |
- | + | ||
- | Et pour la forme: [[http://software.intel.com/en-us/articles/efi-shells-and-scripting/|EFI Shells and Scripting]] | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ==== C : 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. | + | |
+ | 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. | ||
+ | |||
+ | ===== UEFI Shell ===== | ||
+ | vous | ||
+ | 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. | ||
+ | <note> | ||
+ | Le Shell EFI est en Qwerty, entraîné vous un peu avant ! Il faut que vous repériez ou sont les caractères spéciaux ! | ||
+ | </note> | ||