|I agree What you said above is correct . I have one doubt though..|
The drive letter is assigned when partition manager and volume manager is initialized.
That is not correct either. The drive letter is assigned each and every time the computer boots. Until such time as the OS kernel is loaded,
not sure how you think its not correct..you yourself said that drive letter is assigned each time the computer boots. isnt; that what i said ?
What i said was 2 of the steps of windows boot sequence.Partition manager and Volume manager initialization.After that the Mount manager assigns drive letters to the partition/volumes.defiantly it happens when the kernel is finished initialization.
you did mentioned about registry..
The Mounted DosDevices key contains the Drive letter and 12 bytes value.
1. First 4 bytes are used for Disk signature in reverse order.
2. The next 4 bytes are double of Partition/Volume starting sector number.
3. And the rest 8 bytes of Volume starting sector . Filled with extra zeros to complete 12 byte.like
this key is read by mount manager each time windows boots up and assign appropriate letter. As the key is part of os system hive , the letter is releted to that OS only. If system is booted through a PE, it may use different letter. most often first drive as C:. But it can behave other way as well.some time i have seen our custmuers loosing data just because PE assign different letter then original and due to that confusion they selected wrong drive.. by chance if someone comes up to this post be aware :)