
La Interfaz de Firmware Extensible Unificada o UEFI [ c ] [ d ] es una especificación para la arquitectura de firmware de una plataforma informática . Cuando se enciende un ordenador , la implementación UEFI normalmente se ejecuta primero, antes de que se cargue el sistema operativo o cualquier otro programa. Algunos ejemplos son AMI Aptio , Phoenix SecureCore , TianoCore EDK II e InsydeH2O .
UEFI reemplaza la BIOS que estaba presente en la ROM de arranque de todos los ordenadores personales compatibles con IBM PC , [ 3 ] [ 4 ] aunque puede proporcionar retrocompatibilidad con la BIOS mediante el arranque CSM . A diferencia de la BIOS, que fue desarrollada originalmente por IBM como una arquitectura propietaria, la especificación UEFI es gestionada por un consorcio industrial. La mayoría de las implementaciones de firmware de producción para ambas siguen siendo propietarias.
Intel desarrolló la especificación original de la Interfaz de Firmware Extensible ( EFI ). La última versión de EFI de Intel fue la 1.10, lanzada en 2005. Las versiones posteriores se han desarrollado como UEFI por el Foro UEFI .
UEFI es independiente de la plataforma y del lenguaje de programación, pero se utiliza C para la implementación de referencia TianoCore EDKII.
Historia
La motivación original para EFI surgió durante el desarrollo inicial de los primeros sistemas Intel-HP Itanium a mediados de la década de 1990. Las limitaciones de la BIOS se habían vuelto demasiado restrictivas para las plataformas de servidores más grandes a las que estaba dirigido Itanium. [ 5 ] El esfuerzo para abordar estas preocupaciones comenzó en 1998 y se denominó inicialmente Iniciativa de arranque de Intel . [ 6 ] Posteriormente se le cambió el nombre a Interfaz de firmware extensible (EFI). [ 7 ] [ 6 ]
La primera implementación UEFI de código abierto , Tiano, fue lanzada por Intel en 2004. Desde entonces, Tiano ha sido reemplazada por EDK [ 8 ] y EDK II [ 9 ] y ahora es mantenida por la comunidad TianoCore. [ 10 ]
En julio de 2005, Intel cesó el desarrollo de la especificación EFI en la versión 1.10 y la cedió al Foro Unificado EFI , que la desarrolló como la Interfaz de Firmware Extensible Unificada (UEFI). La especificación EFI original sigue siendo propiedad de Intel, que proporciona exclusivamente licencias para productos basados en EFI, pero la especificación UEFI es propiedad del Foro UEFI. [ 5 ] [ 11 ]
La versión 2.0 de la especificación UEFI se publicó el 31 de enero de 2006. En ella se añadieron funciones de criptografía y seguridad .
La versión 2.1 de la especificación UEFI se publicó el 7 de enero de 2007. En ella se añadieron la autenticación de red y la arquitectura de interfaz de usuario ("Infraestructura de Interfaz Humana" en UEFI).
La versión 2.3.1 de la especificación UEFI se publicó el 6 de abril de 2011. En ella se añadió el arranque seguro (Secure Boot), así como la compatibilidad con la arquitectura ARM .
En octubre de 2018, Arm presentó Arm ServerReady, un programa de certificación de cumplimiento diseñado para garantizar que los sistemas operativos y los hipervisores estándar se ejecuten en servidores basados en Arm. El programa requiere que el firmware del sistema cumpla con los Requisitos de Arranque Base del Servidor (SBBR). SBBR requiere el cumplimiento de UEFI, ACPI y SMBIOS . En octubre de 2020, Arm anunció la extensión del programa al mercado de edge e IoT . El nuevo nombre del programa es Arm SystemReady . Arm SystemReady definió la especificación de Requisitos de Arranque Base ( BBR ) que actualmente proporciona tres recetas, dos de las cuales están relacionadas con UEFI: 1) SBBR: que requiere el cumplimiento de UEFI, ACPI y SMBIOS adecuado para entornos operativos de nivel empresarial como Windows, Red Hat Enterprise Linux y VMware ESXi; y 2) EBBR: que requiere el cumplimiento de un conjunto de interfaces UEFI según lo definido en los Requisitos de Arranque Base Integrados ( EBBR ) adecuado para entornos integrados como Yocto. Muchas distribuciones de Linux y BSD pueden admitir ambas recetas.
En diciembre de 2018, Microsoft anunció Project Mu, una bifurcación de TianoCore EDK II utilizada en los productos Microsoft Surface y Hyper-V . El proyecto incorpora un modelo de entrega de firmware basado en servicios. [ 12 ]
La última especificación UEFI, versión 2.11, se publicó en diciembre de 2024. [ 13 ]
Compatibilidad
Compatibilidad del procesador
UEFI admite arquitecturas de procesador de 32 bits o superiores. Sin embargo, solo se admiten procesadores con modo little-endian . [ 13 ] : sección 1.9.1 La especificación UEFI, versión 2.11, tiene documentación oficial para las siguientes arquitecturas de procesador: [ 13 ] : sección 3.5.1.1
- x86 ( IA-32 , x86-64 )
- Itanium ( IA-64 )
- ARM ( AArch32 , AArch64 )
- RISC-V (32 bits, 64 bits, 128 bits)
- LoongArch (32 bits, 64 bits)
Se está desarrollando soporte UEFI no oficial para POWERPC64 mediante la implementación de TianoCore EDK II sobre OPAL, [ 14 ] la capa de abstracción OpenPOWER, que se ejecuta en modo little-endian. [ 15 ] Para MIPS , también existe un proyecto no oficial, basado en el EDK original. [ 16 ] [ 17 ] Sin embargo, ambos proyectos fueron abandonados en noviembre de 2016 y septiembre de 2015, respectivamente.
UEFI solo permite ejecutar aplicaciones UEFI que coincidan con la arquitectura del firmware, incluso si el procesador admite arquitecturas más pequeñas o más grandes. Por ejemplo, un firmware UEFI de 64 bits solo puede ejecutar aplicaciones UEFI de 64 bits, incluso si el procesador tiene un modo de procesador de 32 bits. [ 13 ] : secciones 2.3.2 y 2.3.4 Algunos ordenadores de gama baja se han distribuido con firmware UEFI de 32 bits ejecutándose en CPU de 64 bits. [ 18 ] Una vez que una aplicación UEFI finaliza los servicios de arranque y obtiene el control total del sistema, es posible cambiar el modo de ejecución del procesador. [ 13 ] : secciones 2.3.2 y 2.3.4 Sin embargo, llamar a los servicios de tiempo de ejecución requiere volver brevemente al modo de procesador original, [ 19 ] ya que los servicios de tiempo de ejecución solo se pueden llamar desde el mismo modo de procesador que la implementación del firmware. [ 13 ] : secciones 2.3.2 y 2.3.4
El kernel de Linux agregó soporte para arrancar kernels de 64 bits en implementaciones de firmware UEFI de 32 bits con CPU x86-64 desde la versión 3.15, lo que requiere que el cargador de arranque UEFI admita el protocolo de transferencia EFI. [ 20 ] El protocolo de transferencia EFI permite que los cargadores de arranque UEFI difieran la inicialización UEFI al stub de arranque EFI del kernel, de modo que solo el kernel realiza la inicialización UEFI. [ 21 ] [ 22 ] [ 23 ]
Compatibilidad con dispositivos de disco
Además del esquema de partición de disco estándar de PC que utiliza un registro de arranque maestro (MBR), UEFI también funciona con el esquema de partición de tabla de partición GUID (GPT), que está libre de muchas de las limitaciones de MBR . En particular, se relajan los límites de MBR en cuanto al número y tamaño de las particiones de disco (hasta cuatro particiones primarias por disco y hasta 2 TB (2 × 2 40 bytes ) por disco). Más específicamente, GPT permite un tamaño máximo de disco y partición de 8 ZiB (8 × 2 70 bytes) con sectores de 512 bytes. [ 24 ] La especificación UEFI solo admite particiones FAT12 / 16 / 32 [ 13 ] : sección 13.3 que se encuentran en discos GPT o MBR, así como discos ópticos formateados en El Torito . [ 13 ] : sección 13.3.2 Aunque GPT es parte del estándar UEFI, también puede ser utilizado por PCs con BIOS para arrancar un sistema operativo. [ 24 ] [ 25 ]
Linux
La compatibilidad con GPT en Linux se habilita activando la opción CONFIG_EFI_PARTITION(EFI GUID Partition Support) durante la configuración del kernel. [ 26 ] Esta opción permite que Linux reconozca y utilice discos GPT después de que el firmware del sistema le ceda el control del sistema a Linux.
Para la compatibilidad inversa, Linux puede usar discos GPT en sistemas basados en BIOS tanto para almacenamiento de datos como para arranque, ya que tanto GRUB 2 como Linux son compatibles con GPT. Esta configuración se suele denominar BIOS-GPT . Como GPT incorpora el MBR de protección, un ordenador basado en BIOS puede arrancar desde un disco GPT utilizando un cargador de arranque compatible con GPT almacenado en el área de código de arranque del MBR de protección . [ 24 ] En el caso de GRUB, esta configuración requiere una partición de arranque de BIOS para que GRUB incruste su código de segunda etapa debido a la ausencia del espacio posterior al MBR en los discos particionados con GPT (que es asumido por el encabezado primario y la tabla de partición primaria de GPT ). Generalmente de 1 MB de tamaño, el identificador único global (GUID) de esta partición en el esquema GPT es 21686148-6449-6E6F-744E-656564454649 y GRUB solo la utiliza en configuraciones BIOS-GPT. Desde la perspectiva de GRUB, no existe tal tipo de partición en el caso de particionamiento MBR. Esta partición no es necesaria si el sistema se basa en UEFI, ya que en ese caso no se requiere la incrustación del código de la segunda etapa. [ 25 ] [ 24 ]
Los sistemas UEFI pueden acceder a discos GPT y arrancar directamente desde ellos, lo que permite a Linux usar métodos de arranque UEFI. Arrancar Linux desde discos GPT en sistemas UEFI implica la creación de una partición del sistema EFI (ESP), que contiene aplicaciones UEFI como gestores de arranque, núcleos del sistema operativo y software de utilidad. [ 27 ] [ 28 ] Esta configuración se suele denominar UEFI-GPT , y se recomienda que la ESP tenga un tamaño mínimo de 512 MB y esté formateada con un sistema de archivos FAT32 para una máxima compatibilidad. [ 24 ]
Para garantizar la compatibilidad con versiones anteriores , algunas implementaciones de UEFI también admiten el arranque desde discos con particiones MBR mediante el Módulo de Compatibilidad (CSM), que proporciona compatibilidad con BIOS heredada. En ese caso, el arranque de Linux en sistemas UEFI es el mismo que en sistemas con BIOS heredada.
Microsoft Windows
Windows 11 , las versiones de 64 bits de Windows Vista SP1/SP2 y 7 , y las versiones de 32 y 64 bits de Windows 8 , 8.1 y 10 pueden arrancar desde un disco GPT de más de 2 TB .
Características
Servicios
EFI define dos tipos de servicios: servicios de arranque y servicios de tiempo de ejecución . Los servicios de arranque solo están disponibles mientras el firmware controla la plataforma (es decir, antes de la ExitBootServices()llamada) e incluyen consolas de texto y gráficas en diversos dispositivos, así como servicios de bus, bloques y archivos. Los servicios de tiempo de ejecución siguen estando accesibles mientras el sistema operativo está en funcionamiento; incluyen servicios como el acceso a la fecha, la hora y la NVRAM .
- Servicios del Protocolo de Salida Gráfica (GOP)
- El Protocolo de Salida Gráfica (GOP) proporciona servicios en tiempo de ejecución; véase también la sección de características gráficas más abajo. El sistema operativo puede escribir directamente en el framebuffer y realizar la transferencia de bits proporcionada por GOP durante el modo de ejecución. [ 29 ]
- Servicios de mapeo de memoria UEFI
- Servicios de marketing en redes sociales
- Servicios ACPI
- Servicios SMBIOS
- Servicios Devicetree (para procesadores RISC)
- Servicios variables
- Las variables UEFI proporcionan una forma de almacenar datos, en particular datos no volátiles. Algunas variables UEFI se comparten entre el firmware de la plataforma y los sistemas operativos. Los espacios de nombres de las variables se identifican mediante GUID, y las variables son pares clave/valor. Por ejemplo, las variables UEFI se pueden usar para guardar mensajes de fallo en la NVRAM después de un fallo, para que el sistema operativo los recupere después de un reinicio. [ 30 ]
- Servicios de tiempo
- UEFI proporciona servicios de tiempo. Los servicios de tiempo incluyen soporte para campos de zona horaria y horario de verano, que permiten que el reloj de tiempo real del hardware se configure a la hora local o UTC. [ 13 ] : sección 8.3 En máquinas que utilizan un reloj de tiempo real PC-AT, por defecto el reloj de hardware todavía tiene que estar configurado a la hora local para compatibilidad con Windows basado en BIOS, [ 31 ] a menos que se utilicen versiones recientes y se haya configurado una entrada en el registro de Windows para indicar el uso de UTC.
Aplicaciones
UEFI ejecuta programas independientes conocidos como aplicaciones UEFI, que se almacenan como archivos en la partición del sistema EFI. Estas se pueden iniciar a través de la consola UEFI, el gestor de arranque del firmware u otras aplicaciones UEFI, y pueden desarrollarse independientemente del fabricante del equipo original (OEM).
Un tipo de aplicación UEFI es un gestor de arranque del sistema operativo, como GRUB , rEFInd , systemd-boot y el Administrador de arranque de Windows , que carga archivos del sistema operativo en la memoria y los ejecuta. Además, un gestor de arranque del sistema operativo puede proporcionar una interfaz de usuario para seleccionar otra aplicación UEFI que se ejecutará. Utilidades como la consola UEFI también son aplicaciones UEFI.
Protocolos
EFI define los protocolos como un conjunto de interfaces de software utilizadas para la comunicación entre dos módulos binarios. Todos los controladores EFI deben proporcionar servicios a otros a través de protocolos. Los protocolos EFI son similares a las llamadas de interrupción de la BIOS .
Controladores de dispositivos
Además de los controladores de dispositivo específicos de la arquitectura del conjunto de instrucciones estándar ( ISA), EFI proporciona un controlador de dispositivo independiente de la ISA almacenado en memoria no volátil como código de bytes EFI o EBC . El firmware del sistema cuenta con un intérprete para imágenes EBC. En ese sentido, EBC es análogo a Open Firmware , el firmware independiente de la ISA utilizado en los ordenadores Apple Macintosh basados en PowerPC y Sun Microsystems SPARC , entre otros.
Algunos controladores EFI específicos de la arquitectura (sin código de bytes EFI) para ciertos tipos de dispositivos pueden tener interfaces que el sistema operativo puede utilizar. Esto permite que el sistema operativo dependa de EFI para que los controladores realicen funciones básicas de gráficos y red antes de que se carguen los controladores específicos del sistema operativo, si es que se cargan.
En otros casos, el controlador EFI puede ser un controlador de sistema de archivos que permite arrancar desde otros tipos de volúmenes de disco. Algunos ejemplos incluyen efifs para 37 sistemas de archivos (basados en el código GRUB2 ), [ 32 ] utilizados por Rufus para la carga en cadena de ESP NTFS. [ 33 ]
Características gráficas
La especificación EFI 1.0 definió un protocolo UGA (Adaptador Gráfico Universal) como una forma de admitir funciones gráficas. UEFI no incluyó UGA y lo reemplazó con GOP (Protocolo de Salida Gráfica) . [ 34 ]
UEFI 2.1 definió una "Infraestructura de Interfaz Humana" (HII) para gestionar la entrada del usuario, las cadenas localizadas, las fuentes y los formularios (en el sentido HTML ). Esto permite a los fabricantes de equipos originales (OEM) o a los proveedores independientes de BIOS (IBV) diseñar interfaces gráficas para la configuración previa al arranque. UEFI utiliza UTF-16 para codificar cadenas de forma predeterminada; desde al menos UEFI 2.4, permite usar ASCII para codificar cadenas que solo contienen caracteres ASCII.
La mayoría de las primeras implementaciones de firmware UEFI se basaban en la consola. Hoy en día, muchas implementaciones de firmware UEFI se basan en la interfaz gráfica de usuario (GUI).
partición del sistema EFI
Una partición del sistema EFI, a menudo abreviada como ESP, es una partición de dispositivo de almacenamiento de datos que se utiliza en computadoras que se adhieren a la especificación UEFI. Accedida por el firmware UEFI cuando se enciende una computadora, almacena aplicaciones UEFI y los archivos que estas aplicaciones necesitan para ejecutarse, incluidos los cargadores de arranque del sistema operativo. Los esquemas de tabla de partición compatibles incluyen MBR y GPT , así como volúmenes El Torito en discos ópticos. [ 13 ] : sección 2.6.2 Para su uso en ESP, UEFI define una versión específica del sistema de archivos FAT , que se mantiene como parte de la especificación UEFI e independientemente de la especificación FAT original, abarcando los sistemas de archivos FAT32 , FAT16 y FAT12 . [ 13 ] : sección 13.3 [ 35 ] La ESP también proporciona espacio para un sector de arranque como parte de la compatibilidad retroactiva de BIOS.
Arranque
Los ordenadores se inician mediante un proceso denominado arranque : el ordenador carga su software operativo mediante un programa muy pequeño integrado en el hardware, que normalmente carga otro programa, también pequeño, para cargar e iniciar el sistema operativo (SO).
arranque UEFI
A diferencia de la BIOS tradicional de los PC, UEFI no depende de sectores de arranque en el almacenamiento de datos del equipo, sino que define un gestor de arranque como parte de la especificación UEFI. Al encender el equipo, el gestor de arranque comprueba la configuración de arranque y, en función de ella, ejecuta el cargador de arranque o el núcleo del sistema operativo especificado . La configuración de arranque se define mediante variables almacenadas en la memoria NVRAM persistente del equipo , incluidas variables que indican las rutas del sistema de archivos a los cargadores o núcleos del sistema operativo.
Los cargadores de arranque del sistema operativo pueden ser detectados automáticamente por UEFI, lo que permite un arranque sencillo desde dispositivos extraíbles como unidades flash USB . Esta detección automatizada se basa en rutas de archivo estandarizadas al cargador de arranque del sistema operativo, y la ruta varía según la arquitectura del ordenador . El formato de la ruta de archivo se define como <PARTICIÓN_DEL_SISTEMA_EFI>\EFI\BOOT\BOOT<NOMBRE_CORTO_DEL_TIPO_DE_MÁQUINA>.EFI ; por ejemplo, la ruta de archivo al cargador del sistema operativo en un sistema x86-64 es \efi\boot\bootx64.efi , [ 13 ] : sección 3.5.1.1 y \efi\boot\bootaa64.efi en la arquitectura ARM64.

