0XC00A0003

STATUS_CTX_PD_NOT_FOUND (0xC00A0003): Protocol Driver Not Found Fix

This error means the storage protocol driver your disk needs isn't loaded. Usually it's because Intel RST or VMD mode is enabled in BIOS and Windows can't find the driver.

You rebooted, and now Windows either won't boot or throws STATUS_CTX_PD_NOT_FOUND (0xC00A0003) at you. What's actually happening here is that the storage stack is trying to talk to a disk through a protocol driver — a filter driver that sits between the disk class driver and the physical device — and that driver isn't on disk or isn't loaded. The kernel can see the hardware. It just doesn't have the translator to speak to it.

This shows up most often on machines where someone flipped the SATA mode in BIOS, updated firmware, or cloned a drive from an old system to a new one. It also hits Windows Server boxes running Storage Spaces after a controller driver update goes sideways. Let's go through the causes in order of how often I actually see them.

Cause 1: Intel RST/VMD mode is enabled but the driver isn't present

This is the big one. By far. On any modern Dell, Lenovo, HP, or Asus with an Intel chipset, there's a BIOS setting called SATA Operation or VMD Controller. When it's set to RAID On or VMD Enabled (the factory default on most business laptops), Windows needs iaStorAC.sys or iaStorVD.sys to see the drive. If you installed Windows with the mode set to AHCI and later flipped it to RAID, or you swapped a drive from an AHCI machine into a RAID-configured one, Windows boots, can't find the protocol driver, and throws 0xC00A0003 before it can even mount the volume.

The real fix depends on whether you can still boot:

If Windows still boots sometimes

Boot into Safe Mode once. Windows will fall back to a generic storage driver and you can preload the correct one. Open an elevated command prompt and run:

dism /online /add-driver /driver:"C:\Drivers\iaStorAC.inf" /install

Then force the storage controller to pick it up. The reason step 3 works is that Windows only binds the new driver at boot — it won't hot-swap the boot-critical driver while the system is running.

pnputil /enum-drivers | findstr /i "iastor"
reg add HKLM\SYSTEM\CurrentControlSet\Services\iaStorAC\Startup /t REG_DWORD /d 0 /f
bcdedit /set safeboot minimal
shutdown /r /t 0

When it comes back up in Safe Mode, remove the safeboot flag with bcdedit /deletevalue safeboot and reboot normally. The driver will load.

If Windows won't boot at all

Flip the BIOS setting back to AHCI. Windows will boot. Then follow the steps above to install the RST driver before you switch the mode back. This is the correct order and it saves you a reinstall.

If you're on an 11th-gen Intel or newer with VMD enabled, you also need the VMD driver — that's iaStorVD.sys in the iaStorVD package, not iaStorAC. Grabbing the wrong one is a common mistake.

Cause 2: Storage Spaces or a filter driver is missing after an OS upgrade

Windows 11 24H2 stripped out some legacy filter drivers that Storage Spaces and a few RAID cards relied on. I've seen this hit people who upgraded from Windows 10 with a two-disk mirror configured. After the upgrade, the pool shows as "Not enough disks" and Event Viewer logs 0xC00A0003 with the specific driver name in the message.

Check the actual missing driver name first. The event text always names it — look in Event Viewer → Windows Logs → System for the storahci or stornvme source entry. Then verify the file exists:

dir C:\Windows\System32\drivers\stornvme.sys
dir C:\Windows\System32\drivers\storahci.sys
dir C:\Windows\System32\drivers\spaceport.sys

If any are missing, pull them from a known-good Windows install of the same build and drop them into System32\drivers. Don't grab them from the internet — driver signing will reject mismatched builds on Secure Boot systems. Then register them:

sc create stornvme type= kernel start= boot binPath= System32\drivers\stornvme.sys

Skip driver-pack installers here. They bundle a lot of irrelevant junk and won't fix a missing kernel-mode file.

Cause 3: Bad firmware on the NVMe drive or controller

Less common, but worth checking when the first two don't apply. Certain Samsung 980 Pro and 990 Pro batches had firmware that dropped off the bus under sustained load and re-enumerated without the protocol driver binding properly. The symptom is exactly 0xC00A0003 in the event log right before the drive disappears.

Check firmware with Samsung Magician, WD Dashboard, or nvme id-ctrl /dev/nvme0 on Linux. If you're behind, flash it. If you're already current and the drive still drops, run a SMART long test — reallocated sectors in the thousands mean the drive is on its way out.

smartctl -a /dev/nvme0 | grep -i reallocated
smartctl -t long /dev/nvme0

Don't bother with registry tweaks to disable power management on these. I've seen that advice float around and it doesn't address the root cause. Firmware or hardware replacement only.

Quick reference

SymptomLikely causeFix
Boot fails after BIOS mode changeIntel RST/VMD driver missingSwitch back to AHCI, install driver, re-enable RAID
Error after Windows updateFilter driver removed or unregisteredRestore stornvme/storahci, re-register with sc create
Disk drops under loadNVMe firmware bugFlash latest firmware or replace drive
Storage Spaces pool offlinespaceport.sys missingRestore file, reboot, re-import pool

Start at the top. In 9 out of 10 tickets I've handled with this code, it's the BIOS storage mode mismatch. Everything else is a much rarer second or third.

Related Errors in Hardware – Hard Drives
0XC00D2738 Fix NS_E_DRM_LICENSE_CLOSE_ERROR (0xC00D2738) 0X0000000F ERROR_INVALID_DRIVE 0x0000000F: Drive not found fix Invalid class name Invalid class name hard drive error – fix in 3 steps 0X80030104 Fix STG_E_OLDFORMAT (0x80030104) – Old Compound File Error

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.