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

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 logicielle intermédiaire entre le logicielle micrologiciel (firmware) et le système d'exploitation d'un ordinateur. Il fait suite à EFI (Extensible Firmware Interface), conçue par Intel.

Il est é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. ===== Secure Boot===== 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 libre ou alternatifs.

Spécifications : 

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 :===== Preparons 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, et Arch linux proposeune version précompilé : https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#UEFI_Shell Télécharger, le version correspondante à votre architecture et enregistrer là dans le dossier /media/EFI/boot/, rennomer en bootx64.efi. Pour les commandes, et la DOC allez à : http://sourceforge.net/projects/efi-shell/files/ Il y-a les sources deux ou trois en PDF si l' envie vous viens de compiler votre shell. Ces commandes sont proches du batch Windows : Table 1 Commands from Default Build Shell  : 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 Table 2 Additional Commands from Full Build Shell  : comp Compares the contents of two files on a byte for byte basis dblk Displays the contents of one or more blocks from a block device devices Displays the list of devices managed by EFI drivers devtree This command displays the tree of devices dmem Displays the contents of system or device memory dmpstore Manages all EFI NVRAM variables edit Full screen editor for ASCII or UNICODE files eficompress Compress a file efidecompress Decompress a file err Displays or changes the error level in the system guid Displays all registered EFI GUIDs hexedit Full screen hex editor for files, block devices, or memory ipconfig Displays or modifies the current IP configuration loadpcirom Loads a PCI Option ROM from the specified file mem Displays the contents of system or device memory memmap Displays the memory map maintained by the EFI environment mm Displays or modifies MEM/MMIO/IO/PCI/PCIE address space mode Displays or changes the console output device mode openinfo Displays the protocols and agents associated with a handle pci Displays PCI device list or PCI function configuration space sermode Sets serial port attributes smbiosview Displays SMBIOS information telnetmgmt Change terminal type timezone Displays or sets time zone information Autant dire qu' il y-a de quoi s'amuser. ===== A : Introduction ===== Depuis peu, certain ordinateurs 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 entre le 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ées 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 ===== ==== Prérequis : ==== - Un support usb (de 1 à 2 go minimum, selon la taille de votre iso) - Les droits root. === Téléchargement des binaires et création de l'arborescence du répertoire de boot. === == 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 == Extraction des fichiers. == 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 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> $ mount /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> ==== 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)) <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. == 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.1376154863.txt.gz · Dernière modification: 10/08/2013 19:14 par mytux

Pied de page des forums

Propulsé par FluxBB