When eeupdate64eefi finishes, it returns an exit code that tells you what happened:
| Exit Code | Meaning | |-----------|---------| | 0 | Success | | 1 | No adapters found | | 2 | Invalid command line | | 3 | File I/O error | | 4 | Flash write failure | | 5 | Verification mismatch | eeupdate64eefi work
To see the exit code in UEFI Shell, type echo %lasterror% after the command finishes. When eeupdate64eefi finishes, it returns an exit code
Here are the essential commands that demonstrate how eeupdate64eefi works in practice: # From UEFI shell Shell> fs0: FS0:\> cd
Before performing an update, it is best practice to back up the current EEPROM configuration. This creates a "golden image" of the adapter's original state.
| Tool | Environment | Scope |
|--------------------------|-------------------|------------------------------------------------------------|
| eeupdate64eefi | UEFI shell (x64) | Full NVM management for Intel Ethernet (desktop/server). |
| eeupdatew64.exe | Windows (64‑bit) | Similar functions, but requires Windows driver access. |
| bootutil64e.efi | UEFI shell | Boot option management only (PXE, iSCSI, FCoE), not NVM. |
| nvmupdate64e.efi | UEFI shell | Intel’s newer unified updater (supports more recent NICs). |
| ethtool (Linux) | Linux userspace | Read EEPROM, register dump – no firmware write. |
Note: Intel is deprecating eeupdate in favor of nvmupdate and firmware update over devlink (Linux) for newer devices (E810, E822).
# From UEFI shell
Shell> fs0:
FS0:\> cd EFI\eeupdate
FS0:\EFI\eeupdate\> eeupdate64eefi -nic=1 -dump
FS0:\EFI\eeupdate\> eeupdate64eefi -all -dump
FS0:\EFI\eeupdate\> eeupdate64eefi -nic=2 -f new_firmware.bin
FS0:\EFI\eeupdate\> eeupdate64eefi -nic=1 -mac=001122334455