Sometimes when changing devices, or when remove from system damaged devices and replace with new devices, old, unused drivers remain on system.
Is there any way to remove unused drivers?
Up to Windows 7, you can view non-present devices in Device Manager by starting it like this, from an (elevated) command prompt:
set devmgr_show_nonpresent_devices=1 start %windir%\system32\devmgmt.msc
Starting from Windows 8, this switch is no longer required.
After starting Device Manager, select “Show hidden devices” from the “View” menu. Before uninstall, do check the properties window of devices you’re going to uninstall whether they’re really non-present devices.
You can remove the old drivers with the inbox tool pnputil.exe
pnputil -e > C:\drivers.txt
open the file drivers.txt and look which .inf file is associated with the driver you want to remove
pnputil.exe -d oem<NUMBER>.inf
This removes the driver correctly. If this is too complicated, you can use the tool DriverStore Explorer [RAPR]
enumerate, select the driver and click on
There is no reason to delete drivers. Windows comes preinstalled with tens of thousands of different drivers to ensure that anything you put in just works. The process of removing them is quite involved.
However, many times when you manually install a "driver" you actually are installing an entire software suite. The example you gave of an nvidia "driver" is one such case. Those you might want to get rid of for various reasons, the process for that is quite simple, you just perform an "uninstallation".
If for some reason this uninstalling it doesn't work, download the latest version of nvidia driver suite and tell it to perform a "clean install". this will purge your system of all broken old nvidia components and fix the installation. When it is done restart the PC and then perform an uninstall.
Another good one, maybe the best, is Device remover, Device Remover
My Best Regards