El arranque de sistemas UEFI desde discos particionados con GPT se denomina comúnmente arranque UEFI-GPT , aunque la especificación UEFI requiere que las tablas de partición MBR sean totalmente compatibles. [ 13 ] : sección 13.3.2 Algunas implementaciones de firmware UEFI cambian inmediatamente al arranque CSM basado en BIOS dependiendo del tipo de tabla de partición del disco de arranque, lo que impide efectivamente el arranque UEFI desde una partición del sistema EFI en discos particionados con MBR; este esquema de arranque se denomina comúnmente UEFI-MBR .
También es habitual que un gestor de arranque disponga de una interfaz de usuario textual que permita al usuario seleccionar el sistema operativo (o la utilidad de configuración) deseado de una lista de opciones de arranque disponibles.
En las plataformas de PC, el firmware que admite el arranque UEFI se suele denominar "UEFI BIOS", aunque algunas plataformas x86 más recientes excluyen por completo la compatibilidad con CSM.
Arranque de CSM
Para garantizar la compatibilidad con versiones anteriores, las implementaciones de firmware UEFI en equipos de clase PC podrían admitir el arranque en modo BIOS heredado desde discos particionados con MBR a través del Módulo de Soporte de Compatibilidad (CSM), que proporciona compatibilidad con BIOS heredado. En este caso, el arranque se realiza de la misma manera que en los sistemas basados en BIOS heredado, ignorando la tabla de particiones y basándose en el contenido de un sector de arranque .
El Módulo de Compatibilidad permite que se sigan utilizando sistemas operativos heredados y algunas ROM de opción heredadas que no son compatibles con UEFI. [ 36 ] También proporciona la funcionalidad necesaria del Modo de Administración del Sistema (SMM) heredado (CompatibilitySmm) además de las características proporcionadas por el SMM UEFI. Un ejemplo de dicha funcionalidad SMM heredada es proporcionar compatibilidad con USB heredado para teclado y ratón, emulando sus contrapartes clásicas PS/2 . [ 36 ]
En noviembre de 2017, Intel anunció que planeaba eliminar gradualmente el soporte para CSM en plataformas de clientes para 2020. [ 37 ]
En julio de 2022, Kaspersky Labs publicó información sobre un rootkit diseñado para encadenar código malicioso de arranque en máquinas que utilizan el chipset H81 de Intel y el módulo de compatibilidad de las placas base afectadas. [ 38 ]
En agosto de 2023, Intel anunció que planeaba eliminar gradualmente el soporte de CSM para plataformas de servidores para 2024. [ 39 ]
Arranque de red
La especificación UEFI incluye soporte para el arranque a través de la red mediante el Entorno de Ejecución de Prearranque (PXE). Los protocolos de red de arranque PXE incluyen el Protocolo de Internet ( IPv4 e IPv6 ), el Protocolo de Datagramas de Usuario (UDP), el Protocolo de Configuración Dinámica de Host (DHCP), el Protocolo de Transferencia de Archivos Trivial (TFTP) e iSCSI . [ 13 ] : 924–1509 [ 40 ]
Las imágenes del sistema operativo se pueden almacenar de forma remota en redes de área de almacenamiento (SAN), con Internet Small Computer System Interface (iSCSI) y Fibre Channel over Ethernet (FCoE) como protocolos compatibles para acceder a las SAN. [ 13 ] [ 41 ] [ 42 ]
La versión 2.5 de la especificación UEFI añade soporte para acceder a las imágenes de arranque a través de HTTP . [ 43 ]
Arranque seguro

