UEFI : une interface performante pour le démarrage du PC

L’évolution constante des technologies informatiques nous a assuré d’une chose : l’amorçage classique à l’aide du BIOS et du Master Boot Record, qui fut introduit dans les années 1980 à l’époque des systèmes d’exploitation fonctionnant sous MS-DOS, ne répondent plus aux exigences modernes. C’est pourquoi plusieurs entreprises, dont Microsoft et Intel, ont commencé à travailler sur un successeur plus moderne. La première spécification de l’Extensible Firmware Interface (EFI) a été développée aux alentours de l’an 2000. Après la création de l’Unified EFI Forum en 2005, le standard UEFI actuellement utilisé a vu progressivement le jour aux cours des années qui ont suivi.

Qu’est-ce qu’un UEFI ?

L’abréviation UEFI signifie Unified Extensible Firmware Interface (en français : interface micrologicielle extensible unifiée). Cette interface spéciale est une sorte de système d’exploitation miniature mettant en service la carte mère de l’ordinateur et les composants logiciels associés immédiatement après l’allumage. Elle fait en sorte qu’un programme de démarrage spécifique (appelé chargeur d’amorçage) soit chargé dans la mémoire vive et elle veille au déroulement des routines opérationnelles. Habituellement, ce processus prend fin avec l’écran de connexion. L’utilisateur y indique les données demandées (nom d’utilisateur, mot de passe) et peut ensuite utiliser l’ordinateur pour des tâches concrètes (traitement de texte, etc.).

Afin d’utiliser cette interface UEFI, l’ordinateur a besoin d’un micrologiciel spécifique sur la carte mère. Après l’allumage de l’ordinateur, sa programmation génère l’UEFI, une couche opérationnelle spécifique qui sert d’intermédiaire entre le micrologiciel et le système d’exploitation. Pour que le mode UEFI puisse être initialisé avant le démarrage du système d’exploitation à proprement parler, il est implémenté de façon durable dans une puce mémoire sur la carte mère. En tant que composante fixe du micrologiciel de la carte mère, la programmation de l’UEFI est donc conservée s’il n’y a pas de courant.

Pour les paramètres spécifiques de l’amorçage (par ex. les données de configuration, les paramètres du BIOS et la séquence d’amorçage) qui doivent être enregistrés lorsque l’on éteint l’ordinateur, on utilise aujourd’hui une NVRAM (Non-Volatile Random-Access Memory). Sa consommation d’énergie extrêmement faible est couverte durablement par une pile autonome sur la carte mère (pile bouton). Si la pile est vide, par exemple lorsque le PC n’a pas été utilisé depuis longtemps, cela peut entraîner des problèmes au démarrage.

L’UEFI est souvent considérée comme le successeur direct du BIOS. Cependant, la spécification UEFI ne définit pas la façon dont un micrologiciel doit être programmé intégralement. Elle décrit uniquement l’apparence que doit avoir l’interface entre le micrologiciel et le système d’exploitation. De ce fait, la spécification UEFI ne supplante pas complètement le Basic Input/Output System (BIOS) en tant que « micrologiciel d’amorçage » d’un ordinateur. Elle constitue plutôt une extension ou une modification moderne permettant de démarrer les ordinateurs actuels à l’aide d’une interface opérationnelle et ainsi, d’utiliser de nouveaux mécanismes et de nouvelles fonctionnalités. Afin de différencier ces variantes, on parle aujourd’hui souvent de BIOS Legacy (BIOS classique) et de BIOS UEFI ou micrologiciel UEFI.

Avantages de l’UEFI

Dans les systèmes d’exploitation Windows, le mode UEFI est la méthode d’amorçage par défaut depuis Windows 8. Depuis cette édition, Windows a défini par défaut le partitionnement de disques via le tableau de partition GUID. La technologie d’amorçage traditionnelle des systèmes avec un BIOS Legacy, qui sont liés au Master Boot Record, ne fonctionne plus avec cette technologie de partitionnement. L’unité opérationnelle composée de l’Unified Extensible Firmware Interface et du partitionnement GPT défriche le terrain pour de nouvelles fonctionnalités et options et met par ailleurs un terme à certaines limitations du processus d’amorçage classique.

Parmi les principaux avantages et atouts de la technologie UEFI, on compte :

  • sa conception sous forme de standard industriel ;
  • sa facilité de programmation (langage de programmation C) ;
  • sa structure modulaire permettant une flexibilité et une adaptation aux environnements matériels spécifiques et aux profils d’exigences (les modules d’assistance peuvent par ex. être intégrés dans le micrologiciel UEFI pour d’anciens systèmes d’exploitation) ;
  • la possibilité de compléter l’UEFI avec des fonctionnalités et des programmes spécifiques (par ex. un gestionnaire de droits numériques, des jeux, des navigateurs web, un monitoring du matériel, un gestionnaire de ventilateurs) ;
  • sa meilleure ergonomie grâce à une souris et des interfaces graphiques utilisateur (ce que l’on trouvait déjà de façon isolée dans le BIOS classique) ;
  • un gestionnaire d’amorçage intégré gérant différents chargeurs d’amorçage pour les différents systèmes d’exploitation ;
  • la possibilité d’intégrer les pilotes de façon précoce (que le système d’exploitation n’a plus à charger par la suite) ;
  • un outil d’invite de commande propre disponible pour les diagnostics et la recherche d’erreurs (UEFI-Shell) ;
  • une connectivité réseau même en l’absence de système d’exploitation actif ;
  • une connexion au réseau permettant par exemple une maintenance à distance (mise à niveau distante de composantes du micrologiciel ou de l’intégralité du micrologiciel) et un amorçage via le réseau ;
  • une sécurité accrue grâce à la fonctionnalité Secure Boot.

