fwupd es el servicio de Linux para actualizar firmware de forma segura: BIOS/UEFI, SSD NVMe, controladoras Thunderbolt, docks y otros dispositivos. Descarga el firmware firmado por los fabricantes desde LVFS (Linux Vendor Firmware Service) y lo instala sin herramientas propietarias ni pendrives de arranque. En este tutorial usarás fwupdmgr en Ubuntu 24.04 para ver qué dispositivos se pueden actualizar, comprobar si hay versiones nuevas, instalarlas con seguridad, verificar el resultado y volver a la versión anterior si algo no va bien.
Requisitos previos
- Un servidor físico o un equipo con Ubuntu 24.04 LTS arrancado en modo UEFI. Las actualizaciones de BIOS se entregan como cápsulas UEFI y no funcionan en arranque legacy.
- Un usuario no root con privilegios
sudo. - Acceso a Internet hacia
cdn.fwupd.org. - Una ventana de mantenimiento y copia de seguridad reciente si vas a actualizar la BIOS: el servidor se reiniciará y no debe perder la alimentación durante el proceso.
Notafwupd no tiene nada que actualizar dentro de un VPS, porque el firmware real pertenece al host físico. Tampoco todos los servidores están en LVFS: Dell y Lenovo publican mucho firmware de servidor, mientras que otros fabricantes solo ofrecen sus herramientas o la actualización desde la BMC. El paso 2 te dirá qué cubre fwupd en tu máquina.
Comprueba que el sistema arrancó en modo UEFI:
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS legacy"
UEFI
Paso 1: Instalar fwupd
fwupd viene instalado en la mayoría de imágenes de Ubuntu 24.04. Si no lo tienes, instálalo:
sudo apt update
sudo apt install fwupd
Comprueba la versión:
fwupdmgr --version
runtime org.freedesktop.fwupd 1.9.16
compile org.freedesktop.fwupd 1.9.16
No hace falta habilitar ningún servicio: el demonio fwupd se activa solo cuando fwupdmgr lo necesita.
Paso 2: Ver los dispositivos que fwupd puede gestionar
Lista los dispositivos detectados:
sudo fwupdmgr get-devices
PowerEdge R650
│
├─System Firmware:
│ Device ID: a45df35ac0e948ee180fe216a5f703f32dda163f
│ Current version: 1.12.1
│ Vendor: Dell Inc. (DMI:Dell Inc.)
│ GUIDs: cf5a3b8e-47b8-4d0d-a1f6-9b6b4ae0f8f1
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Needs a reboot after installation
│
└─SAMSUNG MZQL2960HCJR-00A07:
Device ID: 71b677ca0f1bc2c5b804fa1d59e52064ce589293
Current version: GDC5602Q
Vendor: Samsung Electronics Co Ltd (NVME:0x144D)
Device Flags: • Internal device
• Updatable
Para cada dispositivo fíjate en:
Device ID: el identificador que usarás para actuar sobre un dispositivo concreto.Current version: la versión de firmware instalada.Updatable: solo los dispositivos con este flag se pueden actualizar con fwupd.Needs a reboot after installation: la actualización se aplica en el siguiente arranque (típico de la BIOS).
Si tu BIOS no aparece como Updatable, fwupd no puede actualizarla en este modelo y tendrás que usar la herramienta del fabricante o la BMC.
Paso 3: Descargar los metadatos de LVFS y buscar actualizaciones
fwupd necesita el catálogo de firmware de LVFS para saber qué versiones existen. Descárgalo:
sudo fwupdmgr refresh
Updating lvfs
Downloading… [***************************************]
Successfully downloaded new metadata: 1 local device supported
Consulta qué actualizaciones hay para tus dispositivos:
sudo fwupdmgr get-updates
PowerEdge R650
│
└─System Firmware:
│ Device ID: a45df35ac0e948ee180fe216a5f703f32dda163f
│ Current version: 1.12.1
│
└─PowerEdge R650 System BIOS:
New version: 1.14.1
Remote ID: lvfs
Release ID: 118204
Summary: Firmware for the Dell PowerEdge R650
Variant: Dell
Urgency: High
Vendor: Dell Inc.
Description:
This stable release fixes the following security issues: CVE-...
Lee siempre la descripción: indica qué corrige la versión y si incluye parches de seguridad. Si no hay nada nuevo, el comando responde que no hay actualizaciones disponibles.
Ubuntu ya descarga los metadatos de forma periódica con un temporizador de systemd. Compruébalo con:
systemctl list-timers fwupd-refresh.timer
Paso 4: Instalar las actualizaciones
Antes de actualizar, anota las versiones actuales del paso 2 y asegúrate de tener copia de seguridad. En un servidor, actualiza los dispositivos de uno en uno para saber qué ha cambiado en cada reinicio. Pasa el Device ID del dispositivo:
sudo fwupdmgr update a45df35ac0e948ee180fe216a5f703f32dda163f
fwupdmgr muestra la versión que va a instalar y pide confirmación. En la BIOS, descarga el archivo, lo prepara como cápsula UEFI y te pide reiniciar:
Upgrade System Firmware from 1.12.1 to 1.14.1?
...
Perform operation? [Y|n]: y
Downloading… [***************************************]
Scheduling… [***************************************]
Successfully installed firmware
An update requires a reboot to complete. Restart now? [y|N]:
Puedes reiniciar en ese momento o responder N y hacerlo dentro de la ventana de mantenimiento:
sudo systemctl reboot
Durante el reinicio el firmware aplica la cápsula antes de cargar Ubuntu. El servidor puede tardar varios minutos más de lo normal y reiniciarse más de una vez: no lo apagues.
Si prefieres actualizar todo lo pendiente de una vez, ejecuta sudo fwupdmgr update sin argumentos.
Advertenciano cortes la alimentación ni fuerces un reinicio mientras se aplica una actualización de BIOS. Un corte en ese momento puede dejar la placa sin arrancar.
Paso 5: Verificar la actualización
Cuando el sistema vuelva a arrancar, consulta el historial de fwupd:
sudo fwupdmgr get-history
└─System Firmware:
Device ID: a45df35ac0e948ee180fe216a5f703f32dda163f
Previous version: 1.12.1
Update State: Success
Last modified: 2026-09-25 03:12
...
Update State: Success confirma que el firmware se aplicó. Contrasta la versión de BIOS con la que informa el propio firmware:
sudo dmidecode -s bios-version
1.14.1
Si ves Update State: Failed, el campo Update Error explica el motivo. Revisa también sudo journalctl -u fwupd -b para ver el registro del arranque actual.
Paso 6: Volver a una versión anterior
Si tras una actualización aparece un problema, fwupd permite instalar una versión anterior siempre que el fabricante la mantenga publicada en LVFS y el dispositivo acepte downgrades. Consulta las versiones disponibles para el dispositivo:
sudo fwupdmgr get-releases a45df35ac0e948ee180fe216a5f703f32dda163f
Y ejecuta el downgrade, que te ofrecerá las versiones anteriores para que elijas:
sudo fwupdmgr downgrade a45df35ac0e948ee180fe216a5f703f32dda163f
Algunas BIOS bloquean la vuelta atrás por seguridad (protección anti-rollback). En ese caso fwupd no ofrecerá versiones anteriores y la única opción es el soporte del fabricante.
Paso 7: Revisar la seguridad de la plataforma (opcional)
fwupd también evalúa la configuración de seguridad del firmware: Secure Boot, protección de la SPI flash, cifrado de memoria y otras medidas, agrupadas en niveles HSI (Host Security ID):
sudo fwupdmgr security
Host Security ID: HSI:1! (v1.9.16)
HSI-1
✔ BIOS firmware updates: Enabled
✔ SPI write: Disabled
✘ UEFI secure boot: Disabled
...
Las líneas con ✘ son medidas desactivadas. No todas aplican a un servidor, pero sirven como lista de revisión de la configuración de la BIOS.
Solución de problemas
No detected devices o la BIOS no aparece. El sistema arrancó en modo legacy, el fabricante no publica ese firmware en LVFS o estás en una máquina virtual. Comprueba el modo UEFI como en los requisitos y consulta si tu modelo está en fwupd.org/lvfs/devices.
El dispositivo aparece pero no se actualiza. Revisa Device Flags y Update Error en sudo fwupdmgr get-devices. Mensajes como requires AC power o Battery level is too low bloquean la actualización hasta que se cumple la condición.
La actualización de BIOS se programa pero nunca se aplica. La cápsula se carga desde la partición EFI con el binario de fwupd. Comprueba que /boot/efi está montado con findmnt /boot/efi y que Secure Boot no rechaza el cargador: en Ubuntu el paquete fwupd-signed aporta la versión firmada.
Error al descargar metadatos. Comprueba la hora del sistema con timedatectl (una fecha incorrecta invalida las firmas) y el acceso a cdn.fwupd.org. Después repite sudo fwupdmgr refresh --force.
Conclusión
Con fwupd puedes mantener actualizados la BIOS y el firmware de los dispositivos compatibles desde la propia línea de comandos, con firmware firmado por el fabricante, historial de cambios y posibilidad de volver atrás. Como siguientes pasos:
- Incluye
sudo fwupdmgr get-updatesen tu revisión periódica de parches y agrupa las actualizaciones de BIOS en ventanas de mantenimiento. - Actualiza el firmware de la BMC y de las controladoras RAID con las herramientas del fabricante cuando no estén en LVFS.
- Vigila la salud de los discos con smartmontools después de actualizar el firmware de un SSD.