La especificación UEFI define un Arranque Seguro que protege el proceso de arranque impidiendo la carga de controladores UEFI o cargadores de arranque del sistema operativo que no estén firmados con una firma digital aceptable . Cuando se habilita el Arranque Seguro, inicialmente se coloca en modo "configuración", lo que permite escribir una clave pública conocida como "clave de plataforma" (PK) en el firmware. Una vez escrita la clave, el Arranque Seguro entra en modo "Usuario", donde solo los controladores UEFI y los cargadores de arranque del sistema operativo firmados con la clave de plataforma pueden ser cargados por el firmware. Se pueden agregar "claves de intercambio de claves" (KEK) adicionales a una base de datos almacenada en memoria para permitir el uso de otros certificados, pero estos deben seguir estando conectados a la parte privada de la clave de plataforma. [ 44 ] El Arranque Seguro también puede colocarse en modo "Personalizado", donde se pueden agregar claves públicas adicionales al sistema que no coincidan con la clave privada. [ 45 ]
El arranque seguro es compatible con Windows 8 y 8.1 , Windows Server 2012 y 2012 R2, Windows 10 , Windows Server 2016 , 2019 y 2022 , y Windows 11 , VMware vSphere 6.5 [ 46 ] y varias distribuciones de Linux , incluidas Fedora (desde la versión 18), openSUSE (desde la versión 12.3), RHEL (desde la versión 7), CentOS (desde la versión 7 [ 47 ] ), Debian (desde la versión 10) [ 48 ] , Ubuntu (desde la versión 12.04.2), Linux Mint (desde la versión 21.3) [ 49 ] [ 50 ] y AlmaLinux OS (desde la versión 8.4 [ 51 ] ). A partir de enero de 2025 , el soporte para FreeBSD está en su etapa de planificación. [ 52 ]
shell UEFI

UEFI proporciona un entorno de shell que se puede usar para ejecutar otras aplicaciones UEFI, incluidos los cargadores de arranque UEFI . Además, los comandos disponibles en el shell UEFI se pueden usar para obtener diversa información sobre el sistema o el firmware, incluyendo obtener el mapa de memoria ( ), modificar variables del administrador de arranque ( ), ejecutar programas de particionamiento ( ), cargar controladores UEFI y editar archivos de texto ( ). [ 53 ] [ 54 ]memmapbcfgdiskpartedit
El código fuente para un shell UEFI se puede descargar del proyecto TianoCore UDK/EDK2 de Intel . [ 55 ] También está disponible un ShellBinPkg precompilado. [ 56 ] Shell v2 funciona mejor en sistemas UEFI 2.3+ y se recomienda sobre Shell v1 en esos sistemas. Shell v1 debería funcionar en todos los sistemas UEFI. [ 57 ] [ 58 ]
Los métodos utilizados para iniciar el shell UEFI dependen del fabricante y modelo de la placa base del sistema . Algunos ya proporcionan una opción directa en la configuración del firmware para iniciarlo, por ejemplo, la versión compilada x86-64 del shell debe estar disponible como <EFI_SYSTEM_PARTITION>/SHELLX64.EFI. Otros sistemas tienen un shell UEFI ya integrado que se puede iniciar mediante combinaciones de teclas apropiadas. [ 59 ] Para otros sistemas, la solución es crear una unidad flash USB apropiada o agregar manualmente ( bcfg) una opción de arranque asociada con la versión compilada del shell. [ 54 ]
Comandos
A continuación se muestra una lista de comandos compatibles con el shell EFI. [ 53 ]
Extensiones
Las extensiones de UEFI se pueden cargar desde prácticamente cualquier dispositivo de almacenamiento no volátil conectado al ordenador. Por ejemplo, un fabricante de equipos originales (OEM) puede distribuir sistemas con una partición de sistema EFI en el disco duro, lo que añadiría funciones adicionales al firmware UEFI estándar almacenado en la ROM de la placa base .
Cápsula UEFI
UEFI Capsule define una interfaz de actualización de firmware a firmware del sistema operativo. [ 60 ] Windows 8 , Windows 8.1 , Windows 10 , [ 61 ] y Fwupd para Linux son compatibles con UEFI Capsule.
Hardware
Al igual que BIOS , UEFI inicializa y prueba los componentes de hardware del sistema y luego carga el cargador de arranque desde un dispositivo de almacenamiento masivo o a través de una conexión de red . En los sistemas x86 , el firmware UEFI generalmente se almacena en el chip de memoria flash NOR de la placa base, y el proceso de arranque es más complejo, por ejemplo, la detección e inicialización de dispositivos PCI Express . [ 62 ] [ 63 ] En algunos dispositivos Android y Windows Phone basados en ARM, el cargador de arranque UEFI se almacena en la memoria flash eMMC o eUFS .
Clases
Las máquinas UEFI pueden tener una de las siguientes clases, que se utilizaron para facilitar la transición a UEFI: [ 64 ]
- Clase 0: BIOS heredada
- Clase 1: UEFI con interfaz CSM y sin interfaz UEFI externa. Las únicas interfaces UEFI son internas al firmware.
- Clase 2: UEFI con CSM e interfaces UEFI externas, por ejemplo, arranque UEFI.
- Clase 3: UEFI sin interfaz CSM y con interfaz UEFI externa.
- Clase 3+: UEFI clase 3 que tiene Secure Boot habilitado. [ 65 ]
A partir de la décima generación de procesadores Intel Core, Intel ya no proporciona BIOS de vídeo heredada para la iGPU ( Intel Graphics Technology ). El arranque heredado con estos procesadores requiere una BIOS de vídeo heredada, que aún puede ser proporcionada por una tarjeta gráfica.
Etapas de arranque
SEC – Fase de Seguridad
Esta es la primera etapa del arranque UEFI, pero puede tener un código binario específico de la plataforma que la precede (por ejemplo, Intel ME , AMD PSP , microcódigo de CPU ). Consiste en un código mínimo escrito en lenguaje ensamblador para la arquitectura específica. Inicializa una memoria temporal (a menudo caché de CPU como RAM (CAR) o procesador de arranque integrado en el SoC ) y actúa como raíz de confianza del software del sistema, con la opción de verificar el PEI antes de la transferencia.
Responsabilidades
- Inicialización de la memoria temporal para la siguiente etapa, PEI.
- Raíz de confianza, mediante la verificación de la integridad de PEI.
- Se transfiere la información a la fundación PEI. Esta información incluye la ubicación y el tamaño de la memoria temporal, la ubicación y el tamaño de la pila y el estado de la plataforma.
PEI – Inicialización previa a la EFI
La segunda etapa del arranque UEFI consiste en un despachador que tiene en cuenta las dependencias y que carga y ejecuta módulos PEI (PEIM) para gestionar las tareas iniciales de inicialización del hardware, como la inicialización de la memoria principal (inicialización del controlador de memoria y la DRAM ) y las operaciones de recuperación del firmware. Además, es responsable de la detección del modo de arranque actual y de la gestión de numerosas operaciones ACPI S3. En el caso de la reanudación ACPI S3, es responsable de restaurar muchos registros de hardware a un estado anterior al modo de suspensión. PEI también utiliza CAR. La inicialización en esta etapa implica la creación de estructuras de datos en la memoria y el establecimiento de valores predeterminados dentro de estas estructuras. [ 2 ]
Esta etapa consta de varios componentes, entre ellos la base PEI, PEIMs y PPI. Debido a la escasez de recursos disponibles, esta etapa debe ser mínima y realizar preparativos mínimos para la siguiente etapa, DXE, que es más completa.
Fundación PEI
Tras la transferencia de la fase SEC, la Fundación PEI asume la responsabilidad de la plataforma. Sus responsabilidades son:
- Despacho exitoso de los PEIM (módulos de inicialización previa a EFI).
- Inicializando la memoria permanente (RAM).
- Pasamos a la siguiente fase, DXE.
- Facilitar la comunicación de los PEIM denominados PPI.
Despachador de PEI
Este componente se encarga de invocar los PEIM y gestionar sus dependencias.
Módulos de inicialización Pre-EFI
Estos son controladores PEI mínimos responsables de la inicialización de componentes de hardware, como la memoria permanente, la CPU, el chipset y la placa base. Cada uno de los PEIM tiene una única función y se centra en una única inicialización. Estos controladores provienen de diferentes proveedores.
Interfaces PEIM a PEIM
Se trata de una estructura de datos compuesta por pares GUID de punteros. Los PPI son descubiertos por los PEIM a través de los servicios PEI.
Tras una inicialización mínima del sistema para DXE, la plataforma PEI localiza y transfiere el control a DXE. La plataforma PEI activa la plataforma DXE mediante un protocolo PPI especial denominado IPL (Carga Inicial del Programa).
DXE – Entorno de ejecución del controlador
Esta etapa consta de módulos C y un despachador que tiene en cuenta las dependencias. Con la memoria principal ya disponible, la CPU, el chipset, la placa base y otros dispositivos de E/S se inicializan en DXE y BDS. La inicialización en esta etapa implica asignar rutas de dispositivos EFI al hardware conectado a la placa base y transferir datos de configuración al hardware. [ 2 ]
BDS – Selección del dispositivo de arranque (Administrador de arranque)
BDS es parte de DXE. [ 66 ] [ 67 ] En esta etapa, se inicializan los dispositivos de arranque, se ejecutan los controladores UEFI o las ROM de opción de los dispositivos PCI de acuerdo con las variables definidas arquitectónicamente llamadas NVRAM , y se inician los cargadores de arranque del sistema operativo (como el Administrador de arranque de Windows ).
TSL – Carga transitoria del sistema
Esta es la etapa entre la selección del dispositivo de arranque y la transferencia al sistema operativo. En este punto, se puede acceder a una consola UEFI o ejecutar una aplicación UEFI, como el gestor de arranque del sistema operativo.
RT – Tiempo de ejecución
La UEFI transfiere el control al sistema operativo (SO) después de que se ejecuta ExitBootServices() . Un SO compatible con UEFI ahora es responsable de salir de los servicios de arranque, lo que activa el firmware para descargar todo el código y los datos que ya no se necesitan, dejando solo el código/datos de los servicios de tiempo de ejecución, por ejemplo, SMM y ACPI . [ 68 ] Un SO moderno típico preferirá usar sus propios programas (como los controladores del kernel ) para controlar los dispositivos de hardware.
Cuando se utiliza un sistema operativo heredado, CSM se encargará de esta llamada, garantizando que el sistema sea compatible con las expectativas del BIOS heredado.
Uso
Implementaciones

