In my continuing quest to find more and better ways to slim Windows 7 down on disk, so as to make the most of smaller, more affordable SSDs, I’ve come across another footprint reducing technique. Exploring space consumption with my favorite visual tool, WinDirStat, I observed that the Windows FileRepository directory (C:\Windows\System32\DriverStore\FileRepository) consumes a fair amount of space (2.2 GB after my initial assay, just under 1 GB after the clean-up I’m about to describe).
In looking at the contents of the directory, I was initially baffled by a long list of subsidiary folders. It wasn’t readily apparent to me how best to make sense of this information, nor to see how this large collection of files might be pruned to filter out the dross and keep the good stuff intact. Of course, this set me off looking for a tool to help me decipher this stuff and, hopefully, also decide what might be pruned to get rid of unnecessary entries. Luckily for me, it took only small effort to turn up a CodePlex utility (Microsoft’s Open Source code repository) named DriverStore Explorer (aka RAPR or rapr.exe).
This tool maps the driver files (which take the form oemxx.inf in the first column of the listing to a package provider or vendor name, a driver class, a driver date, and a version number. This information makes it very clear that you can go spelunking inside Device Manager (looking at the Driver tab in the properties window for specific devices) to see which entries in this store are potentially redundant. In my case, I observed that frequently updated drivers (on my system this meant the JMicron storage controller driver, my Nvidia GTX 275 graphics card, and my dual RealTek GbE PCIe Ethernet adapters) were present in great profusion. I was able to get rid of no less than 4 older versions of each driver (and as many as 10 of the Nvidia drivers) and able to recover over 1 GB of disk space on my system drive as a consequence. I kept the three most current Realtek drivers to show what these redundant listings look like:
If you decide to prune your driver collection, I’d urge a couple of safeguards before you get too deeply involved in selecting and removing FileRepository contents. First, you should probably make an image backup of your system drive; second, you should make a copy of the entire, unchanged C:\Windows\System32\DriverStore\FileRepository directly as well, so you can go in and recover anything that might go missing and later be needed. According to TechNet, if something isn’t available in this directory that is needed, Windows will search for it in other places on your machine and online, so you may not encounter trouble even if you root out something that your system later decides it would like to access. That said, I kept at least two versions back when I was deleting items, so as to remain able to use the Roll Back Driver button in Device Manager should any of my current drivers start to give my system heartburn. I’d suggest you do likewise, as well.
Other than that, this is another peachy way to recover a nice chunk of disk space on your system drive. Just steer clear of the Microsoft drivers, and don’t remove anything you might need (I did, however, also axe all of the half-dozen or so Bluetooth drivers I found in that repository, simply because I don’t use Bluetooth on this system, nor do I ever intend to put it to work on this machine). As long as you can live without the missing drivers, I believe you can also do away with them as well.



1 ping
Noodling on Windows 7 Footprint Reduction for SSD Migration - Windows Enterprise Desktop says:
September 22, 2011 at 5:34 pm (UTC 0 )
[...] You can use a nice CodePlex tool called DriverStore Explorer to identify and delete obsolete or duplicate drivers from the Windows 7 C:WindowsSystem32DriverStoreFileRepository directory. This has never failed to deliver less than a 1 GB disk space saving on all of the systems I’ve tried it on, notebook and desktop systems alike. See my blog “Another Nice System Drive Cleanup Maneuver: DriverStore Explorer.” [...]