How to Troubleshoot Windows Hardware Drivers

Microsoft Fix Intermediate 14 min read Official Docs Grounded Updated April 20, 2026

Why Windows Hardware Drivers Break (And Why the Errors Tell You Nothing)

Picture this: you just installed a Windows Update overnight, booted up this morning, and your printer is gone. Or your audio suddenly sounds like a robot gargling gravel. Or , my personal favourite , Device Manager is showing a little yellow exclamation mark on something called "Unknown Device," giving you absolutely zero clue what hardware is actually having a problem. I've seen this exact scenario on hundreds of machines over the years, and it never stops being annoying.

Windows hardware drivers are the translators sitting between your physical hardware, your GPU, your USB controller, your network adapter, and the operating system. When that translation layer breaks, Windows simply can't talk to the device anymore. The hardware is physically fine. The software is probably fine too. It's the bridge between them that's crumbled.

There are four main reasons Windows hardware drivers fail, and understanding them will save you a lot of random clicking:

1. A Windows Update replaced your driver. Microsoft pushes driver updates through Windows Update, and while most of the time this works fine, the generic Microsoft driver that replaces your vendor-specific driver can strip out functionality. Nvidia, AMD, Realtek, and Intel all ship drivers with additional features baked in that Microsoft's generic package simply doesn't include.

2. The driver file itself got corrupted. This happens more than you'd think, a bad shutdown during an update, a failing SSD sector, or even aggressive antivirus software quarantining a legitimate driver DLL can leave Windows with a half-installed driver that doesn't function.

3. A driver conflict between two devices sharing resources. IRQ conflicts are less common on modern hardware than they were in the Windows XP days, but they haven't vanished. Two PCIe devices fighting over DMA channels, or two drivers registering for the same kernel callback, can cause one or both devices to stop responding.

4. The driver isn't signed for your version of Windows. Windows 10 and Windows 11 enforce driver signing by default. An older driver that worked perfectly on Windows 7 or 8.1 may flat-out refuse to load because it lacks a valid Authenticode signature recognised by the current kernel.

Microsoft's error messages in this space are notoriously unhelpful. "This device cannot start (Code 10)" could mean literally dozens of different things. That's exactly why I'm writing this guide, to give you the actual diagnostic path, not just a vague suggestion to "update your drivers." Browse all Microsoft fix guides →

The Quick Fix, Try This First

Before you spend an hour digging through registry keys and Event Viewer logs, do this. It resolves the majority of driver problems I encounter in the field, and it takes about three minutes.

Open Device Manager. The fastest path: press Windows + X and click Device Manager from the menu that appears. Look for any device with a yellow exclamation mark (warning), a red X (disabled), or a downward-pointing arrow (disabled). Right-click the problematic device and choose Update driver.

On the next screen, click "Search automatically for drivers." Windows will check its local driver store first, then reach out to Windows Update if needed. If it finds something newer, it'll install it and prompt you to restart.

If that comes back with "The best drivers for your device are already installed", don't trust it. Windows Update's driver database is never fully up to date. Go directly to your hardware manufacturer's website. For graphics cards, that's nvidia.com or amd.com. For network adapters, it's usually Intel, Realtek, or Qualcomm's support pages. For laptops, go straight to your laptop manufacturer, Dell, HP, Lenovo, ASUS, because they customise the drivers for your specific model and they're almost always more stable than the generic versions.

Download the installer, run it with administrator rights (right-click → Run as administrator), let it complete, and restart your machine. That single process fixes roughly 60% of Windows driver troubleshooting cases I see.

If your device isn't even showing up in Device Manager at all, not even under "Unknown devices", press Action → Scan for hardware changes from the Device Manager menu bar. Sometimes Windows just loses track of a device after a sleep/wake cycle and a quick rescan brings it back.

Pro Tip
When a driver update fails silently, the manufacturer's standalone installer often works where Windows Update doesn't. Windows Update wraps drivers in its own delivery mechanism that can fail due to certificate cache issues or BITS service errors, completely unrelated to the driver itself. Downloading the .exe or .inf directly from the vendor bypasses all of that.
1
Read Device Manager Error Codes Properly

