Bye-bye Inane non-Drive Drive Letters

It’s so easy to poke fun at Windows.  They seem to halt the design process about midway between a great idea and a full implementation—then hand things over to a committee for unrefinement.

(What’s a camel?  A horse designed by committee: loaded with great features but would you look at the thing!)

One such design bumble is that if you have a card reader connected to your machine, Windows likes to assign a drive letter for each slot.  Windows will do this even if the slots are empty.  As an example, my studio machine has an internal card reader (four slots) and I have an external card reader attached most of the time because I can keep it close at hand (four slots); this gives me drives lettered E through L.  All of these drives are of course empty (or more accurately are not drives at all, more below) and so are merely clutter in Explorer (My Computer, &c).  Fortunately I have found a solution for this problem.

Unix systems (Linux, Mac, &c) don’t bother with this.  It’s not simply because they don’t assign drive letters either.  When mounted each drive does receive a designation, but empty card reader slots are not mountable and as such are not assigned any designation.  The device (the card reader) is treated like an adapter and any necessary drivers are loaded upon connection (ie, when you attach the card reader using a USB cable).

Let me explain how the card reader is neither one nor many drives.  In the case of memory cards (like SD cards for a camera) it is the card itself which is the drive.  The reader device is more akin to the IDE controller and cable(s) in your machine by which your hard drive might be connected.  As an example of how it ought to be done, Windows does not assign a drive letter to an unconnected end of an IDE cable where it dangles alone in your box (nor to an IDE channel without a cable).  It’s not a drive until you actually connect a drive to it; the same should hold true for the card reader.

Now, there are those who will assert that the card reader ought to be considered as a CD or DVD drive is considered.  However, this is a false line of reasoning.  There is at least one action which can be performed on a CD drive without any media inserted: you can eject the drive tray (or close it) by right-clicking on the drive letter.  There is no action which can be performed on an empty card reader slot.

The thrust here is that card readers don’t need assigned drive letters if they are empty.  In my example above I display eight (8) alleged drives in My Computer.  If I insert one card I have to guess as to which of those I have loaded a drive.

Now Microsoft has apparently finally seen fit to include a feature in Windows 7 (off by default) which allows users to disable this inanity, but you may not yet be using Windows 7.  (I’m content to wait for the first service pack.)

You can rid yourself of those annoying empty drive letters (and allow inserted cards to auto-assign) using a small service application called USB Drive Letter Manager.  It has other functionality, but I was content using the included sample configuration.

Installation and deployment is easy.

  • Download it from the above link (it’s near the bottom in a section called “Conditions and Download”)
  • Unzip the files into a folder on your root (maybe C:/Tools)
  • Rename “USBDLM_sample.INI” as “USBDLM.INI” (or create your own “USBDLM.INI” file)
  • Right-click on “_install.cmd” and run (you will likely need administrator privileges)

That’s it.  It’s now running as a service.  No more empty card reader slots, and when you insert a card it is auto-mounted (auto-assigned a drive letter).

Thanks to the cats over at LifeHacker for some of this information.

Happy hunting.


Leave a Reply

Your email address will not be published. Required fields are marked *