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.
Assign the Same Drive Letter for USB Drive in Windows
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.
- Launch Disk Management console (
diskmgmt.msc
) - Right-click on the external drive, and click Change drive letters and paths…
- Click on the Change button, and choose a distant drive letter from the list, and click OK.
- 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
The \DosDevices\R:
REG_BINARY value, in this example, stores the disk name and identifier.
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.
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:
- First, completely backup the Windows Registry or create a Restore Point.
- Connect the external drive to the system and note down the drive letter assigned by the system. Let’s say it’s
G:
- Now, safely eject the external drive.
- Launch the Registry Editor (
regedit.exe
) - Go to the
MountedDevices
registry branch below:HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
- Rename the
\DosDevices\G:
value to\DosDevices\R:
- 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 controls the Windows’ drive letter assignment for USB drives. Running as a 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 from mounting local drives to certain letters by putting them into the 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 the network, subst, and TrueCrypt drives here!
[NetworkLetters] Letters=F,G,Z
Letters configured in the 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.
Likewise, there are 23 or more criteria supported by this tool. Full details are available on the USBDLM help page. Some of the most useful criteria are volume label, volume serial number, disk size, presence 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 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!
Excellent post, clear, well written, perfect explanation, Thank You so much a solution to a big problem anyone who backs up to a USB drive needs. Why doesn’t MSFT include a utility like his?