Secure Boot a été introduit afin d’augmenter la sécurité : chaque composante logicielle (les parties du micrologiciel UEFI, le chargeur d’amorçage, le noyau du système d’exploitation, etc.) est vérifiée avant le démarrage. Cette vérification a recours à des signatures cryptographiques qui ont été renseignées au préalable dans la base de données de signatures du micrologiciel UEFI. Si l’interlocuteur est infecté par des virus ou ne possède aucune signature ni aucune clé enregistrée comme valide, il ne passe pas ce « portique de sécurité » et le système interrompt le démarrage.

Dans les environnements professionnels, Secure Boot fonctionne souvent avec une composante matérielle spécifique : le Trusted Platform Module (TPM) est une puce spéciale équipant les ordinateurs et les autres appareils avec des fonctionnalités de sécurité considérables. À l’avenir, il est fort probable que la combinaison de Secure Boot et d’une puce TPM assurera la sécurité de tous les PC par défaut.

Si on la compare directement avec la méthode d’amorçage classique des systèmes BIOS Legacy, l’unité opérationnelle composée de l’UEFI et du partitionnement GPT présente notamment les avantages suivants :

  • la possibilité de systèmes multi-amorçage. Plusieurs systèmes d’exploitation disposant de leur propre gestionnaire d’amorçage peuvent ainsi être installés en parallèle. En cas de besoin, le processus d’amorçage peut inclure une sélection et permettre par exemple de démarrer Linux à la place de Windows ;
  • sous Windows, le partitionnement GPT permet jusqu’à 128 partitions primaires (par le passé, ce nombre était limité à quatre) ;
  • pour la première fois, les disques d’amorçage peuvent dépasser la capacité de 2,2 To (qui était l’ancienne limite fixée par les systèmes BIOS Legacy avec Master Boot Record) ;
  • la possibilité d’applications de pré-amorçage (par ex. la consultation et l’utilisation d’outils de diagnostic, de solutions de sauvegarde) ;
  • l’amorçage est plus rapide que dans les systèmes BIOS Legacy.

Inconvénients de l’UEFI

L’Unified Extensible Firmware Interface comporte toutefois aussi des inconvénients : la compatibilité de l’UEFI est limitée puisque seuls les systèmes 64 bits sont supportés. Bien que ces derniers s’imposent de plus en plus comme la norme, les systèmes 32 bits sont encore largement répandus, notamment dans les systèmes Windows. Cette compatibilité limitée est due à l’étroite imbrication de la technologie d’amorçage avec le partitionnement spécial du volume du système de démarrage (disque d’amorçage). La combinaison de l’UEFI et du style de partitionnement GPT est uniquement possible au niveau 64 bits. Les ordinateurs moins récents, dotés de systèmes d’exploitation fonctionnant sur une base 32 bits et utilisant un système BIOS Legacy ne maîtrisent pas le démarrage des disques durs avec une partition GPT.

Afin d’augmenter la compatibilité de l’UEFI, on a recours au Compatibility Support Module (CSM). Ce module est par exemple utilisé lorsque les versions 32 bits de Windows 7 ou 8 doivent fonctionner sur un matériel UEFI moderne. Par ailleurs, le CSM permet de combiner des systèmes d’exploitation sur un ordinateur. Dans un système multi-amorçage, outre les systèmes d’exploitation fonctionnant avec une UEFI, il est également possible de démarrer des systèmes d’exploitation plus anciens ne pouvant fonctionner qu’avec des systèmes BIOS Legacy classiques. Dans ce cas, un système d’exploitation 32 bits doit toutefois pouvoir accéder à un support d’amorçage supplémentaire, par exemple à un deuxième disque dur doté de Master Boot Record. Lors du démarrage du PC, le système souhaité est alors sélectionné dans le menu du gestionnaire d’amorçage. D’autres variantes du micrologiciel se chargent de ce processus de façon automatique : dans un premier temps, elles recherchent un chargeur d’amorçage EFI moderne. Si elles ne parviennent pas à le trouver, le module CSM est directement utilisé lors du processus d’amorçage.

La compatibilité avec BIOS Legacy n’est toutefois qu’une solution transitoire. À l’heure actuelle, Intel demande aux fabricants de PC de ne plus implémenter de CSM. Ce processus doit être progressivement supprimé pour réduire le code UEFI-BIOS et baisser ainsi les coûts pour les tests de matériel. D’autre part, les PC amorcés en mode Legacy via le module CSM ne peuvent pas utiliser le Feature Secure Boot spécifique à UEFI et ses mécanismes de protection contre les virus et les manipulations indésirables.

On cite souvent comme inconvénient de l’UEFI un certain risque de sécurité. La connexion directe au réseau dans la phase d’amorçage permet à des programmes malveillants d’accéder à l’ordinateur avant que les mécanismes de protection du système d’exploitation ne soient activés. Ce danger est bien réel : en 2014, une première faille de sécurité a été découverte dans l’interface. En 2018, les experts ont identifié le premier virus UEFI dans la nature (c’est-à-dire en dehors des expériences en laboratoires), à savoir LoJax.