An M.2 NVMe SSD is invisible during Windows 10 or 11 installation on Intel 11th through 14th Gen systems because Intel Volume Management Device (VMD) intercepts the PCIe storage lanes to handle RAID and Optane configurations. Standard Windows installation ISOs lack the Intel RST VMD storage driver (iaStorVD.sys), requiring you to either disable VMD in your UEFI to restore native AHCI/NVMe pass-through or manually inject the extracted VMD driver at the “Load Driver” prompt.
The Root Cause: Why VMD Hides NVMe Drives from Windows Setup
When you connect an M.2 NVMe SSD directly to a motherboard, it physically communicates across dedicated PCI Express lanes routed to either the CPU or the chipset. In standard operational mode, the drive announces itself as a standard PCI Express storage controller (PCI class 0108h). The Windows installer loads its generic, inbox stornvme.sys driver, detects the physical controller registers, and populates the target drive in the disk selection window.
Starting with 11th Gen Core processors (Tiger Lake) and continuing through 12th Gen (Alder Lake), 13th Gen (Raptor Lake), and 14th Gen platforms, Intel implemented Volume Management Device (VMD) technology. VMD acts as a hardware bridge inside the processor’s PCIe root complex. Instead of allowing attached NVMe drives to present their standard hardware IDs directly to the operating system, VMD hooks into the assigned PCIe lanes and aggregates them behind a proprietary Intel VMD controller (commonly identified under hardware IDs such as 09AB, 9A0B, or A77F).
Because the Microsoft Windows installation environment does not package Intel Rapid Storage Technology (IRST) VMD drivers out of the box, the installer kernel cannot communicate with this proprietary controller bridge. The UEFI firmware can see the physical drive because the motherboard BIOS contains Intel’s pre-boot VMD option ROM, but the Windows installation media sees an unmapped bus. The installer displays a blank disk list accompanied by the error stating that no storage devices were detected.
Single-drive system performance is identical whether VMD is enabled or disabled. VMD exists strictly to manage software-defined RAID arrays across multiple drives and handle legacy Intel Optane memory caching configurations. If you are running a single NVMe SSD, VMD adds zero throughput, latency, or endurance benefits.
Architectural Choice: Disabling VMD vs. Injecting the Driver
You have two ways to resolve an invisible NVMe drive in Windows Setup. Your hardware topology determines the correct path.
If your system utilizes a single NVMe SSD and you have no intention of building a hardware RAID 0, 1, or 5 array across multiple drives, disabling VMD in UEFI is the recommended approach. Turning off VMD removes the intermediary abstraction layer. The PCIe lanes revert to standard pass-through mode, allowing Windows to interface directly with the SSD using Microsoft’s native storage driver stack without third-party driver dependencies.
If you maintain an active RAID volume, utilize an Intel Optane hybrid storage drive (such as an Optane H10/H20), or use an OEM laptop whose firmware locks VMD in an enabled state with no toggle exposed, you must inject the Intel RST VMD driver during setup using an external flash drive.
| Configuration Scenario | VMD Status | Driver Required During Setup | Operating Bus Protocol |
|---|---|---|---|
| Single NVMe SSD (Desktop / Custom PC) | Disabled | None (Inbox Microsoft NVMe driver) | Direct PCIe Pass-Through (AHCI/NVMe) |
| Single NVMe SSD (Locked OEM Firmware) | Enabled (Default) | Intel RST VMD (iaStorVD.inf) | Intel VMD Managed Bus |
| Multi-Drive Intel RAID (0/1/5/10) | Enabled | Intel RST VMD (iaStorVD.inf) | Intel RST / VMD RAID Controller |
| Intel Optane H-Series Hybrid SSD | Enabled | Intel RST VMD (iaStorVD.inf) | VMD Managed Optane Cache Bridge |
Method 1: Disabling Intel VMD in UEFI/BIOS (Direct AHCI Mode)
Switching your storage controller from VMD to AHCI exposes the NVMe SSD directly to Windows Setup. This method eliminates the need to source external driver files on another machine.
- Power on the machine and immediately tap your motherboard’s BIOS key (typically Del or F2 for ASUS, MSI, and Gigabyte boards; F10 for HP; F12 for Dell).
- Switch to Advanced Mode (usually mapped to F7).
- Navigate to the storage controller submenu. On ASUS motherboards, browse to Advanced > VMD setup menu. On MSI boards, check Settings > Advanced > Integrated Peripherals. On Gigabyte, locate Settings > IO Ports > VMD setup menu.
- Locate the setting labeled Enable VMD Controller (or Intel VMD Technology) and set it to Disabled.
- Ensure the global storage mode or SATA mode is configured to AHCI.
- Verify that your boot mode is set strictly to UEFI. NVMe boot drives do not support Legacy/CSM boot modes, and retaining CSM can prevent the drive from being targeted even with VMD disabled.
- Press F10 to save changes and restart the computer into your Windows installation media.
On certain consumer laptops (notably Acer and select Lenovo units), the VMD or SATA controller options are deliberately hidden in the firmware UI. If the menu is missing, open the Main or Configuration tab in BIOS and press Ctrl + S (or Ctrl + F10 on select HP models) to reveal the hidden VMD/AHCI toggle.
Method 2: Extracting and Loading the Intel RST VMD Driver
If you must leave VMD enabled, you must provide the raw storage INF files to the Windows PE installer environment. Modern Intel RST distribution packages are distributed as compiled executables (SetupRST.exe), which cannot be read directly by the Windows Setup browser until extracted.
Step 1: Extract the Driver Files
Obtain the correct Intel RST driver package for your CPU generation from your motherboard manufacturer’s support portal or Intel’s download repository. Run the extraction utility on a secondary functioning Windows machine:
- Copy the downloaded
SetupRST.exefile into a dedicated folder on your working PC (e.g.,C:\RST\). - Open Terminal or PowerShell as an Administrator, navigate to that directory using
cd C:\RST\, and run the following extraction command:./SetupRST.exe -extractdrivers SetupRST_extracted - Open the newly created
SetupRST_extractedfolder. Navigate through the folder hierarchy to locate the VMD directory (typically nested underproduction\Windows10-x64\Drivers\VMDorf6vmdflpy-x64). - Verify that the directory contains
iaStorVD.inf,iaStorVD.sys, andiaStorVD.cat. Do not select the root SATA/AHCI driver (iaStorAC.inf), as it lacks VMD routing capability. - Copy the entire
VMDfolder containing these extracted files directly onto your bootable Windows USB installation drive.
Always verify the integrity of the target storage drive before initiating Windows installation. If your drive was previously formatted with an MBR partition table, switching UEFI and VMD states will cause installation errors unless you convert the disk to GPT using diskpart during setup.
Step 2: Load the Driver During Windows Setup
- Boot the target machine from your Windows installation USB flash drive.
- Proceed through the initial language and regional configuration screens until you reach the Where do you want to install Windows? screen showing no drives.
- Click the Load driver button located in the lower-left corner of the window.
- In the dialog box, select Browse and locate the
VMDfolder you copied onto the USB flash drive. Click OK. - The installer will display the matching hardware profiles. Select the controller that matches your platform bridge, such as Intel RST VMD Controller or Intel RST VMD Managed Controller 09AB.
- Uncheck the box labeled “Hide drivers that aren’t compatible with this computer’s hardware” if no device appears automatically, and select the primary VMD controller from the list.
- Click Next. Windows Setup will inject the
iaStorVD.sysdriver into the active WinPE environment. Once processing completes, your NVMe SSD partitions will populate in the drive list immediately.
Alternative: Injecting iaStorVD.inf via Command Line (WinPE)
If the graphical “Load Driver” button hangs or fails to accept the folder, you can force-load the INF directly into the active kernel memory using the native driver loader utility.
- On the blank “Where do you want to install Windows?” screen, press Shift + F10 to open the WinPE Command Prompt.
- Identify your USB drive letter by typing
diskpart, thenlist volume, and typingexit. Assume your USB drive is assigned letterD:. - Execute the driver load command directly against the INF file:
drvload D:\VMD\iaStorVD.inf - Once the command returns “Successfully loaded the driver”, launch the disk partitioning tool:
diskpartlist disk - Verify that your internal NVMe SSD appears in the disk listing. Close the command prompt window and click Refresh in the Windows Setup UI.
Driver Generation Compatibility Matrix
Intel Rapid Storage Technology drivers are strictly architectural; driver major versions map directly to specific processor platform generations. Attempting to load an older RST version onto a newer platform—or using a generic late-stage build on legacy silicon—causes driver initialization failures or post-setup blue screens.
| Intel Platform | Processor Generation | Required RST Driver Branch | Critical INF File |
|---|---|---|---|
| Tiger Lake (TGL) | 11th Gen Core | IRST 18.x (e.g., 18.1.x, 18.3.x, 18.7.x) | iaStorVD.inf |
| Alder Lake (ADL) | 12th Gen Core | IRST 19.x (e.g., 19.2.x, 19.5.x) | iaStorVD.inf |
| Raptor Lake (RPL) | 13th Gen Core | IRST 19.5.x / 20.x | iaStorVD.inf |
| Arrow Lake / Raptor Refresh | 14th Gen / Core Ultra | IRST 20.x (e.g., 20.0.x, 20.1.x, 20.2.x) | iaStorVD.inf |
Community validation logs show that certain minor releases within the RST 20.2.x branch (such as 20.2.6.1025) can trigger KERNEL_SECURITY_CHECK_FAILURE or INACCESSIBLE_BOOT_DEVICE stop codes when coupled with specific hybrid SSD configurations or Windows RE recovery environments. If stability issues occur immediately after loading a 20.2.x driver, roll back to the motherboard vendor’s validated 19.5.x or 20.1.x release baseline.
Frequently Asked Questions
Why does my BIOS detect the M.2 SSD while Windows Setup shows nothing?
Motherboard firmware detects physical storage devices at the hardware level using vendor-specific pre-boot option ROMs embedded in the UEFI. Windows Setup, however, relies entirely on its booted kernel and the software drivers present in the Windows PE image. When Intel VMD is enabled, the SSD hardware ID is obfuscated behind the VMD controller ID, which the generic Windows installation kernel cannot read without iaStorVD.inf.
Does disabling VMD reduce NVMe read and write speeds?
No. When VMD is disabled, your NVMe drive operates on standard PCIe lanes directly managed by Microsoft’s inbox NVMe controller driver. Storage benchmarks confirm identical IOPS, sequential throughput, and access latency between native AHCI/NVMe pass-through mode and non-RAID single-drive VMD configurations.
What is the difference between iaStorAC.inf and iaStorVD.inf?
iaStorAC.inf is the legacy driver configuration file designed for standard SATA AHCI controllers and older pre-VMD architectures. iaStorVD.inf is the Volume Management Device storage driver specifically compiled to manage PCIe root ports and route NVMe protocols on Intel 11th Gen and newer systems. Loading iaStorAC.inf on a VMD-enabled motherboard will not reveal missing NVMe SSDs.
Can I switch from VMD to AHCI after Windows is already installed?
Switching storage controller modes after installation typically causes an INACCESSIBLE_BOOT_DEVICE blue screen because the Windows bootloader tries to initialize the boot drive using the wrong storage controller driver service. You must either configure the registry/Safe Mode to force standard NVMe driver loading prior to switching modes in UEFI, or reinstall Windows cleanly in your desired controller configuration.