Make Windows Assign the Same Drive Letter for an External USB Drive

When you insert a USB flash drive, external hard disk, or an SD card, Windows allots the first available drive letter. If drives C, D, E are already used, when you insert an external drive, it allocates drive letter F: for the external drive.

If you’re wondering how to assign the same drive letter for an external drive, then this article has the info you need.

Make Windows Auto-assign Same Drive Letter for an External Drive

Windows has a big limitation wherein it can’t reserve a drive letter for a specific external drive. The first available drive letter is assigned for new drives.

In some cases, you may prefer the same drive letter for a particular USB drive — e.g., for backup purposes. For instance, your RoboCopy backup batch file may be hardwired for a specific drive letter, and you want to retain the drive letter for your backup USB drive.

There is a workaround for this issue. Use Disk Management and assign a distant drive letter — e.g., R:\. This is done because Windows will avoid using the reserved drive letter unless it runs out of drive letters.

  1. Launch Disk Management console (diskmgmt.msc)
  2. Right-click on the external drive, and click Change drive letters and paths…
    assign same drive letter for a external drive - windows
  3. Click on the Change button, and choose a distant drive letter from the list, and click OK.
    assign same drive letter for a external drive - windows
  4. Click Yes when you see the message Some programs that rely on drive letters might not run correctly. Do you want to continue?

This reassigns the drive letter for the external drive.

Windows remembers the drive letter selection by writing to the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

assign same drive letter for a external drive - windows

The \DosDevices\R: REG_BINARY value, in this example, stores the disk name and identifier.

assign same drive letter for a external drive - windows

The Device ID can also be read by right-clicking on the drive in Device Manager and choosing Properties. The Details tab has all the info.

assign same drive letter for a external drive - windows

So, when you insert the same drive later, Windows assigns the same drive letter but only if it’s available — i.e. if it’s not already assigned to any other drive.

Change drive letter via the registry

To change the drive letter via the registry instead of using Disk Management, use these steps:

  1. First, completely backup the Windows Registry, or create a Restore Point.
  2. Connect the external drive to the system and note down the drive letter assigned by the system. Let’s say it’s G:
  3. Now, safely eject the external drive.
  4. Launch the Registry Editor (regedit.exe)
  5. Go to the MountedDevices registry branch below:
    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
  6. Rename the \DosDevices\G: value to \DosDevices\R:
  7. Exit the Registry Editor.

Next time when you connect the same drive, Windows assigns it the R: drive letter if it’s free.

USB Drive Letter Manager (USBDLM)

USB Drive Letter Manager (USBDLM) is a third-party program that runs as a Windows service that gives control over Windows’ drive letter assignment for USB drives. Running as service makes it independent of the logged on user’s privileges, so there is no need to give the users the privilege to change drive letters. It automatically solves conflicts between USB drives and network or subst drives of the currently logged on user.

Using USBDLM, you can define new default letters for USB drives and much more. This tool can assign drive letters based on the device identifier, volume label, disk size, and other parameters. The configuration can be done using .INI file or via the registry.

Here are some examples of what USBDLM is capable of doing:



Card Readers

The typical 20-in-1 card reader eats one drive letter for each of its slots, whether you insert the cards or not. USBDLM can remove the reader’s drive letters until a media is inserted.

[Settings]
NoMediaNoLetter=1

USBDLM assigns then a drive letter as configured. If you need different drive letters for a multi-slot card reader, then use the criterion “DeviceType” in a DriveLetters section (MSCR is short for MultiSlotCardReader):

[DriveLetters]
DeviceType=MSCR
Letters=R,W

Network drive letters

You can prevent Windows mounting local drives to certain letters by putting them into section NetworkLetters. This is especially useful for letters of network shares which Windows may assign to USB drives while booting. Do not configure drive letters other than network, subst and TrueCrypt drives here!

[NetworkLetters]
Letters=F,G,Z

Letters configured in section [NetworkLetters] won’t be assigned for local drives.

Drive Letters depending on Criteria

[DriveLetters]
DeviceID=USB\VID_067B&PID_2517
DeviceID=USB\VID_1234&PID_5678
Letter=X
Letter=Y

This section is used if a drive with either DeviceID USB\VID_067B&PID_2517 or USB\VID_1234&PID_5678 is attached. The drive then gets assigned X: if available, otherwise Y:. If both are in use then the first free letter is assigned.

The DeviceID can be determined using the USBDriveInfo.exe companion tool present in the same folder as USBDLM.

assign same drive letter for a external drive - windows

Likewise, there are 23 or more criteria supported by this tool. Full details are available at the USBDLM help page. Some of the most useful criteria are volume label, volume serial number, disk size, present of a particular directory or file, username, OS version, etc.

USBDLM is an excellent drive letter management tool. But the entire manual must be thoroughly read in order to configure the INI file as per your requirements. Once done, it’s a breeze!


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

About the author

Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.

Leave a Comment