Interfase Extensible de Firmware Unificado


La Interfaz de firmware extensible unificada ( UEFI ) [1] es una especificación disponible públicamente que define una interfaz de software entre un sistema operativo y el firmware de la plataforma . UEFI reemplaza la interfaz de firmware del sistema básico de entrada / salida ( BIOS ) heredada originalmente presente en todas las computadoras personales IBM compatibles con PC , [2] [3] con la mayoría de las implementaciones de firmware UEFI que brindan soporte para los servicios de BIOS heredados. UEFI puede admitir diagnósticos remotos y reparación de computadoras, incluso sin un sistema operativo instalado. [4]

Intel desarrolló las especificaciones originales de Interfaz de firmware extensible ( EFI ). Algunas de las prácticas y formatos de datos de EFI reflejan los de Microsoft Windows . [5] [6] En 2005, UEFI dejó de utilizar EFI 1.10 (la versión final de EFI). El Unified EFI Forum es el organismo de la industria que gestiona las especificaciones UEFI en todo momento.

La motivación original para EFI surgió durante el desarrollo temprano de los primeros sistemas Intel-HP Itanium a mediados de la década de 1990. Las limitaciones del BIOS (como el modo real de 16 bits , 1 MB de espacio de memoria direccionable, [7] programación en lenguaje ensamblador y hardware PC AT ) se habían vuelto demasiado restrictivas para las plataformas de servidor más grandes a las que se dirigía Itanium. [8] El esfuerzo para abordar estas preocupaciones comenzó en 1998 y se llamó inicialmente Intel Boot Initiative . [9] Más tarde se le cambió el nombre a Interfaz de firmware extensible (EFI). [10] [11]

En julio de 2005, Intel dejó de desarrollar la especificación EFI en la versión 1.10 y la contribuyó al Unified EFI Forum , que ha desarrollado la especificación como Unified Extensible Firmware Interface (UEFI). La especificación EFI original sigue siendo propiedad de Intel, que proporciona licencias exclusivamente para productos basados ​​en EFI, pero la especificación UEFI es propiedad de UEFI Forum. [8] [12]

La versión 2.0 de la especificación UEFI se publicó el 31 de enero de 2006. Agregó criptografía y seguridad. La versión 2.1 de la especificación UEFI se publicó el 7 de enero de 2007. Agregó la autenticación de red y la arquitectura de la interfaz de usuario ('Infraestructura de interfaz humana' en UEFI).

La primera implementación UEFI de código abierto , Tiano, fue lanzada por Intel en 2004. Desde entonces, Tiano ha sido reemplazado por EDK [14] y EDK2 [15] y ahora es mantenido por la comunidad TianoCore. [dieciséis]


Posición de EFI en la pila de software
Ejemplo de variables UEFI
Interacción entre el administrador de arranque EFI y los controladores EFI
Proceso de arranque
Ejemplo de un arranque seguro activo detectado por rEFInd boot manager
Ejemplo de una sesión UEFI shell 2.2
InsydeH2O, una implementación de UEFI
Ejemplos de claves públicas personalizadas de arranque seguro
MokManager, una parte del gestor de arranque Shim