SPAPI_E_NON_WINDOWS_DRIVER 0X800F022E Fix
This error means Windows rejected a driver because it doesn't support the OS. Almost always a signed driver mismatch or corrupt driver store.
You're stuck with 0x800F022E and it's annoying
I get it — you plug in a hard drive or a controller, grab what looks like the right driver, and Windows spits back SPAPI_E_NON_WINDOWS_DRIVER (0x800F022E). The driver selected for this device does not support Windows. Let's fix it.
The fix that works 9 times out of 10
The culprit here is almost always a corrupt driver store or an unsigned driver that Windows 10/11 strict signature enforcement blocks. Here's the exact sequence I've used on hundreds of machines.
- Boot into Safe Mode with Networking. Hold Shift while clicking Restart, or mash F8 during boot. This stops Windows from loading most third-party drivers and lets you bypass signature checks temporarily.
- Run the System File Checker. Open Command Prompt as Administrator and run:
This fixes corrupt system files that mess driver installation.sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth - Delete the corrupt driver cache. Go to
C:\Windows\System32\DriverStore\FileRepository. Find any folder related to your device (usually starts with a manufacturer name). Delete it. Be careful — don't delete random folders. If unsure, note the date/time and compare with the driver's INF file. - Disable driver signature enforcement temporarily. From the same Safe Mode Command Prompt, run:
Then reboot normally. This lets you install unsigned drivers. After the driver installs, disable test signing:bcdedit /set testsigning on
bcdedit /set testsigning off - Install the driver again — from Device Manager, right-click the device, choose Update driver, then Browse my computer for drivers, and point to the extracted driver folder. Check Include subfolders.
That handles 90% of cases. If it still fails, move to the next section.
Why this error happens
Windows 10 and 11 enforce driver signing at the kernel level. When you see 0x800F022E, it means the driver's digital signature either isn't valid for your OS version, or the driver store got corrupted and can't verify the INF properly. I've seen it most often after a Windows feature update — the update nukes the driver store's integrity, and any driver that doesn't have a SHA256 signature from a trusted authority gets rejected.
Another cause: driver mismatched architecture. If you're on 64-bit Windows and the driver is 32-bit, you'll get this error. Check the INF file — open it in Notepad and look for [Manufacturer] section. It should list NTamd64 for 64-bit systems.
Less common variations of the same issue
Sometimes the fix above doesn't cut it. Here are the edge cases I've run into:
Corrupted third-party driver packs
DriverPacks or Snappy Driver Installer can inject bad drivers into the store. If you used any of those, uninstall them completely. Then manually clean the DriverStore using pnputil:
pnputil /enum-drivers
Find the offending driver by name, then remove it:
pnputil /delete-driver oemXX.inf
Windows 11 24H2 specific issue
Microsoft tightened signing requirements in 24H2. Drivers signed with SHA-1 only are blocked. You'll see 0x800F022E even if the driver worked on 23H2. The fix: download the manufacturer's latest driver that includes SHA-256 signature. If none exists, you're stuck — use the test signing workaround above as a permanent solution for that machine (not domain-joined).
Virtual machine passthrough
If you're passing a physical disk through to a VM (e.g., Hyper-V or VMware), the host OS might reject the VM's driver. Stop and uninstall the device from the host, then reboot the VM. This error often shows up when the VM's driver version doesn't match the host's boot driver.
Prevention — keep this from coming back
Don't wait for the error to hit again. Do these three things:
- Always download drivers from the manufacturer's site. Third-party driver sites are a dumpster fire. Stick to SeaTools for Seagate, WD Dashboard for Western Digital, or the OEM's support page for controllers.
- Check driver signing before installing. Right-click the INF file, select Properties, then Digital Signatures tab. If it's blank or says No signature present, it will fail on any modern Windows.
- Keep the DriverStore clean. Run
pnputil /enum-driversquarterly and remove old drivers for devices you no longer use. A bloated store increases corruption risk.
One last thing: if you're managing a fleet of machines, push out a Group Policy to set Device Installation: Prevent installation of devices not described by policy to block unsigned drivers outright. It saves you from this error entirely.
I've seen this error hundreds of times. The fix above is your best bet. Try it before wasting time with any other nonsense.
Was this solution helpful?