Device Manager uses numeric error codes that actually tell you quite a lot, once you know what they mean. Most people just see the yellow triangle and stop there. Don't. Right-click your failing device, choose Properties, and look at the Device status box on the General tab.

Here are the codes I see most often in Windows driver troubleshooting:

  • Code 10 – "This device cannot start", The driver loaded but the device didn't initialise. Usually a corrupted driver, a hardware fault, or a missing dependency.
  • Code 28 – "The drivers for this device are not installed", No driver at all. Windows doesn't even know what this device is.
  • Code 43 – "Windows has stopped this device because it has reported problems", The device itself threw an error back to Windows. Common with USB devices and Nvidia GPUs after a driver install gone wrong.
  • Code 45 – "Currently, this hardware device is not connected to the computer", Windows thinks the device was unplugged. Physically reseat the hardware if possible.
  • Code 52 – "Windows cannot verify the digital signature for the drivers required for this device", Driver signing failure. This is increasingly common with older third-party hardware.

Once you have the code, you have a specific starting point. Code 43 and Code 10 almost always mean reinstalling the driver. Code 28 means finding and installing the right driver from scratch. Code 52 is the most complex, I'll cover that in the Advanced section.

Also check the Driver tab inside that same Properties window. It shows you the driver version, date, and the publisher. If the publisher says "Microsoft" on hardware that should have a vendor-specific driver, that's your problem right there, Windows replaced a proper driver with a generic one.

2
Run the Windows Hardware and Devices Troubleshooter

Windows includes a built-in hardware troubleshooter that most people forget exists. It won't solve everything, but it can automatically fix things like misconfigured device settings, missing driver store entries, and devices stuck in a bad power state, and it takes about 90 seconds to run.

On Windows 10, go to Settings → Update & Security → Troubleshoot → Additional troubleshooters. Scroll down to Hardware and Devices and click Run the troubleshooter.

On Windows 11, Microsoft buried this one a bit. Open a Run dialog (Windows + R) and paste this command:

msdt.exe -id DeviceDiagnostic

Press Enter. The Hardware and Devices troubleshooter will open directly. Click Next and let it scan. If it finds something fixable, it'll tell you what it found and apply the fix, usually automatically.

For specific device types, there are dedicated troubleshooters. For audio problems, run:

msdt.exe -id AudioPlaybackDiagnostic

For network adapter driver issues:

msdt.exe -id NetworkDiagnosticsNetworkAdapter

For printer driver troubleshooting in Windows 11:

msdt.exe -id PrinterDiagnostic

These troubleshooters log their findings to %LOCALAPPDATA%\Diagnostics\, if you want to see exactly what they checked and what they changed, you can open the .diagcab file there with any archive tool. That diagnostic log is actually useful if you need to escalate to a support call later.

After the troubleshooter finishes, restart your machine even if it says a restart isn't required. Driver changes sometimes don't fully take effect until the kernel reloads on a clean boot.

3
Roll Back or Uninstall and Reinstall the Driver

If the problem started right after a Windows Update or a driver update you ran yourself, rolling back to the previous version is often the fastest fix. Windows keeps the previous driver version in its driver store for exactly this reason.

Open Device Manager, right-click your problematic device, choose Properties, go to the Driver tab, and click Roll Back Driver. If the button is greyed out, there's no previous version stored, skip to uninstall and reinstall instead.

If rollback isn't available, or if the device was broken before any recent update, do a clean reinstall. In Device Manager, right-click the device and choose Uninstall device. You'll see a checkbox that says "Delete the driver software for this device." Check it. This removes the driver from the driver store entirely, not just from this device, which is what you want when you're starting fresh.

Click Uninstall. The device will disappear from the list. Now either let Windows rediscover it automatically (go to Action → Scan for hardware changes), or run the manufacturer's installer you downloaded.

For graphics card driver reinstalls specifically, I always recommend using DDU, Display Driver Uninstaller, rather than Windows' built-in uninstall. It's a free tool that scrubs every Nvidia or AMD registry entry and leftover file that a standard uninstall misses. Boot into Safe Mode, run DDU, then install the fresh driver on a clean boot. This alone fixes the majority of persistent Code 43 errors on GPUs.

