How to Migrate Your System Driver to a New Disk
Recently I got a classic WD 740GD hard disk (Raptor II), and I decided move the whole Vista system to this monster without reinstall. I thought this is simple, but at last, it costed me 3 nights. The main problem is, I can't change the new system drive's letter either under under windows or DOS (there is a command set drive letter in DOS, but I guess it only changes drive letters in DOS). However the final solution is like this:
First, let's define 2 functions to simplify the description(Here drive has equivalent meaning with partition):
Dump(C,D) means dump partition C: to partition D: with Ghost.
SetDefault(C) means start system with Vista Installation Disk, choose Fix computer problems, this will set the partition contains windows as startup partition.
I formatted and assigned W: for the new disk under Vista. I Dump(C,W) and then SetDefault(W), and unplugged the old disk, try to start with new disk alone, but failed, because the new disk's drive letter is W: and lots of system files' paths are hard coded to C:. So I have to keep the old system in C:. And I also can't switch C: with W:, because either you start the system with C: or W:, one of them is in use.
I plugged the new disk to another computer, split it to 2 partition by Acronis Disk Director, the new partition, lets call it X:, I then Dump(W,X). Now I have 3 system partitions: C: on old disk, W: and X: on new disk, what I planned is to start with W:, switch the driver letter X: with C:, then SetDefault(C:), so drive letter C: is now in new disk. However, to my surprise, when I plugged the new disk back to my computer, the 2 system partition were automatically recognized as C: and D:! So I don't have to switch the drive letter. I guess Acronis updated the drive letters while do the split. All I did later is formatting new D: and merge the space to C:. Now I have a completely same system with drive letter C: on new disk :)