LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Linux permite conocer el fabricante, la versión y la fecha del firmware sin reiniciar el ordenador ni entrar en la configuración de la placa base

Conocer la versión de la BIOS o UEFI instalada puede resultar necesario para solucionar problemas de compatibilidad, comprobar vulnerabilidades, instalar un procesador nuevo o determinar si el fabricante ha publicado una actualización importante.

Aunque esta información suele aparecer al encender el ordenador o dentro del menú de configuración del firmware, en Linux podemos consultarla directamente desde el terminal. No es necesario reiniciar el equipo ni pulsar ninguna tecla durante el arranque.

Existen varios métodos para hacerlo. Los más útiles emplean dmidecode, los archivos disponibles en /sys, la herramienta hostnamectl o el servicio de actualización de firmware fwupd.

Consultar la versión mediante dmidecode

dmidecode es una herramienta que lee la información incluida por el fabricante en las tablas DMI o SMBIOS del equipo.

Para mostrar solamente la versión de la BIOS podemos ejecutar:

sudo dmidecode -s bios-version

Un posible resultado sería:

F.28

Para conocer la fecha de publicación o compilación:

sudo dmidecode -s bios-release-date

Y para consultar el fabricante:

sudo dmidecode -s bios-vendor

Podemos reunir los tres datos ejecutando:

sudo dmidecode -s bios-vendor
sudo dmidecode -s bios-version
sudo dmidecode -s bios-release-date

El resultado podría ser similar al siguiente:

American Megatrends International, LLC.
F23
03/22/2024

En este ejemplo, el fabricante del firmware es American Megatrends, la versión instalada es la F23 y su fecha es el 22 de marzo de 2024.

Mostrar toda la información de la BIOS

Si necesitamos un informe más completo podemos utilizar:

sudo dmidecode --type bios

También podemos escribir la forma abreviada:

sudo dmidecode -t bios

La salida puede contener información como:

BIOS Information
        Vendor: American Megatrends International, LLC.
        Version: F23
        Release Date: 03/22/2024
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                UEFI is supported

Además del fabricante, la versión y la fecha, esta información puede indicar el tamaño de la memoria del firmware y algunas de las tecnologías admitidas por la placa.

La salida completa de dmidecode es bastante extensa. Si ejecutamos la aplicación sin opciones, mostrará información sobre la placa base, el procesador, la memoria, las ranuras de expansión y otros componentes:

sudo dmidecode

Para consultar únicamente los datos relacionados con el sistema:

sudo dmidecode --type system

Y para identificar la placa base:

sudo dmidecode --type baseboard

Esto puede resultar útil porque, para buscar una actualización, normalmente necesitaremos conocer tanto la versión actual de la BIOS como el modelo exacto del ordenador o de la placa base.

Instalar dmidecode

La herramienta suele venir instalada en muchas distribuciones. Si el sistema indica que no encuentra el comando, podemos instalarla desde los repositorios.

En Debian, Ubuntu, Linux Mint y derivados:

sudo apt update
sudo apt install dmidecode

En Fedora:

sudo dnf install dmidecode

En openSUSE:

sudo zypper install dmidecode

En Arch Linux y derivados:

sudo pacman -S dmidecode

La lectura directa de las tablas DMI puede necesitar privilegios administrativos, razón por la que los ejemplos utilizan sudo.

Consultar la BIOS sin utilizar sudo

El kernel de Linux expone numerosos datos del sistema mediante el sistema de archivos virtual sysfs. En muchos equipos, la información de la BIOS puede consultarse sin permisos de administrador.

Para mostrar la versión:

cat /sys/class/dmi/id/bios_version

Para conocer el fabricante:

cat /sys/class/dmi/id/bios_vendor

Y para consultar la fecha:

cat /sys/class/dmi/id/bios_date

También podemos ejecutar los tres comandos seguidos:

cat /sys/class/dmi/id/bios_vendor
cat /sys/class/dmi/id/bios_version
cat /sys/class/dmi/id/bios_date

Si queremos que la salida resulte más clara:

printf 'Fabricante: '; cat /sys/class/dmi/id/bios_vendor
printf 'Versión: '; cat /sys/class/dmi/id/bios_version
printf 'Fecha: '; cat /sys/class/dmi/id/bios_date

Este método resulta especialmente cómodo para utilizarlo dentro de scripts, ya que cada archivo contiene un dato concreto y normalmente no es necesario filtrar una salida extensa.

Podemos consultar todos los campos DMI disponibles mediante:

ls /sys/class/dmi/id/

Dependiendo del equipo, encontraremos archivos como:

bios_date
bios_vendor
bios_version
board_name
board_vendor
board_version
product_name
product_version
sys_vendor

Para identificar conjuntamente el ordenador y su firmware podemos utilizar:

printf 'Fabricante: '; cat /sys/class/dmi/id/sys_vendor
printf 'Modelo: '; cat /sys/class/dmi/id/product_name
printf 'BIOS/UEFI: '; cat /sys/class/dmi/id/bios_version
printf 'Fecha: '; cat /sys/class/dmi/id/bios_date

Obtener información con hostnamectl

En distribuciones que utilizan systemd, el comando hostnamectl puede mostrar información adicional del hardware y del firmware:

hostnamectl

Dependiendo de la versión de systemd y de los datos facilitados por el fabricante, la salida puede incluir campos relacionados con el proveedor, el modelo y la versión del firmware.

No todos los sistemas presentan esos datos mediante hostnamectl. Si no aparecen, podemos recurrir a dmidecode o leer directamente los archivos de /sys/class/dmi/id/.

Saber si Linux arrancó en modo UEFI

Tener instalado un firmware UEFI no significa necesariamente que Linux se haya iniciado utilizando ese modo. Algunos equipos permiten arrancar mediante una modalidad de compatibilidad conocida como Legacy BIOS o CSM.

Para comprobar cómo se inició el sistema podemos ejecutar:

if [ -d /sys/firmware/efi ]; then
    echo "El sistema ha arrancado en modo UEFI"
else
    echo "El sistema ha arrancado en modo BIOS tradicional o Legacy"
fi

También podemos comprobarlo directamente:

ls /sys/firmware/efi

Si el directorio existe y contiene información, Linux se ha iniciado en modo UEFI. Si no existe, normalmente ha arrancado en modo BIOS tradicional o mediante el modo de compatibilidad.

Esta prueba indica el modo de arranque utilizado, no la versión del firmware.

Consultar el firmware mediante fwupdmgr

Muchas distribuciones modernas utilizan fwupd para consultar e instalar actualizaciones de firmware distribuidas mediante LVFS, el servicio de firmware para vendedores de Linux.

Podemos mostrar los dispositivos compatibles mediante:

fwupdmgr get-devices

Si el fabricante admite la actualización de la BIOS desde Linux, podría aparecer una sección semejante a:

System Firmware
  Current version: 1.18.0
  Vendor: Lenovo
  Update State: Success

Para actualizar la información disponible:

sudo fwupdmgr refresh

Y comprobar si existen actualizaciones:

fwupdmgr get-updates

Estos comandos no instalan por sí solos una actualización. Para iniciar la instalación se utiliza:

sudo fwupdmgr update

No debemos ejecutar una actualización de firmware sin revisar antes los cambios, conectar el portátil a la corriente y asegurarnos de que la batería dispone de carga suficiente.

También es recomendable guardar una copia de los datos importantes. Una interrupción durante la actualización podría impedir que el equipo arrancase, aunque muchos ordenadores modernos incorporan mecanismos de recuperación.

La versión mostrada puede no ser completamente fiable

Las herramientas de Linux leen la información que el fabricante ha guardado en las tablas SMBIOS. Si esos campos están vacíos, desactualizados o contienen valores genéricos, Linux no puede corregirlos automáticamente.

En algunos equipos pueden aparecer resultados como:

Default System BIOS
To Be Filled By O.E.M.
Not Specified

Esto no significa necesariamente que el firmware esté dañado. Indica que el fabricante no cumplimentó correctamente ese campo.

En una máquina virtual, dmidecode suele mostrar el firmware y los datos proporcionados por el hipervisor, no los de la máquina física que aloja el sistema.

Por ejemplo, puede identificar fabricantes como:

  • QEMU.
  • VMware.
  • VirtualBox.
  • Microsoft Corporation.
  • Xen.
  • Amazon EC2.

En contenedores también es posible que los archivos DMI no existan o que muestren información del servidor anfitrión, dependiendo del aislamiento configurado.

Cómo saber si existe una versión más reciente

Una vez identificadas la versión de la BIOS y el modelo del equipo, debemos consultar la página oficial del fabricante.

Para recopilar la información necesaria:

sudo dmidecode -s system-manufacturer
sudo dmidecode -s system-product-name
sudo dmidecode -s system-version
sudo dmidecode -s bios-version
sudo dmidecode -s bios-release-date

En un ordenador montado por componentes resultará más útil identificar la placa base:

sudo dmidecode -s baseboard-manufacturer
sudo dmidecode -s baseboard-product-name
sudo dmidecode -s baseboard-version

Después debemos buscar el modelo exacto en la sección de soporte del fabricante.

No conviene descargar una BIOS correspondiente a un modelo parecido. Una misma familia de ordenadores puede contener revisiones diferentes de la placa base que necesiten archivos de firmware distintos.

¿Es necesario actualizar siempre la BIOS?

No debemos actualizar la BIOS únicamente porque exista una versión más reciente. Antes hay que leer las notas de publicación y comprobar qué problemas corrige.

Una actualización puede resultar recomendable cuando:

  • Soluciona una vulnerabilidad de seguridad importante.
  • Añade compatibilidad con un procesador nuevo.
  • Corrige problemas de estabilidad.
  • Resuelve fallos con la memoria RAM.
  • Mejora la compatibilidad con determinados dispositivos.
  • Corrige errores en el arranque UEFI.
  • El fabricante la considera crítica.

Si el ordenador funciona correctamente y la actualización no aporta ninguna mejora necesaria, puede ser preferible mantener la versión actual.

El método más rápido

Para una consulta rápida, normalmente bastará con ejecutar:

sudo dmidecode -s bios-version

Si además necesitamos conocer el fabricante y la fecha:

sudo dmidecode -s bios-vendor
sudo dmidecode -s bios-version
sudo dmidecode -s bios-release-date

Y si queremos evitar sudo:

cat /sys/class/dmi/id/bios_vendor
cat /sys/class/dmi/id/bios_version
cat /sys/class/dmi/id/bios_date

Linux permite así comprobar la versión de la BIOS o UEFI en pocos segundos, sin abandonar el escritorio ni reiniciar el ordenador.


¿Necesitas conocer la versión de la BIOS o UEFI sin reiniciar el ordenador? Te mostramos cómo consultar desde Linux el fabricante, la versión y la fecha del firmware utilizando dmidecode, /sys, hostnamectl y fwupdmgr.

Fuentes

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

 

Dona a LInuxParty

Donar 10

Donar 20

 

 

Tutorial de Linux

Top 15 artículos por Fecha

Viendo artículos de: Agosto de 2026

Filtro por Categorías