After reinstall, check Device Manager again. The yellow triangle should be gone. If you see the device listed normally without any error icon, you're good.

4
Run SFC and DISM to Fix Corrupted Driver Files

Sometimes the driver itself is fine, but the Windows system files it depends on are corrupted. This is more common than most people realise, especially on machines that have been updated in place from Windows 10 to Windows 11, or on systems that have had a non-graceful shutdown during a major update.

Open an elevated Command Prompt, press Windows + S, type cmd, right-click Command Prompt, and choose Run as administrator. Then run System File Checker:

sfc /scannow

This scans all protected Windows system files and replaces any corrupted ones from a cached copy. Let it run to 100%, it can take 10-20 minutes on slower machines. When it finishes, it'll tell you one of three things: no integrity violations found, violations found and repaired, or violations found that it couldn't fix.

If SFC couldn't fix everything, run DISM next. DISM reaches out to Windows Update servers to pull a fresh copy of system files:

DISM /Online /Cleanup-Image /RestoreHealth

This one needs an internet connection and can take 20-30 minutes. Let it finish completely. Once DISM is done, run sfc /scannow again, the combination of DISM then SFC usually clears corruption that neither tool can fix on its own.

After both scans complete, restart the machine. Then go back to Device Manager and check whether the driver issue is still present. If the corrupted system file was what was blocking the driver from loading, it'll often just start working after this restart without any further action needed.

SFC logs everything it finds to %WinDir%\Logs\CBS\CBS.log, if you want to see the specific files that were repaired or couldn't be repaired, open that file in Notepad and search for "cannot repair."

5
Use PowerShell to Audit and Manage Drivers Directly

PowerShell gives you a level of control over Windows hardware drivers that Device Manager's GUI simply can't match. If you're comfortable with a command line, this is where you get real answers fast.

First, list all drivers currently installed on the system along with their status:

Get-WmiObject Win32_PnPSignedDriver | Select-Object DeviceName, DriverVersion, DriverDate, IsSigned | Format-Table -AutoSize

To find specifically which devices have problem states (the PowerShell equivalent of the Device Manager yellow triangle):

Get-WmiObject Win32_PnPEntity | Where-Object { $_.ConfigManagerErrorCode -ne 0 } | Select-Object Name, DeviceID, ConfigManagerErrorCode | Format-Table -AutoSize

The ConfigManagerErrorCode values match the Device Manager error codes, Code 10 shows as 10, Code 43 shows as 43, and so on. This gives you a quick full-system audit that's much faster than clicking through Device Manager category by category.

To export all installed drivers (useful before a major Windows update or before wiping a machine):

pnputil /export-driver * C:\DriversBackup

And to add a driver from a .inf file you've already downloaded:

pnputil /add-driver "C:\Path\To\driver.inf" /install

The pnputil commands write directly to the Windows driver store, bypassing some of the conditions that cause Device Manager installs to silently fail. I use it regularly when a device driver installation keeps rolling back for no obvious reason. After running the command, you should see output confirming the driver was added to the store and installed on matching devices.

Advanced Troubleshooting for Windows Hardware Drivers

Reading Event Viewer for Driver Failures

Event Viewer is where Windows actually logs what went wrong. Press Windows + R, type eventvwr.msc, and hit Enter. Navigate to Windows Logs → System. Filter the log for Error and Warning level events, click Filter Current Log on the right panel and select Error and Warning.

The event IDs you care about for driver failures:

  • Event ID 219, "The driver \Driver\[name] failed to load for the device." This tells you the exact driver binary that failed and the device it was trying to attach to.
  • Event ID 7026, Boot-start or system-start driver failed to load. Source: Service Control Manager.
  • Event ID 7000, A service (including driver services) failed to start. Check the Description field for the exact error code.
  • Event ID 41, Kernel Power, "The system has rebooted without cleanly shutting down first." If you see this followed by driver errors, a bad shutdown corrupted the driver mid-write.

For driver-specific logs, also check Applications and Services Logs → Microsoft → Windows → DriverFrameworks-UserMode. This log captures UMDF (User Mode Driver Framework) failures that the System log often misses entirely, particularly common with USB drivers and printer drivers on Windows 11.

