Informació del sistema LinuxInformáticaLinux

BIOS i UEFI: diferències i com saber quin fa servir el teu Linux

BIOS vs. UEFI: La Batalla Definitiva por el Control de tu Computadora


Quan engegues l’ordinador, abans que arrenqui Linux (o qualsevol altre sistema operatiu) s’executa un petit programa gravat a la placa base: el firmware. Durant dècades aquest firmware va ser la BIOS; avui gairebé tots els equips fan servir UEFI. En aquest post t’explico què és cadascun, en què es diferencien i com saber des de Linux quin fa servir el teu equip.

Què és la BIOS

La BIOS (Basic Input/Output System) és el firmware clàssic dels PC compatibles, present des dels anys 80 en un xip de memòria de la placa base. En arrencar fa tres coses:

  1. Comprova el maquinari bàsic (CPU, memòria, discos…) amb el POST (Power-On Self-Test).
  2. Busca un disc d’arrencada seguint l’ordre que has configurat.
  3. Llegeix el primer sector d’aquest disc, el MBR (Master Boot Record, 512 bytes), i hi salta. Allà hi ha un carregador d’arrencada minúscul que, al seu torn, carrega el de debò (per exemple, GRUB).

Característiques principals:

  • Interfície de text, que es fa servir amb el teclat.
  • Funciona en mode de 16 bits i té accés a molt poca memòria.
  • Va lligada a la taula de particions MBR: màxim 4 particions primàries i discos de fins a 2 TiB.

Què és UEFI

UEFI (Unified Extensible Firmware Interface) és l’especificació que va substituir la BIOS. També és firmware de la placa base, però molt més complet: pot carregar controladors i aplicacions pròpies abans del sistema operatiu.

La diferència clau és com arrenca: UEFI no salta a un sector del disc, sinó que llegeix una partició especial, la ESP (EFI System Partition), formatada en FAT32, i executa un fitxer .efi que hi ha a dins. A Linux, aquesta partició sol estar muntada a /boot/efi (o a /efi o /boot en algunes distribucions) i hi trobaràs, per exemple, EFI/debian/grubx64.efi o EFI/ubuntu/shimx64.efi.

Característiques principals:

  • Interfície gràfica, sovint amb ratolí (depèn del fabricant).
  • Funciona en mode de 32 o 64 bits.
  • Arrenca discos amb taula de particions GPT (GUID Partition Table): discos de més de 2 TiB i fins a 128 particions per defecte.
  • Secure Boot: només executa carregadors d’arrencada signats amb claus de confiança, cosa que dificulta que un programari maliciós s’instal·li a l’arrencada.
  • Gestiona una llista d’entrades d’arrencada pròpia, que es pot modificar des del sistema operatiu.

Diferències principals

BIOSUEFI
ÈpocaAnys 80 fins a ~2010Equips des de ~2010; únic sistema als actuals
Taula de particionsMBR (discos de fins a 2 TiB)GPT (pot llegir també MBR)
On és el carregadorAl primer sector del discEn un fitxer .efi de la partició ESP
InterfícieText i teclatGràfica (segons el fabricant)
SeguretatCap verificacióSecure Boot
Entrades d’arrencadaOrdre de discosLlista d’entrades editable (efibootmgr)

Molts equips UEFI incloïen un mode de compatibilitat, el CSM (Compatibility Support Module), que imitava una BIOS per arrencar sistemes antics. Aquest mode està desapareixent: Intel el va deixar de suportar a les seves plataformes a partir del 2020 i molts equips nous ja no l’ofereixen. Si instal·les Linux en un ordinador actual, fes-ho en mode UEFI i amb disc GPT.

Com saber si el teu Linux ha arrencat amb UEFI o BIOS

La manera més ràpida és mirar si existeix el directori /sys/firmware/efi, que el nucli només crea quan ha arrencat en mode UEFI:

$ [ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS (o sense UEFI)"
UEFI

Si és UEFI, pots veure les entrades d’arrencada del firmware amb efibootmgr (paquet del mateix nom) i l’estat de Secure Boot amb mokutil (cal tenir instal·lat el paquet mokutil):

$ efibootmgr        # mostra BootCurrent, BootOrder i les entrades Boot0000, Boot0001…
$ mokutil --sb-state
SecureBoot enabled

Per saber si un disc fa servir MBR o GPT, mira la columna PTTYPE de lsblk (dos vol dir MBR):

$ lsblk -o NAME,SIZE,PTTYPE

I el Raspberry Pi?

El Raspberry Pi no fa servir ni BIOS ni UEFI: té un carregador d’arrencada propi (a la memòria EEPROM als models 4 i 5) que llegeix la partició FAT /boot/firmware i hi troba el nucli i el fitxer config.txt. Per això en un Pi el directori /sys/firmware/efi no existeix:

$ [ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS (o sense UEFI)"
BIOS (o sense UEFI)

$ ls /sys/firmware/
devicetree  fdt

Conclusió

BIOS i UEFI fan la mateixa feina bàsica, inicialitzar el maquinari i passar el control al carregador d’arrencada, però UEFI ho fa amb discos més grans, més seguretat i més flexibilitat. Avui la BIOS només la trobaràs en equips antics o en màquines virtuals configurades així; per a qualsevol instal·lació nova, UEFI + GPT és el camí.

Posts relacionats