Fixing UEFI Warnings On BIOS Systems With Fwupdmgr
Are you encountering persistent UEFI warning messages when running fwupdmgr on your BIOS-only system? This article will guide you through understanding why these warnings occur and how to address them. Many users find these warnings misleading and frustrating, especially when their hardware doesn't even support UEFI. Let's dive into the details and explore potential solutions to clear up this confusion.
Understanding the Issue
When running fwupdmgr on a system that operates solely in legacy BIOS mode, you might encounter the following warnings:
WARNING: UEFI ESP partition not detected or configured
WARNING: UEFI firmware can not be updated in legacy BIOS mode
These warnings typically surface because fwupdmgr checks for UEFI-related components, such as the EFI System Partition (ESP), during its initialization process. However, on BIOS-only systems, UEFI is not supported, and consequently, no ESP is present. This discrepancy leads to the warnings, creating unnecessary noise and potentially causing concern for users who might misinterpret them as actionable errors. It's crucial to understand that these warnings are not indicative of a problem but rather a mismatch between the software's expectations and the system's capabilities.
Steps to Reproduce the Issue
To reproduce this issue, follow these steps:
- Boot a server or computer in legacy BIOS mode. Ensure that UEFI is not enabled and there is no ESP.
- Open a terminal or command prompt.
- Run the
fwupdmgrcommand directly (e.g.,sudo fwupdmgr refresh). - Observe the warnings printed during the firmware update check process.
This straightforward process highlights how easily these warnings can appear on systems where they are not relevant. The persistence of these warnings on each run of fwupdmgr can be particularly bothersome, leading users to seek a resolution to eliminate the unnecessary output.
Expected Behavior
Ideally, on BIOS-only systems, fwupd should behave in one of two ways:
- Detect UEFI Incompatibility: The application should intelligently detect that the system does not support UEFI and gracefully skip any UEFI-related checks or operations. This approach would prevent the warnings from being displayed in the first place.
- Mark as Not Applicable: The system could be marked as "Not applicable" for UEFI updates, providing a clear indication that no UEFI updates are relevant without generating repeated warnings. This would offer a more informative and less alarming experience for the user.
Both solutions aim to reduce confusion and ensure that users are only presented with information that is pertinent to their system's configuration. Implementing either of these behaviors would significantly improve the user experience on BIOS-only systems.
Analyzing the Problem in Detail
To further investigate this issue, let's examine the fwupd version information and device details. This information can provide valuable insights into the system configuration and help identify potential causes or solutions.
fwupd Version Information
Here’s an example of the information you might see when running fwupdmgr --version:
WARNING: UEFI ESP partition not detected or configured
WARNING: UEFI firmware can not be updated in legacy BIOS mode
CompileVersion(org.freedesktop.fwupd): 2.0.16
CpuArchitecture: x86_64
CpuModel: Intel Xeonâ„¢ CPU 3.00GHz
DistroPrettyName: Ubuntu 25.10
KernelVersion: 6.17.0-7-generic
HostBaseboardManufacturer: Supermicro
HostBaseboardProduct: X7DVL
HostBiosVendor: Phoenix Technologies LTD
HostBiosVersion: 6.00
HostProduct: X7DVL
Hardware IDs:
{2513e9c8-da7d-5c5b-ad02-a8f6cd80e361}
{f5bc579e-1552-5b79-ad61-7ca4cbea5386}
{d151e8d5-6dcc-5fa7-9c23-cc1092f7b102}
{f3ab1821-8062-531b-9b1d-c2302f086c5e}
...
This output provides a comprehensive overview of the system, including the fwupd version, CPU architecture, operating system details, and BIOS information. The presence of the warnings at the beginning of the output further emphasizes the issue. Notice the HostBiosVendor and HostBiosVersion details, which confirm that the system is running on a BIOS-based firmware.
Device Information
Detailed device information can be obtained using the fwupdmgr get-devices command. This output lists the various hardware components and their firmware versions. Here’s an example:
WARNING: UEFI ESP partition not detected or configured
WARNING: UEFI firmware can not be updated in legacy BIOS mode
Supermicro X7DVL
├─CT240BX500SSD1: ATA drive, version M6CR056, Crucial, updatable
├─HDS721010DLE630: ATA drive, version MS2OA610, Hitachi/WD, updatable
├─ST1000DM003-1CH162: ATA drive, versions CC47/CC49, Seagate, updatable
├─ST1000DM003-1ER162: ATA drive, version CC45, Seagate, updatable
├─ST31000524AS: ATA drive, version JC4B, Seagate, updatable
├─WD10EZEX-00RKKA0: ATA drive, version 80.00A80, Western Digital, updatable
└─Xeon™ CPU 3.00GHz: Intel, version 0x00000002
Again, the warnings are displayed at the beginning, despite the device list showing components like ATA drives and the CPU, which do not rely on UEFI. This reinforces the point that the warnings are a generic check that doesn't adapt to the system's actual capabilities.
Potential Solutions and Workarounds
While a definitive solution would require changes in fwupd to intelligently handle BIOS-only systems, there are a few potential workarounds and mitigation strategies you can consider:
-
Ignore the Warnings: If you are confident that your system is BIOS-only and does not support UEFI, you can choose to ignore these warnings. However, this is not an ideal solution as it desensitizes you to potential real issues.
-
Filter the Output: You can use command-line tools to filter out the warnings from the output. For example, using
grepin Linux, you can exclude lines containing "UEFI" from the output:fwupdmgr refresh 2>&1 | grep -v "UEFI"This command redirects standard error (where warnings are typically printed) to standard output and then filters out any lines containing "UEFI." This approach can make the output cleaner but doesn't address the underlying issue.
-
Request a Feature in
fwupd: The most effective long-term solution is to request a feature infwupdthat allows it to detect BIOS-only systems and suppress these warnings. You can submit a feature request on thefwupdproject's issue tracker, providing details about the problem and suggesting the expected behavior.
Community and Support
If you continue to experience issues or have further questions, consider reaching out to the fwupd community or support channels. Engaging with the community can provide valuable insights and help in finding solutions that are tailored to your specific environment.
- Mailing Lists: Check for mailing lists related to
fwupdor your Linux distribution where you can ask questions and discuss issues. - Forums: Look for relevant forums or discussion boards where users share their experiences and solutions related to firmware updates.
- Issue Trackers: As mentioned earlier, submitting an issue or feature request on the
fwupdproject's issue tracker can help bring the problem to the attention of the developers.
Conclusion
Persistent UEFI warnings on BIOS-only systems when using fwupdmgr can be a nuisance, but understanding the root cause is the first step in addressing the issue. While there isn't a perfect workaround currently, ignoring the warnings (with caution) or filtering the output can help. The most effective solution, however, lies in requesting a feature in fwupd to handle BIOS-only systems more gracefully. By engaging with the community and providing feedback, you can contribute to improving the user experience for everyone using fwupd on legacy systems. Remember, these warnings are typically harmless on BIOS-only systems, but it’s always good to stay informed and seek a cleaner, more informative output.
For more information on fwupd and firmware updates, visit the official fwupd documentation.