UEFI et GPT

Préambule

Intérêt de cet article

Une évolution ?

Un nouveau système de gestion des disques durs est en train de se mettre en place. Il se nomme EFI ou UEFI.

Le BIOS devient un coquille vide, voire est supprimé (inaccessible à l' utilisateur), et c'est une couche intermédiaire EFI/UEFI, inaccessible à l' utilisateur, qui fait le relai avec le système d'exploitation.

Une des justifications originelles (Intel) de ce nouveau système EFI tiendrait au fait qu'il permet d'utiliser de plus gros disques durs, et qu'il autorise 128 partitions primaires, grâce en particulier à la nouvelle norme GPT (nouveau schéma de partitionnement des disques).

Critiques

Il est déjà possible d'utiliser les disques durs supérieurs à 2 To avec les systèmes d'exploitations actuels.De plus qui a aujourd'hui, besoin, chez l'utilisateur ordinaire de tant de partitions ?

Dangers

Le constructeur contrôlerait le BIOS et EFI en amont du système avec des DRM et des instructions qui empêcheraient le visionnage de vidéos HD protégées, entre autres.

Ceci rejoint les tentatives de restrictions des libertés de l' utilisateur de logiciels et de systèmes libres, telles les lois SOPA et ACTA, qui contiennent des mesures interdisant de fait à un utilisateur linux de lire ses vidéos.

http://doc.ubuntu-fr.org/anonymat

internet-et-anonymat

Plan de l' article

  • Définition et fonctions sommaires des EFI, UEFI.
  • Définition et fonctions sommaires de GPT.
  • Critiques.
  • Installations de linux plus complexes (un lien vers le sujet sur ubuntu).
  • Structure des disques, MBR, GPT plus en détail.
  • Annexe 1: Les firmwares.
  • Annexe 2: UEFI et systèmes d'exploitation compatibles.

Termes utilisés dans cet article

Acronymes

  • BIOS = Basic Input Output Service.
  • MBR = Master Boot Record
  • EFI = Extensible Firmware Interface (Intel Itanium).
  • UEFI = Unified Extensible Firmware Interface (Intel et autres), fr: interface micrologicielle extensible unifiée.
  • GUID = GUID Partition Table (GPT) = table de partitionnement.
  • GPT = Globally Unique Identifier Partition Table.
  • Coreboot, LinuxBios

Mots-clés

Outre les abréviations ou acronymes ci-dessus, notons:

  • micrologiciel: logiciel interne, logiciel embarqué, ROM, EEPROM, mémoire flash.
  • MBR; MBR protecteur; programme de démarrage (bootloader); systèmes BIOS (non-EFI)
  • Adresse (LBA) 32 bits; blocs de 512 octets, type 0xEE et non 0xEE,
  • table des partitions, routine d'amorçage

Les bases à connaître

L'article partitions de la documentation Ubuntu est très clair et rappelle les bases du partitionnement classique msdos.

Le site de JC Bellamy, orienté essentiellement windows, présente le sujet d'une façon plus complexe et très détaillée.

multiboot_et_structure_des_disques

Tables_de_partitions_Wikipedia_fr

EFI ou UEFI ?

EFI

Les firmwares EFI (de l'anglais Extensible Firmware Interface) sont amenés à remplacer les BIOS sur les futures cartes mères des PC car ils possèdent une simplicité de programmation que n'a pas le BIOS.

Leur inconvénient est de rajouter une couche supplémentaire entre le hardware et l'utilisateur, compensée par une plus grande rapidité des processeurs et des mémoires. Ce qui justifierait la course incessante à la puissance et garantit aux constructeurs de vendre le nouveau matériel compatible.

UEFI

Définition

La norme Unified Extensible Firmware Interface (UEFI, « interface micrologicielle extensible unifiée ») définit un logiciel intermédiaire entre le micrologiciel (appelé aussi firmware, voir définition en annexe 2) et le système d'exploitation (OS) d'un ordinateur.

La fin du BIOS

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.

Avantages

L'UEFI offre plusieurs avantages par rapport au BIOS, comme:

  • des fonctionnalités réseau intégrées en standard,
  • une interface graphique haute résolution,
  • une gestion intégrée des installations multiples de systèmes d'exploitation (??)et
  • l'affranchissement de la limite des disques à 2,2 To.

Il amorce les systèmes d'exploitation

Une des fonctions principales d'UEFI est l'amorçage d'un système d'exploitation. Celui-ci se fait par l'intermédiaire d'un programme d'amorçage, qui est un cas particulier d'application UEFI.

Le secteur de démarrage du BIOS n'est plus utilisé !!!

GPT: nouveau système de partitionnement

128 partitions principales !!

UEFI gère pour les disques, outre le partitionnement classique par MBR (limité à 2,2 To), 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 (milliards de téraoctets).UEFI permet ainsi le démarrage sur des disques de 2,2 To et plus.

Installation Ubuntu avec EFI

Ce qui suit est un bref aperçu des articles actuellement disponibles dans la documentation ou le forum Ubuntu.

Il est à noter que ces UEFI et GPT sont de nouveaux challenges pour les développeurs de Linux. Les difficultés d'installation des distributions linux perdurent donc.

Articles de Malbo, contributeur Ubuntu.fr

UEFI ou BIOS

Tutos d'installation

Ne pas installer Ubuntu "à côté"

Problème

L'installation d'Ubuntu avec le choix “Installer Ubuntu à côté des autres” conduit systématiquement à l'installation d'une partition EFI associée à la nouvelle installation. Si on installe 3 versions de Ubuntu dans un disque dur (avec ce même choix “installer à côté des autres”), par exemple Ubuntu 11.04, 11.10 et 12.04 alpha, on se retrouve au final avec 3 partitions EFI dans le même disque dur.

Choix: autre chose

Malbo recommande donc aux novices qui veulent ajouter un autre Ubuntu (par exemple Ubuntu 11.10) à un Ubuntu déjà installé en mode EFI (par exemple 11.04) de prendre systématiquement le choix “Autre chose” à cette étape : ubiquity_allouer_natty.png.

Créer une seule partition dans l'espace non alloué

Si on prend le choix “Autre chose”, et à condition qu'une partition swap existe déjà (utilisée par le Ubuntu déjà installé), on a seulement besoin de créer une seule partition dans un espace non alloué : la partition racine de la future installation.

Ne pas choisir de chargeur d'amorçage

Pour le choix du chargeur d'amorçage partitionner_manuellement_avec_installateur_ubuntu_3.png il est inutile de définir quelque chose, car quoi que vous choisissiez, l'installateur trouvera seul la partition EFI existante et y installera son amorceur.

Bilan

On se retrouve avec une seule partition ajoutée : la partition racine de la nouvelle installation et on constate que toutes les autres partitions swap existantes ont été prises en compte et ajoutées dans le fstab.

bugs_partman-efi_sur_launchpad.net

Partitionner manuellement avec Grub

Contrairement à ce qui est expliqué dans l'article suivant partitionner_manuellement_avec_installateur_ubuntu de la documentation Ubuntu, il est toujours préférable de partitionner manuellement avec un live CD ou un live USB d'une version récente de Gparted.

EFI sur un Asus_eee_PC

Utilisateurs avertis !

Une partition de type “EFI” permet d'activer la fonction “Boot Booster” du Bios. Cette fonction enregistre la configuration du Setup dans cette partition “EFI” et accélère ainsi le boot du pc (à ne pas confondre avec le boot du système d'exploitation). Le gain peut varier de 4 à 10 secondes.

bootboster_des_asus_eee_pc

EFI sur Mac

Critiques

Un remplaçant libre du BIOS existe: Coreboot (voir infra)

Impossible d'installer d'autres systèmes d'exploitation!

Le mode sécurisé

Certains utilisateurs craignent que le mode sécurisé les empêche de fait d'installer d'autres systèmes d'exploitation et les prive du contrôle de leur propre ordinateur, les constructeurs de cartes mères pouvant (ou non) laisser l'utilisateur activer ou désactiver cette fonctionnalité.

Désactivable dans le BIOS ?

En réponse, Microsoft a déclaré que les utilisateurs comme les fabricants pourront désactiver cette fonctionnalité dans le BIOS.

Nous remarquons encore une fois que c'est bien l'entreprise Microsoft qui fait la pluie et le beau temps dans le monde de l' informatique.

La FSF dubitative et méfiante

Selon la Free Software Foundation, le risque demeure que certains fabricants pourraient omettre cette capacité dans leurs ordinateurs. La FSF a lancé une campagne sur cette problématique le 13 octobre 2011.

secure-boot-vs-restricted-boot/statement

http://www.fsf.org/campaigns/secure-boot-vs-restricted-boot/secure-boot-vs-restricted-boot

Le principe même de l'UEFI consistant à complexifier l'étape d'amorçage de la machine au lieu de s'en remettre au système d'exploitation est sujet à critique, notamment de la part de Linus Torvalds.

DRM

Liberté de l'utilisateur !

L'UEFI permet l'instauration de DRM en amont du système d'exploitation, ce qui peut brider les possibilité de l'utilisateur même avec un système d'exploitation libre !!

Selon Vandewege, l'introduction de telles fonctions représente une menace pour la vie privée et les droits des consommateurs, car quiconque contrôle le BIOS contrôle l'ordinateur. Si vous contrôlez le BIOS, vous pouvez rejeter tout programme qui se charge après le BIOS.

Une alternative libre à UEFI

Coreboot

Présentation

Coreboot_Wikipedia_fr

La fonction de coreboot est de charger et démarrer une charge utile, c'est-à-dire un logiciel plus élaboré. La charge utile peut être :

  • un chargeur d'amorçage : Grub, Grub 2, SeaBIOS, FILO, Etherboot, OpenFirmware, OpenBIOS, Tiano Core
  • un système d'exploitation : Linux (les autres systèmes d'exploitation peuvent être chargés par un chargeur d'amorçage)
  • divers programmes : Memtest86, Bayou, tint, GRUB invaders

Soutiens

Les principaux contributeurs ont été jusqu'à présent le LANL, AMD, coresystems GmbH et Linux Networx, Inc.

Les fabricants de cartes mères MSI, Gigabyte et Tyan ont offert leur soutien en distribuant coreboot à côté de leur BIOS standard ou en fournissant les spécifications de certaines cartes mères récentes.

Google a aussi soutenu le projet, ainsi que CME Group.

Coreboot site officiel

Coreboot is a Free Software project aimed at replacing the proprietary BIOS (firmware) found in most computers.Coreboot performs a little bit of hardware initialization and then executes additional boot logic, called a payload.

http://www.coreboot.org/Welcome_to_coreboot http://www.coreboot.org/Support

http://www.coreboot.org/Supported_Motherboards#Laptops

Etat des lieux en 2006

Vandewege, un initiateur

Pour les utilisateurs ordinaires, d'après Vandewege, coreboot est aussi une protection contre les technologies dites de Gestion des droits numériques, telles que la fonction d'isolation de l'EFI d'Intel, qui contrôle l'accès au matériel.

freerepublic_LinuxBIOS_ready_to_go_mainstream

Lire l'intégralité de cet article vaut la peine ! Extraits:

L'administrateur système de la Fondation du Logiciel Libre, qui a progressivement mis à jour depuis 14 mois (en 2006) les serveurs de l'organisation vers LinuxBIOS, décrit ce dernier comme une technologie qu'un bricoleur avec une connaissance suffisante du BIOS peut mettre en oeuvre, mais qui reste une difficulté importante pour la plupart des membres de la Fondation.

Ward Vandewege, the system administrator at the Free Software Foundation, who has been gradually upgrading the organization's servers to LinuxBIOS over the last 14 months, describes the technology as adaptable by a hacker with only a moderate amount of knowledge about the BIOS, but still something that would pose a challenge for most members of the free software community to try.

Le projet de LinuxBIOS a été initié en 1999 par Ron Minnich du Laboratoire national de Los Alamos.

The project was started in 1999 by Ron Minnich of the Los Alamos National Laboratory.

Tout au long de l'histoire du projet, le soutien des fabricants de puces et des Intégateurs (OEM) a été inégal (mitigé ?). Minnich se souvient que lorsque le projet a commencé, Intel a fourni des informations.A présent (en 2006), l'information sur les puces Intel est sévèrement tenue secrète, car la compagnie préfère promouvoir et développer son système EFI sur ses futures puces.

Throughout the project's history, support from chip manufacturers and OEMs has been mixed. When the project started, Minnich remembers, information from Intel was readily available. Now (décembre 2006!), information about Intel chips is closely guarded, and the company prefers to promote its mixed source Extensible Firmware Interface (EFI) as the next generation of chip technology.

A contrario, AMD a d'abord été lent à soutenir LinuxBIOS, mais est à présent (2006) un des soutiens majeurs du projet. Parmi les intégrateurs OEM qui participent, citons Acer, Advancetech, SIS, Momentum Computer, and Newisys.

By contrast, Advanced Micro Devices (AMD) was slow to support LinuxBIOS, but is now (2006) a major contributor to the project. Among OEMs, supporters include Acer, Advancetech, SIS, Momentum Computer, and Newisys. The project also works closely with OpenBIOS, a project with similar aims.

Diaporama pdf sur coreboot

La structure des disques

Wikipedia

Ce qui suit, comme une part de ce qui précède est pour une grande part emprunté aux articles du site Wikipedia. Ceux-ci sont parfois complexes, longs, possiblement traduits de l'anglais, et pas toujours pédagoqiques.L'ensemble de cet article s'en ressent donc un peu.

Emplacement_de_GPT

GUID_Partition_Table

GUID Partition table ou GPT

Présentation

La table de partitionnement GUID, en anglais GUID Partition Table (GPT) est un standard pour décrire la table de partitionnement d'un disque dur.

Bien qu'il fasse partie du standard EFI Extensible Firmware Interface (qu'Intel propose en remplacement du PC BIOS), il est aussi utilisé sur certains BIOS à cause des limitations de la table de partitionnement du MBR qui limite la taille des partitions à 2.2 To.

