Change Drive Letter of System Boot Volume

As system administrators, we sometimes inherit machines from other “IT Professionals” that have basically been set up all wrong. Often, we are stuck with the mess until we are presented with an opportunity to rebuild the server, but in some cases there are things that can be done. This is especially true with Server 2008.

I recently ran into a system where the OS had been installed properly on the c: drive originally and then changed onto a drive labelled as H:. While the OS can be run on any drive, the convention obviously is C: and in some cases not having an OS on C: can cause issues with poorly written software. It is generally a hassle.

If you go to the Disk Manager, it will not let you change the drive letter of a system drive while it is mounted, but there is a workaround.

First of all, backup the whole system in its entirety including the system state.  Then open regedit and migrate to HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

Right click on it and choose rename. This will allow you to edit the values stored inside. Select the drive letter you want the OS to be moved to and edit. Please remember that you cannot rename it to a drive letter that is already in use. You will have to edit that drive letter to one that is not in use before changing the OS entry to it.

Close regedit, use bcdedit.exe to change the location of the System partition and restart. Your OS should now be on the drive of your choice!



  1. I need to change the C:\ on one of our servers to Y:\. I've tried what was suggested above, but it's not working. I'm able to rename the \DosDevices\c: but the bcdedit fails stating that "An error has occured setting the element data. The request is not supported."
    Any suggestions or help you could give would be much appreciated.

  2. I tried, it works but there are so much things need to be advice --> don't rescue--> rebuild might be easier --> call CFO to get you a new server --> reason: upgrade!


Copyright © 2010 Paul Guenette and Matthew Sleno.