Device drivers are an important component of Windows. They tell the Operating System how to operate a particular hardware device. The drivers are a bridge of communication between the software Operating System and the hardware. Without drivers installed, Windows will not be able to communicate with the hardware.
Windows 10 comes with a collection of trusted driver packages of the most common hardware from Microsoft and third-party vendors. This is called the Driver Store.
Windows 10 saves all the drivers inside of this folder called DriverStore. Its exact location is:
Since the files inside this folder are critical for system functioning, it is advisable not to touch the folder.
When to delete old drivers?
Over time, Windows will keep on installing device drivers for all new hardware plugged into the PC like printers, USB devices, monitors, etc.
If new drivers are available for a particular device, Windows will automatically try to download and install the latest version through Windows Update.
There is one caveat to this. While Windows keeps on adding and installing new drivers, it will not delete the old ones. The old drivers keep on taking up hard drive space and eventually will fill up the system drive.
This is when you should worry about deleting old drivers from the system to free up disk space from the system volume. There are a few ways to clean up the old drivers safely. We will discuss each method step by step.
Cleanup old driver versions using Storage Sense or Disk Cleanup
Windows 10 comes with Storage Sense option which can automatically remove unnecessary files from the system drive. You can also schedule the cleanup process to keep your system tidy.
- Go to Settings (Windows key + i)
- Go to System –> Storage
- Click on Free up space now
- This will automatically scan for unnecessary files including the device driver packages which are no longer being used. Click the Remove files button when the scan is complete.
For previous versions of Windows, you can use the Disk Cleanup utility.
- Go to Run –> cleanmgr
- Disk Cleanup window will open for C drive. Click on “Clean Up System files“, and select system drives again when asked.
- Then it will calculate the free space, you can have in C drive.
- A Disk Cleanup window will open again with a list of all files you can delete to free the C drive for some extra space. Check the checkbox of “Device Driver Packages”, and press OK.
All old drivers which were present on your system will get deleted by Disk Cleanup.
Uninstall old drivers using Device Manager
The above-mentioned method does not remove all old device drivers. If we want to uninstall all the drivers for devices not currently connected to our system, we will have to manually scan through the device manager. Here’s how we do it:
- Go to Device Manager (Windows key + X + M)
- From the View menu, select Show hidden devices. This will show hidden devices in the list. Hidden devices are denoted by faded icons.
- Hidden devices are the ones which are not currently connected to our system at the moment. Right-click any faded entry and select Uninstall to uninstall the device and remove its driver.
If you go to the Properties of any hidden device, you will see the following error message:
Currently, this hardware device is not connected to the computer. (Code 45)
To fix this problem, reconnect this hardware device to the computer.
Remove old and unused drivers using PowerShell script
Manually scanning through the old and unused drivers is a long and tiring process. The guys at ITBros have done a great job and created a PowerShell script to uninstall old and unused drivers automatically. Follow the instructions below to download and run the script.
- Download the PowerShell script from here:
Uninstall Old Drivers Automatically (3.4 KiB, 933 hits)
- Open PowerShell with administrative privileges.
- Run the following command to allow unsigned scripts:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
- Next, run the ps1 script downloaded from the above link.
Step no. 3 is necessary. Otherwise, you will get the following error message:
.\driver_cleanup.ps1 : File C:\users\itechtics\Desktop\driver_cleanup.ps1 cannot be loaded because running scripts is disabled on this system.
Using third-party tools
If you are not comfortable with the above-mentioned methods, you can select one of the following tools and uninstall drivers with ease. Third-party software is a preferable and safer option to use if you don’t know much about Windows drivers.
Device Cleanup Tool
Device Cleanup Tool is a very simple utility to remove non-present devices from Windows installation. It is very similar to the Windows Device Manager but lists down the non-present devices separately and will let you select all and uninstall the drivers simultaneously.
Driver Store Explorer
Driver Store Explorer is a free tool which lets you see what’s inside the DriverStore in a ‘human readable’ way. You can list all the driver packages stored in the current driver store, add/delete a driver, etc.
The biggest advantage of Driver Store Explorer is that you can sort the drivers by size. This way, you can delete the most space consuming drivers and easily recover previous system drive space.
Note: Driver Store Explorer requires .NET Framework 4 or later to run.
Driver Magician is a paid tool but it’s worth it. It is an all in one package to manage system device drivers with updating, backup, restore, and uninstalling support.
- Download Driver Magician
- Run the program and select Uninstall Drivers
- The list of drivers will appear in the right-hand pane. The ones highlighted in red can be removed safely.
As a network admin, I prefer the PowerShell method which is free and easy to replicate. I can run the PS script on any no. of systems remotely resulting in desirable consequences for all the hosts.
Which is your favorite way to clean up or remove old device drivers in Windows?