Driver Signing Enforcement and Code 52

Windows enforces kernel-mode driver signing, and Code 52 means the driver's digital signature can't be verified. This often happens with older hardware where the vendor stopped updating their drivers before Windows 11 was released.

You can temporarily disable driver signature enforcement for testing purposes by restarting into Advanced Boot Options. Hold Shift while clicking Restart, then go to Troubleshoot → Advanced Options → Startup Settings → Restart. When the Startup Settings screen appears, press F7 for "Disable driver signature enforcement." This only lasts for the current session, it resets on next restart, which is intentional from a security standpoint.

For a more permanent solution in enterprise environments, the TESTSIGNING boot option can be enabled via Group Policy. Open gpedit.msc, navigate to Computer Configuration → Administrative Templates → System → Driver Installation, and enable "Code signing for device drivers" set to Warn rather than Block. Note that this reduces system security and should only be done in controlled environments.

Registry Paths for Driver Configuration

Driver configuration lives in two main registry hives. For device-specific settings:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\[DeviceID]

For driver service configuration (start type, image path, dependencies):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[DriverName]

The Start DWORD value under a driver's Services key controls when it loads: 0 = Boot, 1 = System, 2 = Automatic, 3 = Manual, 4 = Disabled. A driver with Start set to 4 that should be 3 explains a lot of "device not working" calls.

Domain-Joined and Enterprise Scenarios

On domain-joined machines, Group Policy can block driver installation entirely. If you're an IT admin seeing widespread driver failures after a policy update, check Computer Configuration → Administrative Templates → System → Device Installation → Device Installation Restrictions. The policy "Prevent installation of devices not described by other policy settings" is particularly aggressive, when enabled, only explicitly whitelisted hardware classes can have drivers installed.

You can identify hardware class GUIDs for whitelisting from the device's Properties → Details tab, selecting Class GUID from the Property dropdown.

When to Call Microsoft Support
If you've worked through all the steps above and are still seeing driver failures, particularly if they're appearing across multiple different hardware types simultaneously, if SFC and DISM both report unfixable corruption, or if the system is producing BSODs with stop codes like DRIVER_IRQL_NOT_LESS_OR_EQUAL (0x000000D1) or SYSTEM_SERVICE_EXCEPTION (0x0000003B), it's time to escalate. These can indicate kernel-level corruption or a hardware memory fault that no amount of driver reinstalling will resolve. Contact Microsoft Support directly, and have your system information, event log exports, and SFC/DISM results ready before the call.

Prevention & Best Practices for Windows Hardware Drivers

I know this is frustrating, especially when it blocks your work on a machine that was running fine last week. The good news is that most driver problems are preventable with a few habits that cost you almost no time to maintain.

Control Windows Update driver behaviour. By default, Windows Update can silently replace your vendor drivers with generic Microsoft ones. You can stop this. Go to Settings → System → About → Advanced system settings → Hardware tab → Device Installation Settings and select "No (your device might not work as expected)". This doesn't block security updates, it only prevents Windows from automatically swapping out working hardware drivers without your permission.

Back up your drivers before major updates. Use pnputil to export your current driver set before any major Windows feature update:

pnputil /export-driver * C:\DriversBackup

If a feature update breaks something, you can restore drivers from that backup without hunting down installers again. Store the backup folder somewhere Windows Update won't touch, an external drive or a network share.

Check hardware compatibility before upgrading Windows. The Windows 11 compatibility checker (the PC Health Check app) only tests minimum system requirements, not peripheral driver compatibility. Before upgrading from Windows 10 to 11, go to each of your hardware vendors' websites and confirm they have Windows 11-compatible drivers available. Older network adapters, audio interfaces, and industrial hardware are the most common casualties.

Keep your driver store healthy. Over time, the driver store can accumulate hundreds of old driver packages, some of which conflict with newer versions. Periodically clean up old driver packages with:

pnputil /delete-driver oem*.inf /uninstall /force

Be careful with this command, only run it for specific .inf files you've confirmed are obsolete, not as a blanket operation.

Monitor the System event log proactively. Set up a Windows Task Scheduler task that emails you (or writes to a log file) when Event ID 219 or 7026 appear. Catching driver failures at first occurrence, before they become user-facing problems, saves enormous time.