La implementación de EFI de Intel es el Intel Platform Innovation Framework , con nombre en clave Tiano . Tiano se ejecuta en los procesadores XScale , Itanium , IA-32 y x86-64 de Intel , y es software propietario, aunque una parte del código se ha publicado bajo la licencia BSD o la Licencia Pública de Eclipse (EPL) como TianoCore EDK II . TianoCore se puede utilizar como carga útil para coreboot . [ 69 ]
La implementación de UEFI de Phoenix Technologies se denomina SecureCore Technology (SCT). [ 70 ] American Megatrends ofrece su propia implementación de firmware UEFI conocida como Aptio, [ 71 ] mientras que Insyde Software ofrece InsydeH2O, [ 72 ] y Byosoft ofrece ByoCore.
En diciembre de 2018, Microsoft lanzó una versión de código abierto de su implementación UEFI basada en TianoCore EDK2 de la línea Surface , Project Mu . [ 73 ]
En 2017 se introdujo una implementación de la API UEFI en el cargador de arranque universal ( Das U-Boot ). [ 74 ] En la arquitectura ARMv8 , las distribuciones de Linux utilizan la implementación UEFI de U-Boot junto con GNU GRUB para el arranque (por ejemplo, SUSE Linux [ 75 ] ), lo mismo ocurre con OpenBSD. [ 76 ] Para arrancar desde iSCSI , se puede utilizar iPXE como una aplicación UEFI cargada por U-Boot. [ 77 ]
Plataformas
Las primeras estaciones de trabajo y servidores Itanium de Intel , lanzados en el año 2000, implementaron EFI 1.02.
Los primeros sistemas Itanium 2 de Hewlett-Packard , lanzados en 2002, implementaban EFI 1.10. Estos sistemas podían arrancar Windows , Linux , FreeBSD y HP-UX . OpenVMS añadió la capacidad UEFI en junio de 2003.
En enero de 2006, Apple Inc. lanzó sus primeras computadoras Macintosh con procesador Intel . Estos sistemas utilizaban EFI en lugar de Open Firmware , que se había utilizado en sus sistemas anteriores basados en PowerPC. [ 78 ] El 5 de abril de 2006, Apple lanzó Boot Camp , que genera un disco de controladores de Windows y una herramienta de particionamiento no destructiva para permitir la instalación de Windows XP o Vista sin necesidad de reinstalar Mac OS X (ahora macOS). También se lanzó una actualización de firmware que agregó compatibilidad con BIOS a su implementación de EFI. Los modelos Macintosh posteriores se lanzaron con el firmware más reciente. [ 79 ]
Durante 2005, se enviaron más de un millón de sistemas Intel con la implementación de UEFI de Intel. [ 80 ] En 2006, comenzaron a enviarse nuevos productos móviles, de escritorio y de servidor que utilizaban la implementación de UEFI de Intel. Por ejemplo, las placas que utilizan la serie de chipsets Intel 945 utilizan la implementación de firmware UEFI de Intel.
Desde 2005, EFI también se ha implementado en arquitecturas que no son de PC, como sistemas embebidos basados en núcleos XScale . [ 80 ]
El EDK (EFI Developer Kit) incluye un objetivo NT32, que permite ejecutar firmware y aplicaciones EFI dentro de una aplicación de Windows . Sin embargo, el EDK NT32 no permite el acceso directo al hardware. Esto significa que solo un subconjunto de las aplicaciones y controladores EFI puede ejecutarse en el objetivo EDK NT32.
En 2008, más sistemas x86-64 adoptaron UEFI. Si bien muchos de estos sistemas aún permiten arrancar únicamente los sistemas operativos basados en BIOS mediante el Módulo de Compatibilidad (CSM) (por lo que no parecen ser UEFI para el usuario), otros sistemas comenzaron a permitir el arranque de sistemas operativos basados en UEFI. Por ejemplo, el servidor IBM x3450, las placas base MSI con ClickBIOS y los portátiles HP EliteBook.
En 2009, IBM lanzó al mercado máquinas System x (x3550 M2, x3650 M2, iDataPlex dx360 M2) y BladeCenter HS22 con capacidad UEFI. Dell lanzó servidores PowerEdge T610, R610, R710, M610 y M710 con capacidad UEFI. En un documento técnico sobre UEFI se mencionan otros sistemas disponibles comercialmente. [ 81 ]
En 2011, los principales proveedores (como ASRock , Asus , Gigabyte y MSI ) lanzaron varias placas base orientadas al consumidor que utilizaban el chipset Intel serie 6 LGA 1155 y los chipsets AMD serie 9 AM3+ con UEFI. [ 82 ]
Con el lanzamiento de Windows 8 en octubre de 2012, los requisitos de certificación de Microsoft ahora exigen que los equipos incluyan firmware que implemente la especificación UEFI. Además, si el equipo admite la función " Connected Standby " de Windows 8 (que permite que los dispositivos tengan una administración de energía comparable a la de los teléfonos inteligentes , con un retorno casi instantáneo del modo de espera), entonces el firmware no puede contener un Módulo de Compatibilidad (CSM). Por lo tanto, los sistemas que admiten Connected Standby no pueden arrancar sistemas operativos BIOS heredados. [ 83 ] [ 84 ]
En octubre de 2017, Intel anunció que eliminaría la compatibilidad con BIOS de PC heredada de todos sus productos para 2020, en favor de UEFI Clase 3. [ 85 ] Para 2019, todos los ordenadores basados en plataformas Intel ya no tienen compatibilidad con BIOS de PC heredada.
Sistemas operativos
Un sistema operativo que puede arrancar desde (U)EFI se llama sistema operativo compatible con (U)EFI, definido por la especificación (U)EFI. Aquí, el término arrancar desde un (U)EFI significa arrancar directamente el sistema usando un cargador de sistema operativo (U)EFI almacenado en cualquier dispositivo de almacenamiento. La ubicación predeterminada para el cargador del sistema operativo es <EFI_SYSTEM_PARTITION>/BOOT/BOOT<MACHINE_TYPE_SHORT_NAME>.EFI, donde el nombre corto del tipo de máquina puede ser IA32, X64, IA64, ARMo AA64. [ 13 ] : sección 3.5.1.1 Algunos proveedores de sistemas operativos pueden tener sus propios cargadores de arranque. También pueden cambiar la ubicación de arranque predeterminada.
- El kernel de Linux ha podido usar EFI en el momento del arranque desde principios de la década de 2000, [ 86 ] usando el cargador de arranque EFI elilo y, más recientemente, versiones EFI de GRUB [ 87 ] o systemd-boot . Grub+Linux también admite el arranque desde una tabla de particiones GUID sin UEFI. [ 25 ] La distribución Ubuntu agregó soporte para UEFI Secure Boot a partir de la versión 12.10. [ 88 ] El kernel de Linux se puede compilar con la opción de ejecutarse como un cargador de arranque EFI por sí mismo a través de la función EFI boot stub. En el kernel de Linux, se puede usar con UEFI tanto el protocolo ACPI (generalmente usado en máquinas compatibles con PC) como el protocolo DeviceTree (generalmente usado en teléfonos inteligentes y tabletas). [ 89 ]
- HP-UX utiliza (U)EFI como mecanismo de arranque en sistemas IA-64 desde 2002.
- OpenVMS ha utilizado EFI en IA-64 desde su lanzamiento inicial de evaluación en diciembre de 2003, y para lanzamientos de producción desde enero de 2005. [ 90 ] OpenVMS en x86-64 también utiliza UEFI para arrancar el sistema operativo. [ 91 ]
- Apple utiliza EFI para su línea de Macs basadas en Intel . Mac OS X v10.4 Tiger y Mac OS X v10.5 Leopard implementan EFI v1.10 en modo de 32 bits incluso en CPUs de 64 bits, pero la compatibilidad total llegó con OS X v10.8 Mountain Lion . [ 92 ]
- Las versiones Itanium de Windows 2000 (Advanced Server Limited Edition y Datacenter Server Limited Edition; basadas en el código fuente de la versión preliminar de Windows Server 2003 ) implementaron EFI 1.10 en 2002. Windows XP 64-bit Edition , Windows 2000 Advanced Server Limited Edition (versión preliminar de Windows Server 2003) y Windows Server 2003 para IA-64 , todos ellos para la familia de procesadores Intel Itanium , implementan EFI, un requisito de la plataforma según la especificación DIG64 . [ 93 ]
- Microsoft introdujo UEFI para sistemas operativos Windows x64 con Windows Vista SP1 [ 94 ] y Windows Server 2008, sin embargo, solo se admite UGA (Adaptador Gráfico Universal) 1.1 o Legacy BIOS INT 10h ; el Protocolo de Salida de Gráficos (GOP) no es compatible. Por lo tanto, las PC que ejecutan versiones de 64 bits de Windows Vista SP1 , Windows Vista SP2 , Windows 7 , Windows Server 2008 y Windows Server 2008 R2 son compatibles con UEFI Clase 2. [ 95 ] [ 96 ] UEFI de 32 bits no era compatible originalmente ya que los proveedores no tenían ningún interés en producir firmware UEFI nativo de 32 bits debido al estado dominante de la computación de 64 bits . [ 97 ] Windows 8 finalmente introdujo más optimizaciones para sistemas UEFI, incluido el soporte del Protocolo de Salida de Gráficos (GOP), [ 98 ] un inicio más rápido, soporte de UEFI de 32 bits y soporte de Arranque Seguro. [ 99 ] [ 100 ] Desde Windows 8 , el firmware UEFI con protocolo ACPI es un requisito obligatorio para los sistemas operativos Microsoft Windows basados en ARM. Microsoft comenzó a exigir UEFI para ejecutar Windows con Windows 11 , [ 101 ] con las ediciones IoT Enterprise de Windows 11 desde la versión 24H2 exentas de este requisito. [ 102 ]
- El 5 de marzo de 2013, la Fundación FreeBSD otorgó una subvención a un desarrollador que buscaba agregar soporte UEFI al kernel y al cargador de arranque de FreeBSD . [ 103 ] Los cambios se almacenaron inicialmente en una rama discreta del código fuente de FreeBSD, pero se fusionaron con el código fuente principal el 4 de abril de 2014 (revisión 264095); los cambios también incluyen soporte en el instalador. [ 104 ] El soporte de arranque UEFI para amd64 apareció por primera vez en FreeBSD 10.1 y para arm64 en FreeBSD 11.0. [ 105 ]
- NetBSD admite UEFI desde la versión 8.0 [ 106 ] para las arquitecturas i386 y amd64, así como en varias plataformas ARM desde la versión 9.0. [ 107 ]
- Oracle Solaris 11.1 y versiones posteriores admiten el arranque UEFI para sistemas x86 con firmware UEFI versión 2.1 o posterior. GRUB 2 se utiliza como cargador de arranque en x86. [ 108 ]
- OpenBSD 5.9 [ 109 ] introdujo soporte de arranque UEFI para sistemas x86 de 64 bits utilizando su propio cargador personalizado, OpenBSD 6.0 extendió ese soporte para incluir ARMv7. [ 110 ]
- illumos añadió soporte básico para UEFI en octubre de 2017. [ 111 ]
- ArcaOS admite el arranque UEFI desde la versión 5.1. [ 112 ] La compatibilidad UEFI de ArcaOS emula funcionalidades específicas de la BIOS de las que depende el sistema operativo (en particular, las interrupciones INT 10H e INT 13H ). [ 113 ] [ 114 ]
Con la virtualización
- HP Integrity Virtual Machines proporciona arranque UEFI en servidores HP Integrity. Además, ofrece un entorno UEFI virtualizado para los sistemas operativos invitados compatibles con UEFI.
- Intel aloja un proyecto de firmware de máquina virtual abierta en SourceForge. [ 115 ]
- El software VMware Fusion 3 para Mac OS X puede arrancar máquinas virtuales de Mac OS X Server utilizando UEFI.
- VMware Workstation anterior a la versión 11 admite UEFI de forma no oficial, pero se habilita manualmente editando el archivo .vmx. [ 116 ] VMware Workstation versión 11 y posteriores admiten UEFI, independientemente de si el sistema host físico se basa en UEFI. VMware Workstation 14 (y, por consiguiente, Fusion 10) añade compatibilidad con la función de arranque seguro de UEFI. [ 117 ] [ 118 ]
- El hipervisor VMware ESXi 5.0 admite oficialmente UEFI. La versión 6.5 añade compatibilidad con Secure Boot. [ 119 ] [ 120 ]
- VirtualBox implementó UEFI desde la versión 3.1, [ 121 ] pero está limitado a sistemas operativos Unix/Linux y Windows 8 y versiones posteriores (no funciona con Windows Vista x64 y Windows 7 x64). [ 122 ] [ 123 ]
- QEMU / KVM se puede utilizar con el firmware de máquina virtual abierta (OVMF) proporcionado por TianoCore . [ 124 ]
- La segunda generación de la máquina virtual Microsoft Hyper-V admite UEFI virtualizado. [ 125 ]
- Las máquinas virtuales protegidas de Google Cloud Platform admiten UEFI virtualizado para habilitar el arranque seguro. [ 126 ]
Vulnerabilidades
Se han explotado fallos en la implementación de UEFI para obtener persistencia, la capacidad de mantener el acceso malicioso a un sistema comprometido incluso después del reinicio del sistema, la reinstalación del sistema operativo e incluso el reemplazo parcial de componentes físicos, como el almacenamiento flash persistente PCI dañado. En 2023, existían vulnerabilidades incluso con el arranque seguro habilitado. [ 127 ] En 2023, Microsoft publicó una advertencia sobre el malware BlackLotus UEFI. [ 128 ]
Desarrollo de aplicaciones
El kit de desarrollo de aplicaciones EDK2 (EADK) permite utilizar funciones de la biblioteca C estándar en aplicaciones UEFI. EADK se puede descargar gratuitamente desde el proyecto TianoCore UDK/EDK2 de Intel en SourceForge . Como ejemplo, se ha puesto a disposición una versión del intérprete de Python como aplicación UEFI mediante EADK. [ 129 ] El desarrollo se trasladó a GitHub desde .UDK2015. [ 130 ]
Crítica
Numerosos activistas de los derechos digitales han protestado contra UEFI. Ronald G. Minnich , coautor de coreboot , y Cory Doctorow , activista de los derechos digitales, han criticado UEFI por considerarla un intento de eliminar la capacidad del usuario para controlar realmente el ordenador. [ 131 ] [ 132 ] Los críticos, como Ronald G. Minnich, coautor de coreboot, argumentan que UEFI mantiene la disposición histórica de requerir dos controladores separados —uno para el firmware y otro para el sistema operativo— para la mayoría del hardware. [ 133 ]
El proyecto de código abierto TianoCore también proporciona UEFI. [ 134 ] TianoCore carece de los controladores y módulos de firmware especializados que inicializan las funciones del chipset, pero TianoCore es una de las muchas opciones de carga útil de coreboot . El desarrollo de coreboot requiere la cooperación de los fabricantes de chipsets para proporcionar las especificaciones necesarias para desarrollar los controladores de inicialización.
Arranque seguro


