The main drive on my desktop PC died recently. Naturally, I popped in a live linux CD and dd'd the drive onto a new one.
Why naturally? You have a Windows OS, you used a foreign OS to mess with it, and now you blame Windows for your troubles?
Bingo.
You can clone the bootdrive perfectly fine, provided it has a standard boot mechanism. Many a cloning program does not understand non standard boot loading and partitioning scemes.
Now, your funky drive letter problem is possibly because the disk id was not cloned. Windows stores the disk id (8 char id number unique to a drive) somewhere. That is how it distinguishes between drives. You can attach to different sata port it will come up right. If you have a new id number then windows assigns a new letter..
There are tools out there to change this id code.
But the best way to clone a driveis to use a hardware cloner.
A coul,e of other things :
Like said, storing programs on a diferent driveis useless as the keys, registry etc is still stored on the c drive. Lose the c drive and your d drive is useless.
Userdata . Same scenario. Do not try to outsmart the system, you are only screwing it up.
Here is a bulletproof strategy on win7.
Install os, register, load all software and register that. Copy all your files. Once you have the machine back where you want it install a second, empty harddisk.
Run windows 7 backup and ask it to make a system image and store it on the new blank drive. Windows will also ask you to create a boot cd . Do that as well. There is a tool that lets you copy the boot cd to a usb stick and make the usb stick bootable.
Run windows backup again and this time create an automatic event that backs up your machine to the additional disk. Let windows manage diskspace.
If your computer fucks up,disk crash, virus, whatever . Plug in usb stick or cd , boot off of that and select full system restore. Ploink. Done. Everything is back
The system image i had you create in the first step is a single massive file. You can copy that onto a usb harddisk and ise that as your master install. If you build a second computer with nearly identical specs as the first one you dont install winodows and all apps. Simply restore from that image.
I have three identical computers in my homelab. Same mobo , same graphics , same cpu. I installed 1 to my liking , then replicated the rest. The tiltbits will ask you to reregister but that is a few mouseclicks. It saves lots of install time.
Another nicety is to install a program like deepfreeze. Especially on a machine you use to download demo versions of software or a machine that, due to its usage, tends to collect a lot of cruft.
Simply powercycle to restore to 'frozen state'.
The machine can be infected by all you can throw at it. Powercycle and its all gone.