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

    • How to collect diagnostic logs using the NetApp Log Collection Script

      1. Purpose This document describes the procedure to collect diagnostic logs using the NetApp Log Collection Script in environments running: BeeGFS NetApp E-Series backend storage HA cluster using Pacemaker and Corosync This script is typically ...
    • Enabling Microburst Monitoring on Cisco Nexus Switches

      Summary This article explains how to enable and verify microburst detection on Cisco Nexus 9000 series switches. Microbursts are short spikes of traffic that can momentarily exceed interface buffer capacity, leading to output discards even when ...
    • How to update Mellanox ConnectX-7 NICs Firmware on OSS Servers

      1. Purpose This article describes the procedure to upgrade the Mellanox ConnectX-7 network adapter firmware on the affected OSS servers to version 28.45.1200 in order to ensure compatibility, stability, and optimal performance. 2. Scope This ...
    • Installing Cumulus VX on Proxmox VE

      This document describes how to deploy NVIDIA Cumulus VX (Cumulus Linux 5.x) on Proxmox VE using the QCOW2 disk image provided by NVIDIA. Cumulus VX allows you to simulate a Cumulus Linux switch using KVM. 1. Requirements Item Details Hypervisor ...
    • Enabling Desktop Notifications for Emails Moved to Subfolders in Outlook Desktop

      1. Purpose To configure Microsoft Outlook (Desktop Client) to trigger desktop notifications for emails that are automatically moved to a subfolder (e.g., Inbox > alerts) using a mail rule. 2. Problem Statement By default, Microsoft Outlook Desktop ...