En 2011, Microsoft anunció que los ordenadores certificados para ejecutar su sistema operativo Windows 8 debían enviarse con la clave pública de Microsoft registrada y el Arranque Seguro habilitado, lo que implica que el uso de UEFI es un requisito para estos dispositivos. [ 135 ] [ 136 ] Tras el anuncio, los críticos y los defensores del software libre/código abierto, incluida la Free Software Foundation, expresaron su preocupación de que Microsoft pudiera utilizar la funcionalidad de Arranque Seguro de UEFI para restringir la instalación de sistemas operativos alternativos como Linux. Microsoft negó que el requisito de Arranque Seguro tuviera la intención de servir como una forma de dependencia y aclaró sus requisitos al afirmar que los sistemas basados en x86 certificados para Windows 8 deben permitir que el Arranque Seguro entre en modo personalizado o esté deshabilitado, pero no en sistemas que utilizan la arquitectura ARM . [ 45 ] [ 137 ] Windows 10 permite a los OEM decidir si el Arranque Seguro puede ser administrado por los usuarios de sus sistemas x86. [ 138 ]
Otros desarrolladores plantearon inquietudes sobre los problemas legales y prácticos de implementar el soporte para Secure Boot en sistemas Linux en general. El ex desarrollador de Red Hat, Matthew Garrett, señaló que las condiciones de la versión 3 de la Licencia Pública General de GNU podrían impedir el uso del cargador de arranque unificado GNU GRand sin que el desarrollador de la distribución divulgue la clave privada (sin embargo, la Free Software Foundation aclaró posteriormente su posición, asegurando que la responsabilidad de poner las claves a disposición recaía en el fabricante del hardware), [ 139 ] [ 88 ] y que también sería difícil para los usuarios avanzados crear kernels personalizados que pudieran funcionar con Secure Boot habilitado sin autofirmarlos. [ 137 ] Otros desarrolladores sugirieron que se podrían proporcionar compilaciones firmadas de Linux con otra clave, pero señalaron que sería difícil persuadir a los fabricantes de equipos originales (OEM) para que incluyeran en sus ordenadores la clave requerida junto con la clave de Microsoft. [ 4 ]

Varias distribuciones importantes de Linux han desarrollado diferentes implementaciones para Secure Boot. El propio Garrett desarrolló un cargador de arranque mínimo conocido como shim, que es un cargador de arranque precompilado y firmado que permite al usuario confiar individualmente en las claves proporcionadas por las distribuciones de Linux. [ 140 ] Ubuntu 12.10 utiliza una versión anterior de shim preconfigurada para su uso con la clave propia de Canonical que verifica solo el cargador de arranque y permite cargar kernels sin firmar; los desarrolladores creían que la práctica de firmar solo el cargador de arranque es más factible, ya que un kernel de confianza es efectivo para asegurar solo el espacio de usuario , y no el estado de prearranque para el cual Secure Boot está diseñado para agregar protección. Esto también permite a los usuarios crear sus propios kernels y usar módulos de kernel personalizados , sin necesidad de reconfigurar el sistema. [ 88 ] [ 141 ] [ 142 ] Canonical también mantiene su propia clave privada para firmar instalaciones de Ubuntu precargadas en computadoras OEM certificadas que ejecutan el sistema operativo, y también planea imponer un requisito de arranque seguro , que requiere que tanto una clave de Canonical como una clave de Microsoft (por razones de compatibilidad) se incluyan en su firmware. Fedora también usa shim, pero requiere que tanto el kernel como sus módulos también estén firmados. [ 141 ] shim tiene una clave de propietario de máquina (MOK) que se puede usar para firmar kernels compilados localmente y otro software no firmado por el mantenedor de la distribución, sin cambiar el modo de arranque seguro al modo de configuración. [ 143 ] [ 144 ]
Se ha debatido si el núcleo del sistema operativo y sus módulos también deben estar firmados; si bien las especificaciones UEFI no lo exigen, Microsoft ha afirmado que sus requisitos contractuales sí lo hacen y que se reserva el derecho de revocar cualquier certificado utilizado para firmar código que pueda comprometer la seguridad del sistema. [ 142 ] En Windows, si el Arranque Seguro está habilitado, todos los controladores del núcleo deben estar firmados digitalmente; los controladores que no sean WHQL pueden rechazarse para cargarse. En febrero de 2013, otro desarrollador de Red Hat intentó enviar un parche al núcleo de Linux que le permitiría analizar la firma authenticode de Microsoft utilizando una clave maestra X.509 incrustada en archivos PE firmados por Microsoft. Sin embargo, la propuesta fue criticada por el creador de Linux, Linus Torvalds, quien argumentó que Red Hat estaba cediendo al control de Microsoft sobre la infraestructura de Arranque Seguro. [ 145 ]
El 26 de marzo de 2013, el grupo español de desarrollo de software libre Hispalinux presentó una queja formal ante la Comisión Europea , alegando que los requisitos de arranque seguro de Microsoft en los sistemas OEM eran "obstructivos" y anticompetitivos . [ 146 ]
En la conferencia Black Hat de agosto de 2013, un grupo de investigadores de seguridad presentó una serie de exploits en implementaciones específicas de UEFI de proveedores que podrían usarse para explotar Secure Boot. [ 147 ]
En agosto de 2016 se informó que dos investigadores de seguridad habían encontrado la clave de seguridad "golden key" que Microsoft utiliza para firmar sistemas operativos. [ 148 ] Técnicamente, no se expuso ninguna clave, pero sí un binario vulnerable firmado por ella. Esto permite que el software se ejecute como si estuviera firmado por Microsoft, lo que presenta riesgos potenciales para ataques de rootkit y bootkit . Esto también complica los esfuerzos de remediación, ya que un parche podría ser degradado al reemplazarlo con el binario vulnerable firmado. Microsoft declaró que la vulnerabilidad solo afecta a la arquitectura ARM y a los dispositivos Windows RT , y lanzó dos actualizaciones; sin embargo, algunos informes señalaron que estas actualizaciones no impiden completamente la explotación, ya que resolver la vulnerabilidad por completo requeriría el reemplazo de claves en el firmware del usuario final.
El 1 de marzo de 2023, investigadores de ESET informaron del descubrimiento de "BlackLotus", descrito como el primer bootkit UEFI activo capaz de eludir el arranque seguro UEFI explotando las limitaciones de las actualizaciones de seguridad anteriores. [ 149 ] [ 150 ]

