The Disk Signature and Windows Drive Letters
How drive letters are maintained and how
they are linked to a hard drive's Disk Signature.
The Windows NT operating system from before NT4 till Win-8 will remember the drive letter that has previously been allocated to a partition or drive and always reassign that same letter every time the operating system is booted. This differs from the Win9x generation of operating systems where drive letters were assigned on every bootup in a default order as the partitions and drives were discovered, which meant that a change to partitions or the adding or removal of drives would cause drive letters to change. With NT operating systems the hard drive partition drive letters are maintained by linking them to a partition by using a unique number that is assigned to each partition and stored in the Windows registry. On a classic MBR styled hard drive this unique partition number is generated from the disk signature of the drive and the sector number that a partition starts on, (It's different on GPT drives - see box below). During Windows bootup the stored partition number is compared with the disk signature and if they match then the partition will retain the drive letter that was previously assigned to it.
If a disk signature is changed the partition numbers in the registry become invalid. They no longer match the disk signature of a drive and therefore drive letter assignments are lost. On first reboot after a signature change each partition on the affected drive will have its unique number updated to match the new disk signature, then be reassigned a drive letter. These reassigned letters may not match the originals and so drive letters may change. (You will also be informed that new device/s have been installed and a reboot is required).
There was a small change made to drive letter allocation procedures in Windows Vista so that when an install is carried out from bootable media and not from inside a booted Windows operating system the install routines ignore any current letter assignments to existing partitions and allow each added OS to take C: as their drive letter. Every Vista in a dual/multi-boot machine whether on a system or boot partition would be able to see itself as the C: drive, which is a definite improvement, but it does nothing to stop a boot partition operating system being assigned a wrong drive letter after a disk signature change. If anything it makes matters worse because with the decline of optical drives there would have been more occasions where an operating system on a boot partition would have seen itself as the D: drive, thereby making a re-assigning of default letters correct.
Windows 7 and 8 System Reserved Partition.
From Windows-7 the default letter allocation order for system and boot partitions has been reversed. Now the Boot partition gets priority and will be assigned C: while the system partition comes second and gets D: - that is if it gets a letter. If the System Reserved partition is small and houses only a few boot files then Windows will deem that it holds nothing the average user needs access to and so will not assign a drive letter, thereby removing it from being visible in Windows.
So now every Windows install that sees itself as the C: drive, whether on a separate boot partition or on a combined system/boot partition, will survive a disk signature change and a drive letter reassigning event. A truly welcome improvement and all we need now is for Microsoft to make it that all Windows installs can only ever see themselves as the C: drive. Has this already started to happen?...... we have just noticed that our full retail OEM versions of Windows-8 will not allow the type of install (the Custom install from inside a booted Windows) that would produce a different drive letter. We'll update on this as we get our hands on more final retail versions of Win-8 and do more testing. Have you seen the same? feedback.
The highlighted number is that of the C: drive and we can tell from its first 8 digits that the disk signature of the hard drive is e8 b4 12 f4. The E: drive is showing the same disk signature in its partition number so this tells us that E: is a separate partition on the same hard drive that the C: partition is on. The F: drive also has a 24 digit unique partition number, but the disk signature here is 68 5a 12 8d, which tells us that this machine must have at least two hard drives. The A: D: and G: devices and any device with a longer data number are not devices that use MBR disk signatures for identification, such as floppy, CD/DVD, USB sticks, or GPT styled hard drives.
The new GUID partition table has been designed to work with the new EFI firmware that is set to replace the traditional BIOS firmware on computer motherboards. A GPT styled hard drive has a special hidden partition called the EFI System Partition (ESP), which essentially contains much of what the MBR does on tradition hard drives. On a GPT drive Windows will put its bootmanager files on this partition, which means that Windows will always have separate System and Boot partitions, hence the necessity for the change to drive letter allocation order, and why the System Reserved partition was introduced on MBR styled hard drives. An Introduction to UEFI and GPT