Ways to minimize the size of Windows drivers

Ways to minimize the size of Windows drivers

Over time on Windows systems, it’s inevitable that old device drivers get supplanted by new ones. Even on systems where drivers aren’t rigorously maintained, Windows Update will typically update at least a dozen drivers annually.

Those who pursue driver currency more vigorously may also use tools like the Intel Driver & Support Assistant (DSA), Nvidia’s GeForce Experience (which checks Nvidia graphics, sound, and 3D drivers), or general driver management tools such as ioBit’s Driver Booster or the SourceForge Snappy Driver Installer project to check and update drivers on Windows 10 or 11 PCs. The Intel and Nvidia offerings concentrate on devices they make, whereas general-purpose driver update tools check all of them and point you at drivers in need of updating, with varying degrees of help and support in getting them installed.

Neither vendor-specific nor vendor-agnostic update tools remove old drivers as they cheerfully add new ones. Thus, while every driver update tool that I know of helps keep drivers up to date, they do nothing to relieve driver bloat. In fact, the Intel DSA is spectacularly good at adding to driver bloat, as you’ll see later in the story.

All those unnecessary drivers eat up storage space and may slow down your system, so it’s good PC maintenance practice to clear out the driver cruft.

What happens when you install a Windows driver?

This is actually quite a fascinating process and involves a lot of behind-the-scenes action in Windows. For this discussion, I’ll stick to so-called Plug and Play (PnP) devices. These are purpose-built to announce themselves to Windows so that it can assist in finding a device driver to use, if not always the latest and greatest instance. My information comes courtesy of the terrific Microsoft Press book Windows Internals (7th edition in 2 volumes, as of this writing). Here’s the process:

  1. A bus driver informs the PnP manager about a device it discovers during enumeration using a device instance identifier (DIID).
  2. The PnP manager checks the registry for a corresponding function driver. When it fails to find one, it tells the user-mode PnP manager about that device using its DIID.
  3. The user-mode PnP manager tries to perform an automatic install without user input or intervention. For installers that involve posting of dialog boxes requiring user input, the PnP manager executes a Hardware Installation Wizard to oversee such task(s) if the logged-in user has admin privileges. (If not, this activity will be deferred until an admin-level user next logs in.)
  4. The Hardware Installation Wizard uses Setup and CfgMgr (Configuration Manager) API functions to locate INF files that correspond to drivers that are compatible with the detected device. Mostly, this involves accessing such files from the local file system (or media like a CD or DVD) at the user’s direction.
  5. Installation proceeds in two steps: (a) The third-party driver installer imports a driver package…
Exit mobile version