En agosto de 2024, las actualizaciones de seguridad de Windows 11 y Windows 10 aplicaron la configuración de Secure Boot Advanced Targeting (SBAT) a la NVRAM UEFI del dispositivo, lo que provocó que algunas distribuciones de Linux no se cargaran correctamente. SBAT es un protocolo compatible con las versiones más recientes del Administrador de arranque de Windows y el shim, que impide que los gestores de arranque intermedios defectuosos o vulnerables (normalmente versiones antiguas del Administrador de arranque de Windows y GRUB ) se carguen durante el proceso de arranque. El cambio se revirtió al mes siguiente. [ 151 ]
En junio de 2025, LWN.net informó que el certificado UEFI CA 2011 de Microsoft expiraría el 24 de junio de 2026, lo que podría impedir que algunas distribuciones de Linux se carguen si el arranque seguro está habilitado. [ 152 ] [ 153 ] Sin embargo, en TianoCore EDK II , así como en muchas implementaciones comerciales de UEFI (como AMI Aptio), la comprobación de fecha y hora para el certificado de arranque seguro suele estar deshabilitada por defecto. [ 153 ]
Muchas distribuciones de Linux son compatibles con el arranque seguro UEFI desde enero de 2025. , tales como RHEL (RHEL 7 y posteriores), CentOS (CentOS 7 y posteriores [ 154 ] ), Ubuntu , Fedora , Debian (Debian 10 y posteriores [ 155 ] ), OpenSUSE y SUSE Linux Enterprise . [ 156 ]
Problemas de firmware
Se han reportado varios problemas técnicos relacionados con implementaciones específicas del firmware UEFI en dispositivos comerciales. [ 157 ]
Tras el lanzamiento de Windows 8 en octubre de 2012, se descubrió que ciertos modelos de computadoras Lenovo con Secure Boot tenían UEFI que verificaba la presencia de " Windows Boot Manager " o " Red Hat Enterprise Linux " en la cadena descriptiva de un sistema operativo compatible con UEFI, negándose a cargarlo en caso contrario. [ 158 ] Se reportaron dificultades operativas similares con respecto a varios modelos de portátiles Toshiba en los que faltaban certificados de firmware específicos necesarios para el funcionamiento de Secure Boot. [ 157 ]
En enero de 2013, se hizo público un problema de firmware relacionado con la implementación UEFI en ciertas computadoras portátiles Samsung , que dejaba los dispositivos completamente inoperables después de instalar una distribución de Linux en modo UEFI. Si bien los informes iniciales atribuyeron el problema a conflictos con un módulo del kernel diseñado para acceder a las funciones del sistema en las computadoras portátiles Samsung (lo que llevó a los mantenedores del kernel a deshabilitar el módulo en los sistemas UEFI como medida de seguridad), el análisis de Matthew Garrett indicó que la condición se activaba al almacenar variables UEFI excesivas en la memoria no volátil, un comportamiento que también podría ocurrir bajo ciertas condiciones en Windows. Su análisis concluyó que el módulo del kernel asociado provocaba que se escribieran volcados de mensajes del kernel en el espacio de almacenamiento del firmware, ejecutando el estado de falla. [ 30 ] [ 159 ] [ 160 ]
Véase también
- ACPI – Estándar de interfaz de firmware de computadora
- Gestor de arranque : software responsable de iniciar el ordenador.
- MoonBounce – malware UEFI
- OpenBIOS : implementación de software libre de firmware abierto.
- BIOS de administración del sistema (SMBIOS)
- Módulo de plataforma segura (TPM)
- Inicialización de la plataforma UEFI (UEFI PI)
- UEFITool – Programa de software
Notas
- ↑ Originalmente se inició en 1998 como Intel Boot Initiative y más tarde como Extensible Firmware Interface (EFI), que fue descontinuado en 2005 y reemplazado por UEFI.
- ↑ Parte de la BIOS que se requiere para arrancar un sistema operativo que no es compatible con UEFI se puede implementar como un módulo CSM DXE, consulte § Arranque CSM .
- ↑ Se pronuncia YOU-ee-eff-eye como sigla
- ↑ Históricamente también se escribía como EFI Unificado, cuando UEFI era el sucesor recién introducido de EFI.
Referencias
- ↑ "El Foro UEFI publica la especificación UEFI 2.11 y la especificación PI 1.9 para simplificar las implementaciones de los usuarios | Foro de Interfaz de Firmware Extensible Unificada" . uefi.org (Comunicado de prensa). Foro UEFI . Consultado el 22 de diciembre de 2024 .
- 1 2 3 Zimmer, Vincent; Rothman, Michael; Marisetty, Suresh (2017). Más allá de la BIOS: Desarrollo con la interfaz de firmware extensible unificada, tercera edición . Walter de Gruyter GmbH & Co KG. ISBN 978-1-5015-0569-0.
- ↑ Kinney, Michael (1 de septiembre de 2000). "Solución de problemas de arranque de BIOS con EFI" (PDF) . págs. 47–50 . Archivado del original (PDF) el 23 de enero de 2007. Recuperado el 14 de septiembre de 2010 .
- 1 2 "Microsoft niega que el arranque seguro excluya a Linux" . The Register. 23 de septiembre de 2011. Consultado el 24 de septiembre de 2011 .
- 1 2 "La implementación UEFI de Emulex ofrece características líderes en la industria para sistemas IBM" (PDF) . Emulex . Consultado el 14 de septiembre de 2010 .
- 1 2 Interfaz de firmware extensible (EFI) y EFI unificada (UEFI) , Intel, archivado del original el 5 de enero de 2010
- ↑ Wei, Dong (2006), "prólogo", Beyond BIOS , Intel Press, ISBN 978-0-9743649-0-2
- ↑ "Espejo de Git de EDK" . GitHub . 19 de marzo de 2019.
- ↑ "EDK II" . GitHub . 8 de agosto de 2019.
- ↑ "¿Qué es TianoCore?" .
- ↑ Preguntas frecuentes sobre UEFI , Foro Unified EFI,
P: ¿Cuál es la relación entre EFI y UEFI? R: La especificación UEFI se basa en la especificación EFI 1.10 publicada por Intel, con correcciones y cambios gestionados por el Foro Unified EFI. Intel aún conserva los derechos de autor de la especificación EFI 1.10, pero la ha aportado al Foro para que este pueda desarrollarla. No habrá futuras versiones de la especificación EFI, pero los clientes que la adquieran podrán seguir utilizándola según los términos de su licencia de Intel. La licencia para la Especificación Unified EFI proviene del Foro, no de Intel.
- ↑ "Microsoft anuncia Project Mu, una versión de código abierto del núcleo UEFI" . 20 de diciembre de 2018.
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Especificación de la Interfaz de Firmware Extensible Unificada (UEFI) (PDF) . Uefi.org (Informe técnico). 2.11. Foro UEFI. 21 de noviembre de 2024. Recuperado el 5 de enero de 2026 .
- ↑ "GitHub - andreiw/ppc64le-edk2: UEFI TianoCore para OPAL/PowerNV (PPC64/PowerPC64 Little-Endian)" . GitHub . 3 de mayo de 2021.
- ↑ "Tianocore para OpenPOWER" . Seguridad del firmware . 12 de octubre de 2015.
- ↑ kontais (3 de septiembre de 2015). "EFI-MIPS" . FuenteForge .
- ↑ "GitHub - ncroxon/gnu-efi:Desarrolle aplicaciones EFI para plataformas ARM-64, ARM-32, x86_64, IA-64 (IPF), IA-32 (x86) y MIPS utilizando la cadena de herramientas GNU y el entorno de desarrollo EFI" . GitHub .
- ↑ James Brian Richardson (22 de julio de 2015). "Por qué los sistemas baratos ejecutan UEFI de 32 bits en sistemas x64" . Archivado del original el 24 de diciembre de 2020.
- ↑ Fleming, Matt (4 de marzo de 2014). "x86/efi: Agregar código thunk temprano para pasar de 64 bits a 32 bits - kernel/git/torvalds/linux.git - árbol de código fuente del kernel de Linux" . Lista de correo del kernel de Linux .
- ↑ "Núcleo de Linux 3.15, Sección 1.3. Los núcleos EFI de 64 bits pueden arrancar desde firmware de 32 bits" . kernelnewbies.org . 8 de junio de 2014. Consultado el 15 de junio de 2014 .
- ↑ "x86, efi: Protocolo de transferencia" . LWN.net . 19 de julio de 2012. Consultado el 15 de junio de 2014 .
- ↑ "Documentación del kernel de Linux: Documentation/efi-stub.txt" . kernel.org . 1 de febrero de 2014. Consultado el 15 de junio de 2014 .
- ↑ "1. El protocolo de arranque Linux/x86" . La documentación del núcleo Linux .
- 1 2 3 4 5 Smith, Roderick W. (3 de julio de 2012). "Aproveche al máximo las unidades grandes con GPT y Linux" . IBM . Archivado del original el 9 de julio de 2012. Recuperado el 25 de septiembre de 2013 .
- 1 2 3 "Instalación" . 3.4 Instalación de BIOS . GNU GRUB . Consultado el 25 de septiembre de 2013 .
- ↑ "block/partitions/Kconfig (3.11.1)" . CONFIG_EFI_PARTITION (línea #247) . kernel.org . Consultado el 25 de septiembre de 2013 .
- ↑ "E.2.2. GRUB y el proceso de arranque en sistemas x86 basados en UEFI" . redhat.com . Consultado el 14 de noviembre de 2013 .
- ↑ "Arranque UEFI de Red Hat Enterprise Linux 6 de 64 bits" . fpmurphy.com . Septiembre de 2010. Archivado del original el 12 de julio de 2013. Consultado el 14 de noviembre de 2013 .
- ↑ "12. Protocolos — Soporte de consola" . Documentación de la especificación UEFI 2.9A . 12.9. Protocolo de salida gráfica . Consultado el 12 de abril de 2026 .
- 1 2 "Error UEFI de Samsung: portátil bloqueado por Windows" . The H. Archivado del original el 1 de marzo de 2013. Recuperado el 27 de febrero de 2013 .
- ↑ Garrett, Matthew (19 de enero de 2012). " EFI y Linux: El futuro ya está aquí, y es terrible" . linux.conf.au 2012. Archivado del original el 13 de noviembre de 2021. Consultado el 2 de abril de 2012 .
- ↑ "Controladores EFI de software libre" .
- ^ Batard, Pete (13 de marzo de 2020). "pbatard/uefi-ntfs" . GitHub .
- ↑ "Preguntas frecuentes sobre controladores de gráficos integrados de Intel: BIOS y firmware" . Intel . Archivado del original el 19 de mayo de 2014. Consultado el 19 de mayo de 2014 .
- ↑ "Nota técnica TN2166: Secretos de la GPT" . developer.apple.com . 6 de noviembre de 2006. Consultado el 6 de mayo de 2015 .
- 1 2 "Marco de innovación de plataforma Intel para EFI" (PDF) . Especificación del módulo de soporte de compatibilidad (revisión 0.97) . Intel. 4 de septiembre de 2007. Recuperado el 6 de octubre de 2013 .
- ↑ "La BIOS de PC desaparecerá en 2020, ya que Intel planea migrar a UEFI puro" . Ars Technica . Consultado el 29 de mayo de 2018 .
- ↑ "CosmicStrand: el descubrimiento de un sofisticado rootkit de firmware UEFI" . Securelist de Kaspersky . Consultado el 4 de agosto de 2022 .
- ↑ "Aviso técnico sobre la eliminación del soporte de arranque heredado para plataformas Intel" . Intel.
- ↑ "30.2.2. Configuración del arranque PXE para EFI" . Guía de instalación de Red Hat Enterprise Linux 6. Red Hat . Consultado el 12 de abril de 2026 .
- ↑ El-Haj-Mahmoud, Samer (julio de 2013). "Avances en redes pre-OS en UEFI 2.4" (PDF) . Hewlett-Packard . Consultado el 12 de abril de 2026 .
- ↑ Racherla, Sangam; Erdenberger, Silvio; Rajagopal, Harish; Ruth, Kai (enero de 2014). Almacenamiento y convergencia de redes mediante FCoE e iSCSI (PDF) (2.ª ed.). IBM Redbooks . Consultado el 12 de abril de 2026 .
- ↑ "Nuevo soporte de arranque HTTP UEFI en UEFI 2.5" . firmwaresecurity.com . 9 de mayo de 2015. Consultado el 13 de agosto de 2015 .
- ↑ Edge, Jake (15 de junio de 2011). "UEFI y arranque seguro"" . LWN.net . Consultado el 9 de septiembre de 2012 .
- 1 2 Noyes, Katherine (18 de enero de 2012). "Arranque seguro de Windows 8: la controversia continúa" . PC World . Recuperado el 12 de abril de 2026 .
- ↑ "Arranque seguro para ESXi 6.5 - Garantía del hipervisor" . Blog de VMware vSphere . 4 de mayo de 2017. Consultado el 18 de agosto de 2017 .
- ↑ Tutoriales/UEFI - Wiki de CentOS
- ↑ Larabel, Michael (30 de abril de 2018). "Debian avanza en el soporte de UEFI SecureBoot en 2018" . Phoronix . Phoronix Media . Consultado el 23 de mayo de 2018 .
- ↑ Garrett, Matthew (27 de diciembre de 2012). "Soporte para distribución de arranque seguro" . Mjg59.dreamwidth.org . Consultado el 12 de abril de 2026 .
- ↑ "Arranque seguro de Linux Mint" . Linux Mint . Consultado el 12 de enero de 2024 .
- ↑ "8.4 | AlmaLinux Wiki" . wiki.almalinux.org . Consultado el 10 de abril de 2024 .
- ↑ "Arranque seguro" . Wiki de FreeBSD . FreeBSD . Consultado el 16 de junio de 2015 .
- 1 2 "EFI Shells and Scripting" . Intel . Archivado del original el 16 de julio de 2019. Recuperado el 25 de septiembre de 2013 .
- 1 2 "UEFI Shell Specification Version 2.0, Errata A" (PDF) . Unified Extensible Firmware Interface Forum. Mayo de 2012. Consultado el 12 de abril de 2026 .
- ↑ "EDK2: ShellPkg" . GitHub . Consultado el 18 de marzo de 2020 .
- ↑ "tianocore/edk2: lanzamientos" . GitHub .
- ↑ "Archivo de correo electrónico: edk2-devel" . [edk2] Inclusión de la consola UEFI en la ISO de la distribución Linux . SourceForge . 2012. Archivado del original el 3 de octubre de 2013. Recuperado el 25 de septiembre de 2013 .
- ↑ "TianoCore en SourceForge" . Preguntas frecuentes sobre la consola . Intel . Archivado del original el 3 de octubre de 2013. Consultado el 25 de septiembre de 2013 .
- ↑ "Instrucciones básicas para usar EFI para la configuración de servidores en placas base y sistemas de servidores Intel" (PDF) . Intel . 2008. Consultado el 25 de septiembre de 2013 .
- ↑ "Actualización de cápsula firmada" . tianocore-docs.github.io .
- ↑ barrygolden. "Plataforma de actualización de firmware UEFI de Windows - Controladores de Windows" . docs.microsoft.com . Consultado el 25 de septiembre de 2020 .
- ↑ "Primeros pasos | Tecnología de microchips" . www.microchip.com . Consultado el 24 de diciembre de 2020 .
- ↑ "Framework-Laptop-16/Mainboard/Mainboard_Interfaces_Schematic_Framework_Laptop_16_7040_Series.PDF en main · FrameworkComputer/Framework-Laptop-16" (PDF) . GitHub .
- ↑ Barry, Peter; Crowley, Patrick (2012). Modern embedded computing : designing connected, pervasive, media-rich systems . Waltham, MA: Morgan Kaufmann Publishers . p. 169. ISBN 978-0-12-394407-8OCLC 810455404
- ↑ «Intel schrapt bios-compatibiliteit uefi en 2020» . Tweakers (en holandés) . Consultado el 30 de diciembre de 2022 .
- ↑ "Flujo de arranque de PI · tianocore/Tianocore.github.io Wiki" . GitHub .
- ↑ "Servicios de ingeniería" (PDF) .
- ↑ "La Interfaz de Firmware Extensible Unificada (UEFI)" . La documentación del núcleo de Linux .
- ↑ "TianoCore - coreboot" . Archivado del original el 22 de octubre de 2020. Recuperado el 25 de mayo de 2012 .
- ↑ "SecureCore Tiano™" . Phoenix Technologies. Archivado del original el 6 de septiembre de 2010. Consultado el 14 de septiembre de 2010 .
- ↑ "Aptio: La solución completa de productos UEFI" (PDF) . American Megatrends. Archivado del original (PDF) el 3 de mayo de 2018. Consultado el 2 de mayo de 2018 .
- ↑ "¿Por qué nosotros?" . Insyde Software Corp. Archivado del original el 27 de diciembre de 2018. Recuperado el 2 de mayo de 2018 .
- ^ "Microsoft anuncia el" Proyecto Mu "para una alternativa UEFI de código abierto a TianoCore" . Forónix . Consultado el 20 de diciembre de 2018 .
- ↑ "Combinando U-Boot UEFI y GRUB" (PDF) . Consultado el 12 de septiembre de 2018 .
- ↑ "UEFI sobre U-Boot" (PDF) . Archivado del original (PDF) el 11 de septiembre de 2018. Consultado el 12 de septiembre de 2018 .
- ↑ "Instalación de OpenBSD 6.3 en Raspberry Pi 3" . Archivado del original el 21 de noviembre de 2018. Consultado el 12 de septiembre de 2018 .
- ↑ "Arranque iSCSI con U-Boot e iPXE" . Archivado del original el 31 de julio de 2020. Consultado el 18 de mayo de 2020 .
- ↑ Apple Computer. " Directrices de programación binaria universal, segunda edición: Interfaz de firmware extensible (EFI) " . Archivado el 24 de julio de 2008 en la Wayback Machine .
- ↑ La transición de Apple del firmware abierto a la interfaz de firmware extensible , mactech, 2007.
- 1 2 "Descripción general del marco de innovación de la plataforma Intel para UEFI" . Intel . Consultado el 14 de septiembre de 2010 .
- ↑ Evaluación de UEFI mediante plataformas y soluciones disponibles comercialmente (PDF) , UEFI, mayo de 2011, archivado del original (PDF) el 22 de marzo de 2012.
- ↑ Vista previa de la placa base Asus P67 .
- ↑ "Requisitos de certificación de hardware de Windows para sistemas cliente y servidor" . Microsoft. Enero de 2013.
System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby... Las plataformas deben ser de clase tres UEFI (consulte UEFI Industry Group, Evaluación de UEFI mediante plataformas y soluciones disponibles comercialmente, versión 0.3, para obtener una definición) sin ningún módulo de compatibilidad instalado o instalable. La emulación de BIOS y el arranque heredado de PC/AT deben estar deshabilitados.
- ↑ "Microsoft: Todo lo que necesitas saber sobre Windows 8 en ARM" . PC Magazine . Archivado del original el 6 de septiembre de 2013. Consultado el 30 de septiembre de 2013 .
- ↑ Richardson, Brian (30 de octubre de 2017) ."Barreras de última milla para la eliminación de BIOS heredados" (PDF) . Consultado el 12 de abril de 2023 .
- ↑ Anuncio de la versión 3.5pre1 por parte del mantenedor Brett Johnson, realizado el 27 de febrero de 2004.
- ↑ Debian - Detalles del paquete grub-efi en ssd , Debian GNU/Linux , consultado el 12 de abril de 2026
- 1 2 3 "Ubuntu utilizará GRUB 2 para su implementación de arranque seguro" . The H Online. Archivado del original el 29 de octubre de 2012. Recuperado el 28 de octubre de 2012 .
- ↑ "La Interfaz de Firmware Extensible Unificada (UEFI)" . Documentación del núcleo de Linux . Consultado el 22 de marzo de 2026 .
- ↑ Historial de versiones de OpenVMS , HP, archivado del original el 5 de enero de 2009 , consultado el 16 de septiembre de 2008.
- ↑ "Estado de la adaptación a x86-64" (PDF) . vmssoftware.com . 6 de octubre de 2017. Archivado del original (PDF) el 22 de septiembre de 2020. Consultado el 9 de septiembre de 2020 .
- ↑ rEFIt — Windows Vista y EFI , SourceForge, archivado del original el 5 de septiembre de 2008 , recuperado el 31 de mayo de 2008.
- ↑ "Interfaz de firmware extensible", Centro técnico de Windows Server , Microsoft, archivado del original el 30 de agosto de 2006.
- ↑ Directrices de implementación de la Interfaz de Firmware Extensible Unificada (UEFI)
- ↑ Ersek, Laszlo (enero de 2015). "Informe de estado del firmware de máquina virtual abierta (OVMF)" . Proyecto Linux KVM . Consultado el 13 de noviembre de 2022 .
- ↑ Arrancar en modo UEFI o en modo BIOS heredado
- ↑ "Compatibilidad con la interfaz de firmware extendida unificada en Windows Vista" . Microsoft. 26 de octubre de 2006. Archivado del original el 27 de julio de 2020. Consultado el 12 de junio de 2010.
Microsoft determinó que los proveedores no tendrían interés en producir firmware UEFI nativo de 32 bits debido al estado actual de la computación de 64 bits y los costos de la plataforma. Por lo tanto, Microsoft inicialmente no incluyó compatibilidad con implementaciones UEFI de 32 bits.
- ↑ Controlador de pantalla básico de Microsoft
- ↑ "Microsoft destaca los increíbles tiempos de arranque de Windows 8" . Consultado el 9 de septiembre de 2011 .
- ↑ Brodkin, Jon (21 de septiembre de 2011). "El arranque seguro de Windows 8 podría complicar las instalaciones de Linux" . Ars Technica . Consultado el 23 de septiembre de 2011 .
- ↑ "Consulta las especificaciones, características y requisitos informáticos de Windows 11" . Microsoft .
- ↑ "Requisitos mínimos del sistema para Windows IoT Enterprise" . Microsoft Learn . 22 de mayo de 2024. Consultado el 7 de junio de 2024 .
- ↑ "FreeBSD tendrá soporte UEFI" . Archivado del original el 8 de marzo de 2013. Consultado el 7 de marzo de 2013 .
- ↑ "UEFI - Wiki de FreeBSD" . FreeBSD.org . Consultado el 19 de junio de 2014 .
- ↑ "uefi(8)" . www.freebsd.org . Consultado el 11 de enero de 2021 .
- ↑ "Anuncio de NetBSD 8.0 (17 de julio de 2018)" . www.netbsd.org . Consultado el 8 de febrero de 2026 .
- ↑ "Anuncio de NetBSD 9.0 (14 de febrero de 2020)" . www.netbsd.org . Consultado el 8 de febrero de 2026 .
- ↑ "Oracle Solaris 11.1 — Novedades" (PDF) . oracle.com . Consultado el 12 de abril de 2026 .
- ↑ "OpenBSD 5.9" . www.openbsd.org . Consultado el 11 de septiembre de 2016 .
- ↑ "OpenBSD 6.0" . www.openbsd.org . Consultado el 11 de septiembre de 2016 .
- ↑ "8422 uts: soporte UEFI básico para illumos" . www.illumos.org . Consultado el 17 de diciembre de 2024 .
- ↑ Proven, Liam (4 de septiembre de 2023). "ArcaOS 5.1 le da al clásico OS/2 una renovación UEFI para el siglo XXI" . The Register . Consultado el 4 de septiembre de 2023 .
- ↑ "Arranque de ArcaOS en hardware UEFI (demostración)" . youtube.com . 8 de agosto de 2019. Consultado el 22 de septiembre de 2020 .
- ↑ Sanders, James (13 de agosto de 2019). "La distribución moderna de OS/2, ArcaOS, añade soporte para el arranque mediante UEFI" . techrepublic.com . Archivado del original el 21 de octubre de 2019. Consultado el 4 de septiembre de 2023 .
- ↑ Firmware de máquina virtual abierta , SourceForge, archivado del original el 6 de octubre de 2011
- ↑ "Firmware EFI de VMware Workstation | Comunidades de VMware" . Communities.vmware.com. 3 de octubre de 2012. Consultado el 28 de febrero de 2014 .
- ↑ "Uso del firmware EFI/UEFI en una máquina virtual VMware | Comunidades de VMware" . Communities.vmware.com. 6 de diciembre de 2014. Consultado el 18 de enero de 2016 .
- ↑ "Anuncio de VMware Workstation 14 - VMware Workstation Zealot" . VMware Workstation Zealot . 22 de agosto de 2017. Consultado el 2 de agosto de 2018 .
- ↑ "Novedades de vSphere 5.0" . Vmware.com. Archivado del original el 23 de enero de 2014. Consultado el 28 de febrero de 2014 .
- ↑ "Notas de la versión de VMware vSphere 6.5" . pubs.vmware.com . Archivado del original el 13 de enero de 2017. Consultado el 13 de enero de 2017 .
- ↑ 3.1 Registro de cambios , VirtualBox, archivado del original el 28 de septiembre de 2010
- ↑ Ticket 7702 , VirtualBox
- ↑ Levchenko, Vasily, Instalación con EFI , VirtualBox
- ↑ "Probando el arranque seguro con KVM" . FedoraProject . Consultado el 28 de febrero de 2014 .
- ↑ "Novedades de Hyper-V para Windows Server 2012 R2" . MicrosoftTechNet . Consultado el 24 de junio de 2013 .
- ↑ "Máquinas virtuales protegidas" . Consultado el 16 de febrero de 2019 .
- ↑ Spring, Jonathan; Radesky, Sandra (3 de agosto de 2023). "Un llamado a la acción: Reforzar la ciberseguridad de UEFI ahora" . Agencia de Ciberseguridad y Seguridad de Infraestructura (CISA).
- ↑ "Microsoft publica directrices para la campaña BlackLotus" . Agencia de Ciberseguridad y Seguridad de Infraestructuras (CISA). 11 de abril de 2023.
- ↑ "TianoCore en SourceForge: EDK2 Application Development Kit (EADK)" . Intel . Archivado del original el 27 de septiembre de 2013. Recuperado el 25 de septiembre de 2013 .
- ↑ "Tianocore: UDK" . GitHub .
- ↑ «Entrevista: Ronald G Minnich» . Fosdem. 6 de febrero de 2007 . Consultado el 14 de septiembre de 2010 .
- ↑ Doctorow, Cory (27 de diciembre de 2011), La guerra que se avecina contra la computación de propósito general , consultado el 25 de septiembre de 2013.
- ↑ "coreboot (también conocido como LinuxBIOS): El firmware x86 libre/de código abierto" . YouTube. 31 de octubre de 2008. Consultado el 14 de septiembre de 2010 .
- ↑ "Bienvenido" , TianoCore , SourceForge, archivado del original el 23 de abril de 2012
- ↑ "La especificación de arranque de próxima generación podría impedir para siempre el acceso de Linux a los PC con Windows 8" .
- ↑ "El arranque seguro de Windows 8 podría complicar las instalaciones de Linux" . 21 de septiembre de 2011.
- 1 2 "¿Está Microsoft bloqueando el arranque de Linux en hardware ARM?" . Computerworld UK. Archivado del original el 22 de diciembre de 2014. Recuperado el 6 de marzo de 2012 .
- ↑ "Windows 10 hará realidad el bloqueo del sistema operativo alternativo Secure Boot" . Ars Technica . 20 de marzo de 2015. Consultado el 21 de marzo de 2015 .
- ↑ "Recomendaciones de la Free Software Foundation para distribuciones de sistemas operativos libres que consideren el arranque seguro" . Free Software Foundation . Consultado el 18 de marzo de 2020 .
- ↑ "Instalando Linux en PC con Windows 8" . ZDNet . Consultado el 26 de febrero de 2013 .
- 1 2 Willis, Nathan (27 de junio de 2012). "Ubuntu detalla sus planes de arranque seguro UEFI" . Linux Weekly News . Recuperado el 11 de septiembre de 2012 .
- 1 2 "No hay soporte para certificados de Microsoft en el kernel de Linux dice Torvalds" . The H. Archivado del original el 28 de febrero de 2013. Recuperado el 26 de febrero de 2013 .
- ↑ Smith, Roderick W. (4 de noviembre de 2012). "Administración de cargadores de arranque EFI para Linux: Manejo del arranque seguro (Uso del programa Shim)" . Página web de Roderick W. Smith . Consultado el 17 de enero de 2025 .
- ↑ Edge, Jake (17 de octubre de 2012). "Otro enfoque para el arranque seguro UEFI" . LWN.net . Consultado el 7 de febrero de 2026 .
- ↑ "Linus Torvalds: No voy a cambiar Linux para "devorar a Microsoft"" . Ars Technica. 26 de febrero de 2013 . Consultado el 26 de febrero de 2013 .
- ↑ "Exclusiva: Grupo de software libre presenta una queja contra Microsoft ante la UE" . Reuters. 26 de marzo de 2013. Consultado el 26 de marzo de 2013 .
- ↑ "Investigadores demuestran vulnerabilidades que eluden el arranque seguro de Windows 8" . IT World . Archivado del original el 5 de agosto de 2013. Consultado el 5 de agosto de 2013 .
- ↑ Mendelsohn, Tom (12 de agosto de 2016). "Problema con el arranque seguro: Microsoft filtra la clave de la puerta trasera y deja el firmware completamente expuesto [ Actualizado ] " . Ars Technica . Consultado el 12 de agosto de 2016 .
- ↑ Smolár, Martin (1 de marzo de 2023). "BlackLotus UEFI bootkit: Mito confirmado" . welivesecurity.com . Consultado el 1 de marzo de 2023 .
- ↑ Goodin, Dan (6 de marzo de 2023). "Malware UEFI sigiloso que elude el arranque seguro habilitado por una vulnerabilidad de Windows imposible de parchear" . Ars Technica . Consultado el 6 de marzo de 2023 .
- ↑ WindowsCommunications (26 de agosto de 2024). "Problemas conocidos y notificaciones de Windows 11, versión 23H2" . learn.microsoft.com . Consultado el 3 de septiembre de 2024 .
- ↑ Edge, Jake (16 de julio de 2025). "Linux y la expiración del certificado de arranque seguro" . LWN.net . Consultado el 12 de septiembre de 2025 .
- 1 2 "Caducidad del certificado de Windows Secure Boot y actualizaciones de CA" . Soporte técnico de Microsoft . 26 de junio de 2025. Consultado el 26 de junio de 2025 .
- ^ "Cómo/UEFI" . Wiki de CentOS . Consultado el 10 de noviembre de 2020 .
- ↑ "SecureBoot" . Wiki de Debian . Consultado el 10 de noviembre de 2020 .
- ↑ "SUSE Linux Enterprise Server 15 SP5: Capítulo 17. UEFI (Interfaz de firmware extensible unificada) (Guía de administración)" . documentation.suse.com . Consultado el 12 de enero de 2025 .
- 1 2 "Linux en PC con Windows 8: algunos avances, pero sigue siendo una molestia" . ZDNet . Consultado el 26 de febrero de 2013 .
- ↑ "Lenovo UEFI solo quiere arrancar Windows y RHEL" . Phoronix . Consultado el 26 de febrero de 2013 .
- ↑ "Linux absuelto en las muertes por UEFI de portátiles Samsung" . Bit-tech . Consultado el 26 de febrero de 2013 .
- ↑ "Arrancar Linux usando UEFI puede dañar permanentemente las computadoras portátiles Samsung" . Archivado del original el 8 de marzo de 2013. Recuperado el 26 de febrero de 2013 .
Lecturas adicionales
- Zimmer, Vicente; Rothman, Michael; Hale, Robert (10 de mayo de 2007). "Arquitectura EFI" . Diario del Dr. Dobb . UBM . Consultado el 12 de octubre de 2012 .
- de Boyne Pollard, Jonathan (11 de julio de 2011). "El proceso de arranque EFI" . Respuestas frecuentes . Consultado el 12 de octubre de 2012 .
- de Boyne Pollard, Jonathan (8 de diciembre de 2011). "El proceso de arranque de Windows NT 6" . Respuestas frecuentes . Consultado el 12 de octubre de 2012 .
- Smith, Roderick W. (2011). "Una transformación de BIOS a UEFI" . Página web de Roderick W. Smith . Recuperado el 12 de octubre de 2012 .
- Kothari, Rajiv (21 de septiembre de 2011). "UEFI: Su verdadera importancia" . Hardware Secrets . Archivado del original el 25 de octubre de 2012. Consultado el 12 de octubre de 2012 .
- Fisher, Doug (2011). "UEFI Today: Bootstrapping the Continuum" . Intel Technology Journal . 15 (1). Intel. ISBN 9781934053430Archivado del original el 27 de septiembre de 2013. Consultado el 24 de septiembre de 2013 .
Enlaces externos
- Sitio web oficial

- Especificaciones UEFI
- Iniciativa de marco EFI de código abierto patrocinada por Intel
- Portal Intel EFI/UEFI
- Compatibilidad y requisitos de Microsoft UEFI para sistemas operativos Windows
- Cómo funciona la función de apagado híbrido/arranque rápido de Windows 8
- Cómo proteger el proceso de arranque de Windows 10
- LoJax: Primer rootkit UEFI detectado en la práctica, cortesía del grupo Sednit.
- Intérprete de Python para la consola UEFI
- Interfaz de firmware extensible unificada