GPT gère les disques durs et partitions jusqu'à 9.4 Zo.

Mais, le support de GPT parmi les principaux systèmes reste limité (voir OS et GPT).

MBR

Définition

Master boot record, 1er secteur d'un disque dur (CHS 001) adressable par le BIOS afin de lire la table des partitions et d'exécuter la routine d'amorçage de la partition active (secteur d’amorce de la partition) chargeant le système d'exploitation.

Historique MBR

La table de partitionnement du MBR, aujourd'hui très répandue, date du début des années 80. Dès la fin des années 90, les limitations 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.

GPT :Caractéristiques

La table de partitionnement basée sur le MBR est située dans le MBR lui-même, qui, dans le cas d'un système utilisant BIOS, contient aussi le programme de démarrage du système.

Dans GPT, les informations concernant la table de partitionnement sont stockées dans une entête GPT, mais pour garantir une compatibilité (avec les logiciels parlant MBR mais pas GPT), GPT maintient une entrée MBR (dit protecteur) suivi de l'entête d'une partition primaire, le véritable début de la table de partitionnement.

Emplacement de GPT

  • GPT : signifiant Table de Partitionnement GUID, désigne l'ensemble entête et tableau des partitions ;
  • Entête : désigne l'entête de GPT ;
  • Tableau des partitions ou Tableau de descripteurs de partition : désigne la liste des descripteurs de chaque partition ((en)Partition Entry Array).

