This KB document addresses an issue where some NVMe devices are not detected during system startup, causing the operating system to fail to recognize all installed NVMe drives. The issue is related to limitations in PCIe device enumeration in the existing BIOS. The problem was resolved by enabling SR-IOV and upgrading the PCIe NVMe firmware
During system startup, some NVMe devices were not detected in the early boot stage. As a result, not all installed NVMe drives were visible during POST or when the operating system began loading.
This issue can cause:
OS boot failure if the operating system is installed on an NVMe device that is not detected.
Missing NVMe device during POST, leading to incomplete storage detection at boot.
The issue was caused by limitations in the existing BIOS PCIe enumeration process during early boot. In this state, the BIOS did not initialize all PCIe-connected NVMe devices in time for POST and OS boot.
This behaviour was further affected by:
SR-IOV being disabled, which limited proper PCIe resource allocation.
Outdated NVMe firmware, which reduced compatibility with the BIOS initialization sequence.
The issue was resolved with the following steps:
Enter BIOS/UEFI Setup
Reboot the server.
During POST (Power-On Self-Test), press the BIOS/UEFI access key: Supermicro: DEL or F2
Wait until the BIOS setup screen appears.
Navigate to PCIe Configuration and enable SR-IOV
Go to Advanced → PCIe/PCI/PnP Configuration
Within PCIe settings, locate SR-IOV Support
Set it to Enabled.
Save changes F10 or select Save & Exit)
Reboot the server to apply the changes
After performing the SR-IOV BIOS configuration and upgrading the PCIe NVMe firmware:
All NVMe devices are now detected during early boot
The PCIe enumeration issue is resolved, ensuring every NVMe Device is visible before the OS loads.
Operating system recognizes all NVMe drives
The OS can now access all installed storage devices reliably, including the boot drive and data drives.