This could happen when you install Windows on a system that already has partitioned and formatted drives. They could either removable drives like USB, CD/DVD-ROM, or other hard drives. So before the system starts prepare the system drive, it already assigned C: to one of those existing drives, then your system drive becomes E:, F:, or even I: etc.
Microsoft gave the theory and some explanation on this, and yet provided a practical solution. However, I heard that if you are working on a server like HP ProLiant, the SmartStart utility can be used to avoid such issue when you re-install a Windows 2003 system.
First of all, like discussed in this thread, this issue is not as simple as going to Computer Management – Disk Management. The drive we are dealing with is the system drive, it’s different from other data drives; once you change the system drive, there are thousands of registries need to be change accordingly, otherwise many executable files cannot run properly.
Here are some suggestions:
1, Remove all removable media, including USB drive, card reader (even it’s empty), or removable SATA drives. Try this first, there’s big chance you can make it work without the following steps.
2, Remove/disconnect CD/DVD drive other than the one you’ll load operating system from.
3, Disconnect other hard drives if you already have formatted and have data on them.
4, For those remotely re-installing a server system with existing data drives, try to use the system install tool provided by the vendor, if you cannot disconnect other drives/arrays from the backplane.
5, Use low level tools when the previous steps are not working. Remember the old-day’s FDISK? or its new version DISKPART.
6, Backup the data on the other drives and prepare for a total clean install, which will re-partition and re-format all drives.
7, If you don’t want to try all those steps except the very first one and your Windows is running on E: or I: drive, that’s fine. The OS is capable of running from drive Z as from C, unless you have certain standard to follow in your environment.
This thread includes almost everything I talked about here.
If you want to read some official notes, here are related Microsoft KBs.
This KB explained the background theory why Windows work like this: Overview of PNP enumeration and hard disk drive letter assignments in Windows Server 2003 and Windows XP
This is a different scenario: Drive letter that is assigned to the primary hard disk partition is not correct when you perform a CD-ROM-based clean installation of Windows Server 2003 or Windows XP
This KB requires some registry change, which I don’t recommend if you’re trying a clean install: How to restore the system/boot drive letter in Windows
The last one is not quite relate, just for reference: Unable to log on if the boot partition drive letter has changed