NVMe Devices Not Detected During Early Boot with Existing BIOS

NVMe Devices Not Detected During Early Boot with Existing BIOS

Overview

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

Issue Description

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.

Root Cause Analysis

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.

Resolution

The issue was resolved with the following steps:

Enabled SR-IOV in the BIOS settings

  1. 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.

  1. 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

 

Result

After performing the SR-IOV BIOS configuration and upgrading the PCIe NVMe firmware:

  1. 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.

  2. Operating system recognizes all NVMe drives

    • The OS can now access all installed storage devices reliably, including the boot drive and data drives.


    • Related Articles

    • What is Boot Process in Linux OS.

      Boot Process in Linux OS. Have you ever wondered what happens behind the scenes from the time you press the power button until the Linux login prompt appears? Press the power button on your system, and after few moments you see the Linux login ...
    • Creating RAID using an add-on Card through the BIOS

      Creating Raid Configuration using an Add-on RAID Card through BIOS To create a RAID configuration using an add-on RAID card through the BIOS, you'll typically follow these general steps. Keep in mind that specific steps can vary based on the RAID ...
    • Asustor AS7112R NAS HDDs not detected

      Customer contacted support saying HDDs 2,3,6, and 7 were not being detected after a power failure. Unit was sent for repair to ASUSTOR and they replaced the backplane Issue was still present after this replacement. Solution: 1. Login as root in ...
    • Installing NVMe drivers during Windows installation

      Summary This guide walks through the process of installing NVMe drivers during Windows setup—especially useful when your NVMe SSD isn’t detected. It covers standard NVMe drives, RAID configurations, and troubleshooting steps. Scenario 1: Standard ...
    • AMD EPYC 9554 (100-000000912) Incompatibility with Turin BIOS on ASUS ESC8000A-E13P

      Summary This article outlines the incompatibility between the AMD EPYC 9554 processor (part number 100-000000912) and BIOS versions optimized for AMD’s EPYC 9005 “Turin” series, specifically on the ASUS ESC8000A-E13P server platform. Issue ...