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:
Publicar un comentario