Actualizado a: 5 de septiembre de 2023
Aunque ya no existe el BIOS en los modernos ordenadores que adquirimos en los últimos años, mucha gente por inercia le sigue llamando así al firmware de la placa base que inicia la rutina de arranque. Pero como sabes, ahora se llama UEFI, es decir, un firmware más flexible y con una serie de ventajas frente a los anticuados BIOS.
Actualizar el firmware de tu equipo puede ser una buena idea, no solo para corregir algunos problemas de seguridad, también por cuestiones técnicas. Por ejemplo, puede que un cierto componente deje de funcionar y la solución sea actualizar el firmware para que continúe prestando el servicio con normalidad.
¿Qué es el firmware?
Todos tenemos bastante claro lo que es hardware, es decir, esa parte física y palpable del equipo que podemos tocar, toda la electrónica. Y también sabemos distinguir bien el software, es decir, una parte lógica de nuestros equipos que no podemos tocar, pero que está ahí, es la parte que programa al hardware para que tenga una utilidad.
Pues bien, también existe algo intermedio entre el software y el hardware que es lo que conocemos como firmware. Se trata de una rutina o programa, un código que puede ser cargado en un tipo de memoria ROM programable o flash para que la electrónica “sepa” qué tiene que hacer. De hecho, actúa como un intermediario entre el hardware y el controlador o driver.
El firmware está presente en casi todos los dispositivos de hardware, desde las impresoras, la GPU, unidad óptica, ratón, routers, etc., e incluso en la propia CPU si contiene el famoso microcódigo que se ha hecho tan famoso tras las vulnerabilidades Spectre y Meltdown que tanto han dado que hablar.
Además, los equipos también tienen otro firmware muy importante que se encarga de hacer que todo lo demás funcione, de implementar una rutina de arranque para que el ordenador pueda ponerse en marcha y encontrar el kernel del sistema operativo instalado y desde ahí, ceder el control a éste.
Me estoy refiriendo al BIOS (Basic Input Output System) o al actual UEFI (Universal Extensible Firmware Interface) que ha venido a sustituir a los primitivos sistemas anteriores. Unas rutinas de código almacenadas en una memoria flash en un chip de la placa base serán las que compongan el UEFI de nuestro equipo y activen la máquina durante el arranque, detecten los discos duros o medios donde esté el sistema operativo, e incluso realizar algunas comprobaciones de componentes.
Estas comprobaciones es el famoso POST (Power On Self Test), que comprobará el estado de algunos componentes esenciales como la CPU, RAM, disco duro, etc., así como ciertos periféricos, asegurándose de que todo marcha adecuadamente.
¿Por qué es importante actualizar el firmware?
Ya sea el firmware de cualquier dispositivo, el UEFI o el microcódigo, es muy importante actualizarlo, y en ocasiones puede ser vital para que un dispositivo de hardware funcione adecuadamente. Por ejemplo, puede haber vulnerabilidades que afectan muy gravemente a la seguridad que se podrán arreglar con una actualización.
También podrían resolver problemas de funcionamiento. Por ejemplo, recuerdo que mi unidad regrabadora de CD/DVD dejó de funcionar y la solución fue simplemente actualizar el firmware para corregir un bug que hacía que dejasen de funcionar.
Otros motivos podrían ser simplemente disponer de la última versión disponible para asegurarnos que tenemos las últimas funcionalidades o características de estos dispositivos. Incluso podrían mejorar el rendimiento de forma considerable.
Consideraciones, consejos antes de actualizar el UEFI/firmware/microcódigo
¡Cuidado! Especialmente los novatos, ya que actualizar el software no tiene mayor importancia, si algo sale mal se puede resolver reinstalando o con acciones sencillas. Pero no es así cuando hablamos del firmware, que podría dejar el equipo totalmente inservible. Por tanto, asegurate antes de nada de que sabes lo que haces.
Evita descargar firmware o microcódigo desde webs que no sean oficiales. Puede haber código malicioso en algunas webs que se camuflen como una actualización y que luego dejen el equipo totalmente estropeado o con ciertos problemas de seguridad porque dicho código ha sido modificado.
Una actualización mal hecha podría corromper el firmware almacenado en la memoria EEROM o flash, lo que podría inutilizar el sistema, por tanto no es una broma. De hecho, existe el término “brick” que se usa en argot de hardware para referirse a este tipo de hardware afectado por una actualización del firmware inadecuada.
El término inglés brick hace referencia a un ladrillo, que es una metáfora de cómo quedaría el hardware si hay un problema, es decir, totalmente inútil. Si eso ocurre, puedes pensar en invertir dinero para sustituirlo.
Pero no siempre actualizar el firmware o flashear un BIOS/UEFI significa poner el equipo en riesgo si lo haces adecuadamente. Asegúrate especialmente de la alimentación, si se va la luz durante el proceso y no tienes un sistema SAI o batería en el equipo, el código se almacenará en la ROM de forma incompleta y no servirá.
Por último, me gustaría tranquilizarte, ya que hay actualizaciones del firmware que no implican mayor riesgo, ya que se hacen con una actualización de cierto código del kernel del sistema operativo como es el caso del microcódigo. En el caso del firmware para otros periféricos, podría simplemente pasar por una actualización del driver.
Cómo actualizar el firmware:
Ya sea desde Windows, MacOS, Linux, o cualquier sistema operativo, puedes actualizar el firmware de un dispositivo de forma sencilla. Solo debes descargar el firmware desde la página web oficial del fabricante (busca en la zona de descargas por firmware para tu modelo) e instalarlo como harías con cualquier binario ejecutable. Así de sencillo.
Incluso, cuando instalamos los controladores o drivers del dispositivo en cuestión, en ocasiones puede que el asistente nos de la posibilidad de actualizar el firmware del equipo, lo que resultará bastante sencillo de hacer aceptando y siguiendo el asistente de instalación.
Cómo se actualiza la BIOS/UEFI de la placa base
Antes de comenzar, asegurate saber bien lo que estás haciendo, o podrás tener los problemas de los que hemos hablado en apartados anteriores. Si no sabes bien cómo hacerlo, te recomiendo que consultes a un técnico o experto para que te pueda hacer el proceso u orientar.
*Nota: para más información, consulta a la web oficial del firmware de tu equipo, como Phoenix, Award, AMI, etc.
Ahora bien, una vez sabemos esto, vamos a describir el proceso paso a paso desde Microsoft Windows y también desde GNU/Linux, ya que son los dos sistemas operativos bastante populares entre la mayoría de usuarios:
Actualizar BIOS/UEFI
- 1) Arranca tu sistema y accede al menú de tu BIOS/UEFI. Para ello, nada más encender el equipo comienzas a pulsar la tecla Supr (en la mayoría de los casos) varias veces y se te mostrará la pantalla principal. Dentro podrás encontrar información sobre la versión.
- 2) Con esa información sabremos la versión de nuestro BIOS/UEFI, marca y modelo, eso es muy importante para dirigirnos a la web del proveedor y consultar si existe una versión posterior o si ya disponemos de la última versión y no necesitamos instalar actualización.
- 3) Accede a la web del fabricante una vez sepas todos estos datos y desde allí, en la zona de soporte técnico y descargas podremos buscar si existe alguna actualización. Por lo general, si tienes un equipo de marca o un portátil, te debes dirigir directamente a la web oficial de la marca (HP, Lenovo, ASUS, Acer,…) y en la zona de Descargas y Soporte técnico, buscar tu modelo. Allí encontrarás el firmware o actualización del BIOS/UEFI para descargar.
- 4) Si es así, la descargaremos. Se tratará de un archivo tipo ZIP con la ROM o firmware listo para poderlo instalar de forma muy sencilla. Y ahora nos debemos fijar qué hay dentro de este ZIP, puesto que si es un ejecutable, pasamos al paso 5a. Pero si es un archivo raro, entonces debes copiarlo en un pendrive y pasar al paso 5b.
- 5a) Descomprimimos el archivo descargado, y ejecutamos (.exe). En la mayoría de los casos esos es suficiente para actualizar nuestro BIOS/UEFI. Por cierto, por lo general sería bueno cerrar todos los programas que tengamos abiertos e incluso el propio Antivirus, ya que podría generar conflictos.
- 5b) En caso de que no sea un ejecutable, deberás iniciar de nuevo el equipo, entrar en el BIOS/UEFI y con el pendrive insertado, verás alguna opción como Advanced, desde allí podrás acceder a opciones tales como Start Easy Flash, ASUS EZ Flash Utility, o nombres similares dependiendo del modelo y fabricante. Un asistente te permitirá elegir la unidad donde se encuentra el archivo que has descargado (suelen tener extensiones como .203, .213,…), lo seleccionas, aceptas el proceso y se iniciará la actualización.
*Nota: recuerda que el pendrive debe estar formateado con formato FAT32, o de lo contrario no será reconocido por el sistema.
Finalmente se reinicia el sistema y si todo ha ido bien ya tendrás la nueva versión. Puedes volver a realizar el paso 1 para comprobar que la versión efectivamente ha cambiado.
Actualizar BIOS/UEFI desde Linux
Si eres usuario de Linux, también te servirán los pasos anteriores siempre y cuando no sea un ejecutable .exe para Windows. Por lo general en los sistemas nuevos se hace desde la propia BIOS/UEFI, así que es un procedimiento universal, pero en cualquier otro caso, tampoco es un proceso complicado:
- 1) Instala el paquete flashrom en tu distribución usando el gestor de paquetes que utilices normalmente, ya que es una herramienta que se encuentra entre los repositorios de las distribuciones más importantes.
- 2) Usa root o sudo, ya que para usarla se necesitan privilegios al ser algo delicado.
- 3) Identifica el firmware que usamos simplemente ejecutando el comando siguiente desde el terminal:
flashrom
- 4) Te recomiendo que hagas un backup de tu ROM actual, por si tienes problemas durante la actualización. Para ello, simplemente ejecuta desde el terminal el siguiente comando:
flashrom -r mi_copia.bin
- 5) Ahora, con el fichero descargado que hemos conseguido desde la web oficial del fabricante, simplemente vamos a flashear con el siguiente comando:
flashrom -wv nombre_archivo_descargado.bin
Y ya estará todo listo.
Cómo actualizar el microcódigo
¿Qué es exactamente el microcódigo?
El microcódigo es también un tipo especial de firmware que afecta a la CPU de nuestro equipo. Algunas CPUs tienen una unidad de control cableada, mucho más eficiente pero menos flexible. Por eso, los microprocesadores actuales tienen una unidad de control microprogramada con un microcódigo almacenado en una memoria no volátil.
Ese microcódigo será el que podemos actualizar con ayuda de estos pasos que te mostramos en este manual. El microcódigo no solo sirve para que la CPU trabaje reconociendo las instrucciones, decodificándolas adecuadamente y poniendo en marcha las unidades funcionales necesarias para ejecutar programas.
También puede determinar la forma de hacer todo esto, por eso, desde que aparecieron las vulnerabilidades que afectaban a los chips de Intel principalmente, este microcódigo ha pasado de ser algo a lo que nadie prestaba atención a estar en boca de todos.
Las vulnerabilidades como Spectre, Meltdown y todas las demás que se han ido descubriendo a raíz de estas, aprovechan ciertos sistemas para aumentar el rendimiento de los microprocesadores actuales para explotar estas debilidades y comprometer la seguridad del sistema. Con el microcódigo se puede paliar dichas debilidades para que no se puedan explotar por ciberdelicuentes con malas intenciones.
Además, algunos microprocesadores puede que vengan con algún bug de fábrica, algún tipo de fallo que se pueda erradicar con una actualización del microcódigo como ha sucedido varias veces a lo largo de la historia. Por eso es importante tenerlo actualizado adecuadamente
Actualizar el microcódigo
Es importante antes de actualizar el microcódigo que tengas el BIOS/UEFI actualizado, de lo contrario podría no funcionar con tu versión actual de este firmware. Así que asegurate de tener la versión apropiada leyendo los manuales o documentación que se aporte con la actualización que estás intentando hacer.
En Mac o Windows puede pasar simplemente por tener activadas las actualizaciones de Windows Update o del sistema macOS, ya que en los propios parches o actualizaciones que se van descargando y actualizando también se incluirán los parches de microcódigo.
En el caso de Linux y otros sistemas puede ser algo más complejo, aunque no mucho más que eso. De hecho, en Linux, si disponemos de los paquetes llamados amd64-microcode (para CPUs AMD), y intel-microcode (para los chips de Intel).
*Nota: en algunas distros puede llamarse a los paquetes de forma diferente, y los procesos ser algo diferentes. Por ejemplo, microcode_ctl será el nombre del paquete para openSUSE, SUSE, RHEL, CentOS y derivados). Mientras que en Arch Linux y derivados se llaman intel-ucode y amd-ucode.
Si los tenemos instalados, las propias actualizaciones de la distribución se encargarán de descargar e instalar los parches como lo haría Windows Update.