For our off-site off-line scenario I was planning to reuse a bunch of 1TB 3.5 inch SATA hard disks that previously made up a RAID array in a recently retired server.
To conveniently swap backup disks I've set-up an eSATA dock to the computer that makes backups.
I want to copy all our VMs to a hard disk, and then have someone take that disk home at regular intervals.
I created a single primary partition on each hard disk and formatted it as NTFS.
The batch file I had scripted together seems to work fine. So far so good.
The script uses drive letter W:, and because that does not appear to be consistent for all the drives, the script would only work for one disk.
There is an easy way to have a partition always use the same letter, and that is by manually changing it with
But I needed all my partitions to show up as the same letter.
After some experiments I found that the assigned drive letter is tied to the Volume id or Volume Serial Number of an NTFS partition.
This is a 32 bit ID that you might have seen before, because it's listed in the output of the dir command:
C:\Users\visser>dir Volume in drive C has no label. Volume Serial Number is 16D0-F449 Directory of C:\Users\visser 2011-12-14 11:58 <DIR> . 2011-12-14 11:58 <DIR> .. 2011-11-21 11:37 <DIR> .asdm 2011-05-14 19:12 <DIR> .GalleryRemote 2011-05-14 19:12 <DIR> .ssh 2011-10-31 12:54 <DIR> .thinupload 2011-11-02 09:39 <DIR> Contacts 2011-12-15 11:39 <DIR> Desktop etc etc
Those IDs are automatically generated when the filesystem is created, and the versions of Windows that we use (Windows 7, and Windows Server 2008R2) do not offer a way to change it.
The Sysinternals collection however contains the
volumeid.exe tool that does the trick. It can be downloaded for free at http://technet.microsoft.com/en-us/sysinternals/bb897436.
I set the ID to the same value (
CAFE-BABE) for all the NTFS partitions on my disks.
After that I used
diskmgmt.msc to change the drive letter to W:.
At this moment my Windows system will always use W: for partitions with ID CAFE-BABE.
So it does not matter which of the hard disks I connect to the computer, it will always look like this:
W:\>dir Volume in drive W is TERENA Volume Serial Number is CAFE-BABE Directory of W:\ 2011-11-30 12:46 999,653,638,144 TERENA_VMs.tc 1 File(s) 999,653,638,144 bytes 0 Dir(s) 423,763,968 bytes free
Note that the VolumeID-driveletter mapping is fixed but limited to a specific Windows computer.
So all the CAFE-BABE partitions will likely show up as a different letter on another Windows computer.
But the good thing is that that letter will be the same again for all partitions.