A friend couldn't seem to get Norton Ghost to clone a disk usably. I suggested using GParted, and (after running chkdsk /f on the NTFS partition - possibly the cause of Norton's problem) took the following steps:
- Copied the recovery partition (at the end of the original drive) to the end of the new drive.
- Copied the system partition to the start of the new drive, and 'stretched' it to fill the empty space.
After the clone was finished (and I had left), he tried to boot, got an error and did the fixmbr/fixboot process. After that Windows XP would start to boot, but give a 'missing hal.dll' error.