Il y a deux GPT sur le disque dur, l'un primaire, l'autre secondaire (backup du premier). Le primaire se situe au début du disque alors que le secondaire se situe à la fin du disque, leurs structures entête/descripteurs étant inversées.

Le MBR protecteur

Sur un disque MBR, le MBR se trouve à l'adresse 0 (LBA).

Dans les spécifications de GPT, à cette même adresse se trouve une structure qui protège les disques GPT des écritures provenant d'utilitaires disques qui ne (re)connaissent pas les informations de GPT. Cette structure est appelé MBR protecteur (protective MBR).

Ce MBR protecteur décrit une seule partition de type 0xEE qui recouvre tout le disque GPT.

Si la taille du disque excède 2 To, correspondant à la taille maximum représentable avec une adresse (LBA) 32 bits et des blocs de 512 octets, le MBR protecteur décrit alors une partition de 2 To, ignorant le reste du disque.

Les systèmes ou logiciels qui ne connaissent pas GPT voient le disque complètement plein ayant une seule partition d'un type inconnu et refusent de modifier le disque à moins d'effacer cette partition.

Gparted peut créer des partitions de type GPT Gparted_features
Le rédacteur de l'article Wikipedia précise: “Cela permet de minimiser les risques d’effacement accidentel”, ce qui, premièrement semble contradictoire avec ce qui précède, d'autre part laisse entendre que la personne qui travaille avec des outils de partitionnement ne sait pas ce qu'elle fait !

