Invalid Class Name

Hard Drive Error: Invalid Class Name — Fixed on Windows 10/11

Hardware – Hard Drives Intermediate 👁 8 views 📅 May 27, 2026

This error means Windows can't load the driver class for your hard drive. Most often it's a corrupted storage controller driver. We'll fix it in minutes.

1. Corrupted Storage Controller Driver — The Real Culprit

I know seeing "Invalid Class Name" in Device Manager under your hard drive or storage controller is infuriating. You didn't change anything, and suddenly your drive shows a yellow exclamation, error code 39 or 10, and Windows acts like the drive doesn't exist. This tripped me up the first time too, back when I ran my help desk blog. The most common reason? The storage controller driver (storahci.sys, iaStorA.sys, or nvstor.sys) got corrupted or partially uninstalled during a Windows update or driver rollback.

Here's the fix — it takes about 5 minutes:

  1. Open Device Manager (right-click Start → Device Manager).
  2. Expand IDE ATA/ATAPI controllers or Storage controllers. If your drive shows up under Disk drives with the error, check its properties → Driver tab.
  3. Right-click the controller/drive and select Uninstall device. Check the box "Delete the driver software for this device" if prompted. Don't skip this — that's where the corruption lives.
  4. Restart the PC.

Windows will automatically reinstall the default Microsoft storage driver. I've seen this fix work on Dell Latitude 5490 laptops and custom desktops with ASUS Z690 motherboards after a botched driver update. If it doesn't work, don't panic — the next cause is almost as common.

2. Missing or Broken Registry Class Key

Sometimes the driver installs fine, but the registry entry that tells Windows which driver class to load gets corrupted. This happens after failed software installations or registry cleaners gone rogue. The specific key is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk\Enum or the class GUID under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318} (that's the class GUID for hard drives).

To fix it:

  1. Press Win + R, type regedit, hit Enter.
  2. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}.
  3. In the right pane, look for a value named Class. It should be HDC (Hard Drive Controller). If it's missing or set to something weird like Unknown, right-click in empty space → New → String Value, name it Class, set value to HDC.
  4. Also check UpperFilters and LowerFilters — if either exists and contains anything other than partmgr (common on some systems), delete them or set them to blank. Corrupt filter drivers are notorious for causing Invalid Class Name.
  5. Close Registry Editor and restart.

I've fixed half a dozen machines with this exact registry twist — especially HP Envy laptops and older Lenovo ThinkPads where some HP or Lenovo utility wrote bad filter entries.

3. Firmware or Driver Mismatch After AHCI/RAID Mode Switch

This one bites people who switch their SATA mode in BIOS from IDE to AHCI or RAID, or vice versa. Windows loads the driver class for the previous mode, but the hardware is now expecting the new one. The result: Invalid Class Name, and often a bluescreen on boot (INACCESSIBLE_BOOT_DEVICE).

If you've been fiddling with BIOS settings or upgraded from an older Windows version, here's the fix:

  1. Boot into Safe Mode (hold Shift while clicking Restart → Troubleshoot → Advanced options → Startup Settings → Restart → press 4).
  2. Open Device Manager, expand Storage controllers. If you see something like Standard NVM Express Controller or Intel Chipset SATA/PCIe RST Premium Controller with the error, uninstall it (check "Delete the driver software").
  3. Restart normally. Windows will detect the correct controller class and install the proper driver.

If you're stuck in a boot loop, use a Windows installation USB, go to Repair your computer → Troubleshoot → Advanced options → Command Prompt. Then run:

reg load HKLM\TempSys SYSTEM\SYSTEM\CurrentControlSet\Services\storahci\StartOverride

Set the 0 value to 0 (not 3) by typing reg add HKLM\TempSys\SYSTEM\CurrentControlSet\Services\storahci /v StartOverride /t REG_DWORD /d 0 /f, then reboot. That forces the AHCI driver to load even if the registry says skip it. This worked on an Acer Aspire 5 where the BIOS was stuck on RAID even though Windows was installed in AHCI mode.

Quick-Reference Summary Table

CauseFixWhen It Happens
Corrupted storage controller driverUninstall device + driver software, rebootAfter Windows update or failed driver install
Missing/broken registry Class keyAdd Class=HDC, remove bad Upper/LowerFiltersAfter registry cleaner or failed software install
Firmware/driver mismatch (AHCI/RAID/IDE)Uninstall controller in Safe Mode, or force driver via registry in recovery CMDAfter BIOS SATA mode change, OS upgrade, or boot loop

That's it. Three causes, three fixes. Start with the driver uninstall — nine times out of ten that's all you need. If not, the registry trick is your next best bet. You'll be back up and running in under 20 minutes. Trust me, I've done this more times than I can count.

Was this solution helpful?