I have this problem too, let me explain this in more detail now...
1. I do not want to change the drive letter itself. The drive letters for the drives are exactly perfect and do not need to be changed, via Disk Management or direct Registry modification. I do not want to change C to D or D to C, or anything else.
2. The real problem is that in the old system several shortcuts had been made in the past, and recently a new hard drive has been added to the system. That means the old system had 1 hard drive, the new system has 2.
3. The old system boot drive was "C", with several shortcuts having been made back then. The new system has a new drive "C", and the old drive was changed to "D" during bootup. So far no problems.
4. The problem comes up now that all the shortcuts on "D" point to "C", and since "C" is the new drive with different info on it than the old drive "D", all the shortcuts on drive "D" now point to drive "C" which means they are all dead because "C" has new info on it now.
5. What i would like to do is change all of the shortcuts on drive "D" to point to items on drive "D", not point to drive "C", because all of the required info is now on drive "D". This seems to require making all new shortcuts after searching for the info on drive "D".
6. So the problem has nothing to do with changing the drive letters on the actual drive itself, but in the shortcut .lnk file instead. The shortcut .lnk file contains a path to the file such as:
and inside the link file itself i want it to be:
so that the old link will now work again as before.
7. There are a lot of shortcuts, not just 1 or 2 or 9 or 10, so it would take a long time and a lot of effort to manually change every single one by hand, which requires searching for every single target file or folder.
I hope this cleared up the question and somebody can find a nice solution