De plus sur les systèmes compatibles avec GPT, la moindre anomalie concernant le MBR protecteur (type non 0xEE ou encore la présence de plusieurs partitions !!! ) devrait empêcher la manipulation des informations concernant GPT).

Le MBR protecteur contient aussi le programme de démarrage (bootloader) utilisé par les systèmes BIOS (non-EFI) capables de démarrer sur de tels disques.

Annexes

Firmware

Bios et Efi sont des firmwares.Les firmwares sont omniprésents dans les composants électroniques qui nous entourent (électro ménager, automobiles, etc).

Le mot « firmware » est issu de software (programme informatique) et firm (« ferme ») “l'état intermédiaire entre soft et hard”.

Un firmware, parfois appelé micrologiciel, ou plus rarement logiciel interne ou logiciel embarqué, est un ensemble d'instructions et de structures de données qui sont intégrées dans du matériel informatique que ce soit un ordinateur, un disque dur ou un appareil photo numérique.

L'utilisateur final n'a d'ordinaire pas accès directement au firmware mais peut parfois le modifier par l'installation de mises à jour pour profiter d'améliorations ou de corrections de bug.

Pour cela il faut que le firmware réside dans certains types de mémoires ROM « reprogrammables »,le plus souvent il s'agit de d'EEPROM ou, depuis le milieu des années 1990, de mémoire flash (c'est-à-dire des EEPROM rapides).

UEFI et Systèmes d'exploitation

Linux

Linux depuis 2000 en utilisant le chargeur d'amorçage Elilo. Il peut être utilisé par les plates-formes IA-64, IA-32 et offre une prise en charge pour le x86-64 depuis juillet 2007.

Apple

Apple a adopté l'EFI pour les derniers ordinateurs Apple. Mac OS X v10.4 Tiger pour Intel, Mac OS X v10.5 Leopard et Mac OS X v10.6 Snow Leopard prennent entièrement en charge l’EFI.

Microsoft Windows

Windows Server 2003 pour IA64, Windows XP 64-bit et Windows 2000 Advanced Server Limited Edition, basés sur l'Intel Itanium supportent l'EFI.

Microsoft Windows Vista contient un système de gestion de l'UEFI depuis la version SP1. Microsoft Windows Server 2008, basé sur le noyau de Windows Vista SP1, gère également les plates-formes UEFI.

uefi_et_gpt.txt · Dernière modification: 2012/02/15 12:28 (modification externe)
GNU Free Documentation License 1.3
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5