What a ghost driver is
Every device you ever plugged in left a driver package behind. Replace a GT 1030 with an RTX 3050 and the old NVIDIA package stays installed — registered in the registry, present in the driver store, just not bound to any physical device. Windows calls these non-present devices. Device Manager hides them by default, so for most users they simply don't exist.
The tricky part: tools that enumerate hardware through WMI see those registry entries too,
ghosts included — so even many monitoring apps can't tell a real device from a phantom one.
The reliable source of truth is pnputil /enum-devices /connected,
which returns only hardware that is physically present right now.
The gap between the registry list and the connected list is your ghosts.
Does it actually matter?
Honest answer: usually it's hygiene, not a crisis. But there are three real cases:
- Driver conflicts — leftover GPU/audio packages can fight with current ones, especially after AMD↔NVIDIA switches. The classic symptom: random black screens after a "clean" GPU swap.
- Disk space — driver store packages range from a few MB to over 1 GB for GPU suites.
- Stale services — some ghosts leave services that still launch at boot, doing nothing useful.
Finding ghosts with pnputil
Open PowerShell as administrator and compare two lists:
# everything Windows knows about (incl. ghosts)
pnputil /enum-devices
# only what is physically connected right now
pnputil /enum-devices /connected
Any device that appears in the first list but not the second is non-present. Old GPUs, audio interfaces from a previous motherboard, USB devices you owned once — they'll all be there, often dozens of entries deep.
Removing them safely
Each device has an instance ID shown by the enum command. Removal:
pnputil /remove-device "<instance-id>"
Two safety rules. First, remove one device at a time and reboot if it was a GPU or storage class. Second, never bulk-delete by wildcard — one mistyped pattern can take out the driver of the disk you're booted from.
The automated way
PC Workman does this comparison automatically: its Driver Health page runs the registry-vs-connected diff per device class (GPU, Audio, Network, USB) and marks ghosts with a ⚠ badge directly on the card — including the device age and a one-click removal dialog with admin confirmation. The detection method is exactly the one described above, just without the typing.