Multiple USB Drives

(Win7 Pro)  Is it possible to have multiple USB drives with the same drive letter, on different ports, powered up at different times?

For part of my backup scheme, I've got a 4-port USB 3.0 Hub with a power switch for each port, and a USB HD on each port.   I want to rotate through the port/HDs one day each, so there are always 2-3 days of "offline, local" backups (I also send stuff to an encrypted cloud backup service).  

I'd like to use the same "full" backup job for each port. The backup job needs to point to a single drive letter.   So I'd like each USB HD/Port to have the same drive letter, say "S".

Seems like Win7 is not allowing this;  when the drives are remounted by powering them on, unless the drive was the previous "S", it changes to drive letter "F".

Is this inevitable and if so why, or might there be away around it, and if so what?
Who is Participating?
nobusbiljart fanCommented:
i always recommend this tool for a fixed drive letter :
No, Windows don't have this feature, not just yet.
I solved a somewhat similar problem with a PowerShell script that would coerce the drive letter to be what I wanted scheduled as a task to run shortly before the scheduled backup. This became necessary when other drives were being used on the server and occasionally messing with the eventual assignment of drive letters.

# Change drive letter to F: as expected elsewhere if drive happens to mount as E:
if( Test-Path "E:\FullBackups") {
	get-wmiobject -class win32_volume -Filter "DriveLetter = 'e:'" | set-wmiinstance -arguments @{DriveLetter = "F:"} | Out-Null

Open in new window

In this case, I had only one alternative, but something like this could perhaps work for you, just with different drive letter assignments.
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Joe Winograd, Fellow&MVEDeveloperCommented:
It would be easy to write a program to do this by utilizing the free NirSoft utility, DriveLetterView:

First step is to download from the link above, unzip it to get the DriveLetterView.exe utility, and store it in a folder called C:\NirSoft (you may, of course, call it whatever you want, but if you don't use that name, then change the commands discussed below).

The program would call DriveLetterView with the /stext option to save the information about all drive letters in a text file. The output for a typical USB drive looks like this:

Drive Letter      : M:\
Drive Type        : Local Hardware
Drive Name        : Ext Hard  Disk USB Device
Drive Description : Disk drive
Connected         : Yes
Instance ID       : USBSTOR\Disk&Ven_Ext_Hard&Prod__Disk&Rev_\2010081400000053&0
Device Path       : \Device\HarddiskVolume13
Physical Drive Name: \\?\PhysicalDrive4
Bus Type          : USB
Last Update Time  : 3/8/15 12:35:53 PM
File System       : NTFS
Volume Name       : ST-500GB
Volume Serial Number: 524772F8
Free Space        : 74.26 GB
Total Size        : 465.23 GB
% Free Space      : 16.0%
Product String    :  Disk
Product Revision  :
Vendor String     : Ext Hard
Serial Number     :

Open in new window

Next, the program would analyze the text file to determine which of the drives in the list is today's backup drive and then store it in a program variable, let's say %TodayDrive% (would include the colon). Then the program would make these calls:

C:\NirSoft\DriveLetterView.exe /delete local S:
C:\NirSoft\DriveLetterView.exe /change local %TodayDrive% S:

Run the program before your backup each day and that should it for you. Regards, Joe
Just assign the disks a drive-letter via diskmanagement when you connect it first to a PC. Whenever you re-insert that disk to the same PC, it will get the same letter you assigned it previously. Just make sure no other disk is online at the same time that already has that same letter.
codequestAuthor Commented:
Thanks for inputs.    
@rindi:  unfortunately that doesn't seem to work.  After one drive is assigned "S", then dismounted, the next drive that was previously assigned "S" mounts as "F".  I just tried it again;  that's what it does consistently.
@Joe, jmcg and nobus: those solutions look helpful.   the nobus/usbdlm solution looks best, however, complicated; it may take a few days to figure out whether I can use it or one of the other solutions.  I'll post back then.  This seems do-able, one way or the other. Grazie!
I've never had any problems with the drive-letter being kept once set manually. Maybe you have some group policy that changes that, or some software installed that interferes.
codequestAuthor Commented:
@rindi:  I thought it might be the configuration of being on a hub, with each port having its own power switch.   However I just tested it using an extension cable instead of the hub, and the same thing happens.    Where might I look for a group policy that would affect this?
I don't use group policies enough to know where to look.
Joe Winograd, Fellow&MVEDeveloperCommented:
> @rindi: unfortunately that doesn't seem to work. After one drive is assigned "S", then dismounted, the next drive that was previously assigned "S" mounts as "F".

That's the same experience I've had (and I'm not running any group policies). For example, I have software that always syncs to a USB-connected drive. I use CompMgmt to make it the M drive. One M drive is in my office connected to the laptop's docking station, while another M drive is in my laptop case for use when I'm on the road. I can continually reboot in my office and it will always come up as M. But when I go on the road, the travel M drive will come up as E on the first boot. I'll change it to M in CompMgmt and then I can continually reboot on the road and it will always come up as M. But then when I get back from the road and the office M drive is connected, it will come up as E on the initial boot, not M. Regards, Joe
Is the disk being reformatted or is another label written to it when you use it on the other PC? That would explain this. If the label of disk changes, then it won't be recognized as the same disk on another PC.
codequestAuthor Commented:
@all:  I've got a lot of options here.  usbdlm, NirSoft or PowerShell all look like they could work, either running in background or hooked into the "pre-command" for my backup job.  

Also, for the time being I can just let the drives default to "F", and point my backup job to that drive (which seems to work fine).

Bottom line, rather than waiting to figure out which approach I eventually take, I'm going to award points and close this.  Thanks to all for the input on this.
Joe Winograd, Fellow&MVEDeveloperCommented:
> Is the disk being reformatted or is another label written to it when you use it on the other PC? That would explain this. If the label of disk changes, then it won't be recognized as the same disk on another PC.

There is no "other PC" — there's an "other disk". In other words, it's the same PC — a laptop. In the office, it's on a docking station; on the road, it isn't. In the office, the M drive is a Seagate; on the road, the M drive is a Western Digital. In neither case do I ever change the disk label — I simply run a backup utility called SyncBack that syncs data files to it. The same SyncBack profile (on the same laptop) runs in the office and on the road, and it syncs to the M drive — hence, the issue being discussed. Regards, Joe
Joe Winograd, Fellow&MVEDeveloperCommented:
You're welcome. Happy to help. And thanks to you for awarding points. Good luck with the eventual solution. Regards, Joe
nobusbiljart fanCommented:
just a small comment - for fixed drive letters, i use the last letters, like X,Y,Z, just to be sure it does not get confounded with the usual letters used by the OS
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.