The "official" way to upgrade the primary hard disk of a Windows machine seems to be to install the new drive, install windows, install backup software, then do a restore from backup of the previous system.
For home use and for the sake of doing it faster, is there another way? There doesn't seem to be a standard way of making a disk other than the primary one bootable, which is a nuisance.
I've tried "install new hard drive, copy image of partition over and expand it using a gparted boot CD, remove old hard drive", but that leaves me in a strange state where windows boots OK but doesn't go to the desktop, instead going to a logo screen. CtrlAltDel does nothing at this screen. This happens even in safe mode.
I have with this home system what appears to be a Windows OEM CD (XP home sp2) that isn't bootable, which is odd.
Edit: I think the "clone and replace" using systemrescuecd does work, I'm sure I've done that before, but only if the drive is on the same controller. In this case it's IDE->SATA, which is probably the problem.