domingo, 24 de mayo de 2026

Cómo eliminar el error PXE-E05 en el arranque con una tarjeta Intel 82571EB

Cómo eliminar el error PXE-E05 en el arranque con una tarjeta Intel 82571EB

Si al encender el ordenador aparece el siguiente mensaje y el arranque tarda más de lo normal, este artículo explica cómo solucionarlo definitivamente.

Initializing Intel(R) Boot Agent GE v.1.2.36
PXE 2.1 Build 085 (WfM 2.0), RPL v1.28
PXE-E05: The LAN adapter's NVM configuration is corrupted
         or has not been initialized. The Boot Agent cannot continue.

¿Qué es este error?

Este mensaje lo genera el Intel Boot Agent, un firmware grabado en la ROM de la tarjeta de red que permite arrancar el equipo desde la red (PXE boot). Es especialmente común en tarjetas de gama profesional/servidor como la Intel 82571EB Gigabit, donde el PXE viene activado de fábrica.

El error PXE-E05 indica que la NVM (memoria no volátil) de la tarjeta está corrupta o sin inicializar. La red sigue funcionando con normalidad una vez cargado el sistema operativo, pero el proceso de arranque se alarga innecesariamente mientras el Boot Agent intenta iniciarse y falla.

Identificar la tarjeta y sus puertos

En Linux, podemos identificar el hardware con:

lspci | grep Ethernet

En nuestro caso la salida fue:

02:00.0 Ethernet controller: Intel Corporation 82571EB/82571GB Gigabit Ethernet Controller D0/D1 (copper applications) (rev 06)
02:00.1 Ethernet controller: Intel Corporation 82571EB/82571GB Gigabit Ethernet Controller D0/D1 (copper applications) (rev 06)

Para saber el driver en uso:

lspci -k -s 02:00.0

Salida esperada:

Kernel driver in use: e1000e
Kernel modules: e1000e

La solución: Intel BootUtil

Intel proporciona una utilidad llamada BootUtil que permite modificar la configuración del Boot Agent directamente en la NVM de la tarjeta, de forma permanente e independiente de la BIOS.

La herramienta se descarga desde la página oficial de Intel: Intel® Ethernet Connections Boot Utility, Preboot Images, and EFI Drivers . Para Linux hay que descargar el archivo Preboot.tar.gz.

Una vez descomprimido, el ejecutable para Linux de 64 bits es bootutil64e.

Primer intento: -BOOTENABLE=disable

El comando habitual para desactivar el PXE es:

sudo ./bootutil64e -NIC=2 -BOOTENABLE=disable

Pero en nuestro caso devolvió un error:

Found discrete ROM in the flash for NIC 2
The -BOOTENABLE command can only be used on flashed combo images
Bad parameter

El problema es que la tarjeta tiene una ROM discreta en lugar de una imagen combo, por lo que el parámetro -BOOTENABLE no es compatible. El listado de puertos mostraba la situación:

Port  Network Address    Location         Series   WOL  Flash Firmware          Version
====  =================  ===============  =======  ===  ======================  =======
   1  C860000A7864       00000:000:25.0   Gigabit  YES  FLASH Not Present
   2  001517851DD6       00000:002:00.0   Gigabit  YES  PXE                     1.2.36
   3  001517851DD7       00000:002:00.1   Gigabit  N/A  FLASH Disabled

El puerto 2 (NIC 2) tenía el Boot Agent PXE activo, mientras que el puerto 3 ya estaba desactivado.

Solución correcta: -FLASHDISABLE

El comando correcto para ROM discreta es -FLASHDISABLE:

sudo ./bootutil64e -NIC=2 -FLASHDISABLE

Salida:

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.43.32.0
Copyright (C) 2003-2026 Intel Corporation
Disabling boot ROM on port 2...Success

Port  Network Address    Location         Series   WOL  Flash Firmware          Version
====  =================  ===============  =======  ===  ======================  =======
   1  C860000A7864       00000:000:25.0   Gigabit  YES  FLASH Not Present
   2  001517851DD6       00000:002:00.0   Gigabit  YES  FLASH Disabled
   3  001517851DD7       00000:002:00.1   Gigabit  N/A  FLASH Disabled

Ambos puertos con FLASH Disabled. El cambio es permanente: se graba en la NVM de la tarjeta y persiste aunque se cambie de equipo o de BIOS.

Resultado

Al reiniciar, el mensaje PXE-E05 desapareció por completo y el arranque se redujo notablemente al eliminarse la espera del Boot Agent. La tarjeta de red sigue funcionando con normalidad en el sistema operativo, ya que el driver e1000e es completamente independiente del firmware de arranque PXE.

Resumen de comandos

# Identificar la tarjeta
lspci | grep Ethernet
lspci -k -s 02:00.0

# Descargar BootUtil desde Intel y descomprimir
tar -xzf Preboot.tar.gz
cd APPS/BootUtil/Linux_x64/

# Listar puertos y estado
sudo ./bootutil64e

# Deshabilitar el Boot Agent en ROM discreta
sudo ./bootutil64e -NIC=2 -FLASHDISABLE

No hay comentarios: