uefi - gpt
Rédigé par Paulo
Aucun commentaire
Classé dans : Divers
uefi - gpt
UEFI : Unified Extensible Firmware Extension
Définit un logiciel intermédiaire entre le micrologiciel (firmware) et l'OS d'un ordinateur.
- fait suite à EFI (extended firmware extension de intel)
- gestionnaire d'amoçage qui se substitue (ou pas) au bios
- prise en charge des tables de partinion MBR et GPT
- contrairement au bios, uefi n'exige pas que le secteur de boot se situe à un endroit particulier
-
depuis la version 2.3.1, uefi intègre une fonctionnalité n'autorisant que le démarrage de systèmes connus (verification de signature numérique)
permet (permettait ....) d'eviter virus et autre rootkit
GPT : Guid Partition Table
- la table de partitionnement du MBR date du début des années 1980. Dès la fin des années 1990, les limitations (taille des disques < 2.2To) qu'elle impose sont apparues trop contraignantes pour les matériels les plus modernes. Intel a alors développé un nouveau format de table de partitionnement, format qui fait partie de ce qui devint UEFI. La GPT étant un sous-ensemble des spécifications de UEFI.
- table de partitionnement basé sur le MBR est située sur les 512 premiers octets du périphérique d'amorçage (utilisation du bios).
- en mode gpt, les infos de partitionnement sont situés dans une entête gpt mais pour assurer la compatibilité (bios ne gérant pas gpt mais mbr), les infos du mbr sont toujours à l'adresse 0, l'entête gpt se trouve à l'adresse 1 et la table de partitionnement à l'adresse 2.
avantages GPT :
- partitions de taille supérieur à 2.2To
- pas de limite de partition primaire (128 partitions disponibles)
utilitaires GPT :
-
fdiskn'est pas content de rencontrer un partitionnement GUID, lui prefere : gdisk - parted
- dumpet -i
- gparted
sauvegarde table de partition :
- adieu le bon vieux 'dd if=/dev/sdX of=mbr.dd count=1 bs=512'
-
la table de partition (GUID) ayant une longueur/emplacement variable, il faut utiliser une méthode différente pour la sauvegarder (non testée...)
#installation de gdisk (qui contient sgdisk) sudo yum install gdisk #sauvegarde GUID sgdisk -b sda.gpt /dev/sda
Création de nos isos (modif à apporter afin de gerer partion GPT et UEFI) :
- kickstart : suppression du clearpart --all
-
snippet de partitionnement (%pre di kickstart)
- label GPT posé sur le disque d'installation
# Detection du types et de nombre de disque type="none" declare -i nb=0 lst_dsk='' for i in /sys/block/[sv]d?; do dev=$(basename ${i}) if ! udevadm info --query=path --name=${dev} | grep -q -e '/usb'; then lst_dsk="${lst_dsk} ${dev}" fi done lst_dsk=$(echo $lst_dsk|tr ' ' '\n'|sort|tr '\n' ' ') nb=$(echo $lst_dsk|wc -w) #<jpc> dsk_gpt=$(echo ${lst_dsk}|cut -d' ' -f1) /usr/bin/dd bs=512 count=10 if=/dev/zero of=/dev/${dsk_gpt} /usr/sbin/parted --script /dev/${dsk_gpt} mklabel gpt #</jpc>
- ajout de 2 partiions dans le partitionnement:
... "part /boot/efi --fstype efi --size 200 --asprimary --ondisk sda", "part biosboot --fstype biosboot --size 1 --ondisk sda", ...
Ps : sur certains serveurs, il a fallu rajouter le mode 'Legacy' dans la liste des périph de boot
Comment savoir si partition biosboot est necessaire :
source : https://www.redhat.com/archives/kickstart-list/2012-August/msg00005.html
-
le systeme demarre en EFI mode ou en BIOS mode ?
- EFI : utiliser gpt et jamais biosboot
-
BIOS :
-
le disque est il plus grand que 2.2To ?
- oui : utiliser gpt et une partition biosboot
- non : use partition classique
-
le disque est il plus grand que 2.2To ?
Dans les scripts de de preinstal :
# get disk size in GB DISKSIZE=`parted -sm /dev/$DEV unit GB print | grep -e "$DEV" | cut -d: -f2 | sed -e 's/GB$//'` if [ -e /sys/firmware/efi -o $DISKSIZE -gt 2100 ] then # bios boot partition necessary echo "part biosboot --fstype=biosboot --size=1 --ondisk=$DEV" >> $INCFILE fi