Quick Wins
  • Disable automatic driver updates in Device Installation Settings so Windows Update can't silently replace vendor drivers
  • Export your full driver set with pnputil before every major Windows feature update
  • Subscribe to your hardware vendors' driver release notifications, most offer email alerts for new driver versions
  • After any Windows Update, open Device Manager and scan for hardware changes to catch silent driver replacements before they become problems

Frequently Asked Questions

Why does Device Manager show a yellow exclamation mark but the device still seems to work?

This is a partial driver failure, Windows loaded a generic fallback driver that provides basic functionality but not the full feature set. Your printer might print basic documents but lose duplex and tray selection. Your audio device might produce sound but lose surround sound configuration. Your GPU might display video but throttle performance significantly. Right-click the device, check Properties for the exact error code, then install the full vendor-specific driver to get everything working properly. The yellow triangle is Windows telling you "I'm making do, but this isn't right."

My device driver keeps reinstalling itself after every Windows Update, how do I stop it?

Windows Update is actively pushing a driver version that's overwriting yours. The fix is to hide that specific update. Download the "Show or hide updates" troubleshooter package (wushowhide.diagcab) from Microsoft's download centre. Run it, choose "Hide updates," and it'll show you pending driver updates you can block individually. Alternatively, go to Settings → System → About → Advanced System Settings → Hardware → Device Installation Settings and set it to manual control so Windows Update stops touching drivers automatically. The hiding approach is more surgical, use it when you only want to block one specific driver update.

Windows says "The best drivers for your device are already installed" but the device still doesn't work, what now?

Windows Update's driver database is not a complete picture of what's available. "Already installed" just means Windows can't find a newer version in its own catalogue, it has no idea what the manufacturer released last month. Go directly to your hardware manufacturer's support page, search your exact model number, download the latest driver installer, and run it with administrator rights. For graphics cards specifically, always get drivers from nvidia.com or amd.com rather than Windows Update, the manufacturer's drivers include performance improvements, bug fixes, and control panel software that the Windows Update version strips out entirely.

How do I find a driver for an "Unknown Device" in Device Manager when I don't know what the hardware is?

Right-click the Unknown Device, choose Properties → Details tab, then select Hardware Ids from the Property dropdown. You'll see a string that looks like PCI\VEN_10DE&DEV_2484. The VEN_ number is the vendor ID and DEV_ is the device ID. Copy that string and search it on the PCIDatabase.com website, it'll tell you exactly what the hardware is and who made it. Once you know the manufacturer and model, finding the correct driver becomes straightforward. This method works for PCI, USB, and most other bus types.

Can a bad driver cause a Blue Screen of Death, and how do I tell which driver is responsible?

Yes, this is actually one of the most common causes of BSODs on Windows systems, particularly after driver updates. When Windows crashes, it writes a minidump file to C:\Windows\Minidump\. Download WinDbg Preview from the Microsoft Store (it's free), open it, then go to File → Open Crash Dump and open the most recent .dmp file. Run the command !analyze -v in the debugger window. The output will almost always name the specific driver file that caused the fault, something like nvlddmkm.sys for Nvidia or rtwlane.sys for a Realtek network adapter. Once you have the driver file name, you know exactly what to reinstall or roll back.

Is it safe to use third-party driver updater software to fix Windows driver problems?

I'd avoid most of them. The legitimate driver update tools, like Intel Driver & Support Assistant, Nvidia GeForce Experience, or AMD Adrenalin, are fine because they come directly from the hardware manufacturers and only update their own hardware. The generic "update all your drivers" utilities that show up in search results are a different story. Many of them bundle adware, install drivers from unverified sources, or push driver versions that are actually older than what you currently have. The manual approach, Device Manager plus manufacturer websites plus pnputil, takes maybe 10 more minutes and guarantees you're getting the right driver from the right source with no surprises.

Related Microsoft Fix Guides

H
Sai Kiran Pandrala
Our team includes certified Microsoft engineers, Azure architects, and system administrators with 10+ years of enterprise IT experience. Every guide is written from hands-on troubleshooting, not guesswork. We test every fix before publishing.