Desmontando mitos sobre BIOS frente a UEFI
14 de ago. de 2024 - #Informática
Quienes lleváis un tiempo leyéndome conocéis de sobra mi antipatía hacia los sistemas que restringen tu capacidad de decisión. Siento un especial desagrado hacia UEFI, el sistema de arranque moderno de los ordenadores, desde su primera aparición. No me gusta que una un tercero tenga poder de decisión sobre qué sistema operativo pueda ejecutar mi máquina. Por mucho que lo vendan como un incremento de seguridad, yo lo considero un profundo retroceso de libertades, una fuente de vulnerabilidades, y un componente extra hacia la obsolescencia programada. Realizar un cambio, o incluso una actualización de sistema operativo estando ese elemento de por medio es un absoluto dolor cuando no se trata restaurar el que venía de serie en el equipo: quienes hemos ayudado a “reciclar ordenadores” que traían Windows 8 preinstalado sabemos lo disuasorio que ha resultado ser para muchas personas que tenían intención de extender la vida útil de ordenadores en perfecto estado. A menudo los técnicos optamos por desconectar UEFI, pero eso asusta a los propietarios de los equipos al leer los “avisos de seguridad del modo legado”.
Me topé por casualidad con la página “UEFI & BIOS fact sheet” de Sami Tikkanen, que contenía un pequeño ensayo sobre los mitos que se han difundido sobre BIOS, el sistema de arranque agnóstico “de toda la vida”, y me pareció interesante compartirla. Es importante contrastar esos mitos sobre el “sistema legado” con hechos documentados, para eliminar esos miedos infundados. Os comparto mi traducción al castellano, añadiendo algunas aclaraciones sobre los términos más técnicos:
- UEFI está bloqueada para que use siempre particiones de formato GPT. BIOS puede usar cualquier esquema de particiones, con particiones ilimitadas.
- UEFI no tiene ningún servicio de tiempo de ejecución. El sistema operativo necesita un instalar un driver (controlador de dispositivo) para cada dispositivo del ordenador, y su API (Application Programming Interface, o interfaz de programación de aplicaciones) es tan anticompetitiva como se puede dentro del marco legal, bloqueando el arranque de otros sistemas operativos. En cambios, BIOS tiene servicios de tiempo de ejecución para entrada/salida básica: el sistema operativo no necesita drivers para controladores para que funcionen el disco, teclado y monitor.
- UEFI tiene especificación en tamaño LONG y las implementaciones son enormes (mínimo ente 64MB y 128 MB). En cambio, la especificación de BIOS es relativamente sencilla y cabe en un chip ROM de 64 KB.
- UEFI sólo soporta un modo de CPU por implementación. BIOS tiene servicios en tiempo de ejecución para cambiar entre modos de CPU de 16 y 32 bits.
- Los servicios de arranque de UEFI son completamente bloqueantes, sin soporte de multitarea. Por el contrario, BIOS devuelve el control al sistema operativo mientras el disco realiza procesos de entrada-salida.
- Los binarios de arranque de UEFI tienen que estar forzosamente en formato PE de Microsoft. BIOS carga el primer sector (división del disco duro) del unidad de arranque en memoria y la ejecuta sin forzar formatos.
- UEFI tiene un modo “secure boot” (arranque seguro) que en realidad no funciona, debido a varios fallos de seguridad en las implementaciones extremadamente complejas. BIOS puede arrancar desde medios protegidos físicamente contra escritura, que no pueden ser hackeados.
- UEFI generalmente tarda en arrancar debido a su complejidad. BIOS tarda menos de 10 segundos.
- UEFI no puede arrancar un sistema operativo que no soporte particiones BIOS GPT. Desde BIOS no existe tal restricción.
- UEFI requiere un disco con sistema de ficheros FAT32, donde estarán almacenados los archivos binarios de arranque. Este sistema que estaba patentado por Microsoft cuando UEFI se convirtió en un requisito imprescindible para ejecutar Windows 8: eso significa que crear un sistema operativo que pudiese arrancar mediante UEFI era ilegal si no se compraba la licencia necesaria para emplear las funcionalidades patentadas de FAT32. BIOS no tiene requisitos de ningún tipo de sistema de ficheros.
- UEFI sólo puede arrancar desde dispositivos de acceso aleatorio. BIOS puede arrancar desde cualquier dispositivos, incluidas cintas de casette.
Otros mitos a desmentir sobre BIOS:
- BIOS no tiene un límite de 2 TB de tamaño de disco duro, esto es propagando de Microsoft. El tamaño de partición de 2TB viene del esquema de particiones MBR, que fue diseñado por Microsoft para emplearlo en el sistema operativo MS-DOS en los 80. De hecho, BIOS es mucho más antiguo que eso. A BIOS no le importan las particiones: el disco puede emplear cualquier sistema de particiones (MBR, GPT o cualquier otro) o puede carecer de particiones, y BIOS podrá seguir arrancando sin problemas.
- BIOS soporta cualquier tamaño de sector desde los 128 bytes hasta los 64 kilobytes. La única limitación es que le tamaño de sector debe ser una potencia de 2.
- No hay ninguna diferencia entre la llamada “interfaz de usuario” de UEFI y BIOS. Ambas tienen su modo texto y sus programas de SETUP gráfico (configuración). Algunos PCs clónicos de los 90 tenían una interfaz gráfica de SETUP en su firmware (programa de control de circuitos, lo más básico en un dispositivo), pero era una mala idea porque únicamente funcionaba con ciertos tipos de hardware de monitor, requiriendo el uso de tarjetas gráficas y pantallas compatibles específicas.
- Algunos ordenadores ni siquiera tienen un programa de SETUP (configuración) en la ROM (memoria de sólo lectura) de firmware. En su lugar se confguran mediante jumpers en la placa base, o el programa de SETUP se carga desde un medio externo, en general un disco. En algunos ordenadores modernos con UEFI las configuraciones se cambian mediante un disco propietario de Windows, ligándolos a un proveedor de software.