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 précompilé sur Archlinux.

Télécharger, le version correspondante à votre architecture et enregistrer là dans le dossier /media/EFI/boot/

Rennomer le en bootx64.efi

Pour les commandes, et la DOC allez sur Sourceforge

Il y-a les sources et deux ou trois en PDF si l' envie vous viens de compiler votre Shell ou un Tool Kit.

Ces commandes sont proches du batch Windows :

Table 1 Commands from Default Build Shell

Commandes
alias
attrib
cd
cls
connect
cp
date
del
dh
dir
disconnect
drivers
drvcfg
drvdiag
echo
exit
help
load
ls
map
mkdir
mv
reconnect
reset
rm
set
time
touch
type
unload
ver
vol

Table 2 Additional Commands from Full Build Shell

Commandes

*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 :

  1. Un support usb (de 1 à 2 go minimum, selon la taille de votre iso)
  2. 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.

$ 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)

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))

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
}

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.1376156580.txt.gz · Dernière modification: 10/08/2013 19:43 par mytux

Pied de page des forums

Propulsé par FluxBB