I had to change machines in work and rather than re-install everything, it was suggested that I "ghost" the old machine to the new. Ran into some problems, so noting what I did here for future reference.
Ghosting is using a piece of software called Norton Ghost to get an image of a drive that can be plonked wholesale onto another computer (or the same one, as a back up).
I made an image of my bootable partition (about 11GB), used free-file-splitter-v5.0.1189.exe to spilt it into 3GB chunks so it could go on my FAT-formatted USB key.
Overwrote the existing OS on the new machine with an XP install (we didn't have passwords for the new machines). Copied the image parts and the file splitter program onto another partition and joined the image back together. Ghosted that onto D:, which is where xp had installed to, as far as I was aware, as c: was too small. Windows started up, but as soon as I logged in it logged me off again. It was the correct password, as using another one gave me a password error.
Googling indicated that the drive names could be the problem. Suggested solutions mostly involved editing the registry, which I couldn't get at.
Tried changing the active drive. Broke more. Set it back. Broke differently.
Decided to ghost to the third partition, so that if I did do the installation from scratch, I would at least have my data files. So used a DOS on a CD to copy the image to the already ghosted drive. Didn't notice that it didn't copy properly (no error message, but copied file was only 3GB or so). So ghosting failed & partition was corrupted, needing re-formatting. So my image file is now only on my key again, split up.
So with three partitions on the drive, and bothered by the ordering of them, I decided to delete two, the smallish c: (hd0/partition2) and decent d: (hd0/partition1), hoping to end up with a larger c:/partition1. That ended up as d:/partition2, with the old third partition, also a decent size, becoming c:/partition1 (formatted before partitioning).
The order of the drives and their names seemed to change about quite a bit, fairly randomly, depending on how I booted. At one stage, my USB key was C:.
From now, it basically worked.
Installed XP to the new c:/partition 1.
Copied spilt image file to d:. Joined it together.
(about to ghost it back on, became unsure which partition to ghost to; copied file via some form of dos again. Realised it was too small, booted back to windows, copied it there. Looks ok)
Ran Ghost, saw two partitions. Ghosted to primary. Restarted.
Windows was unable to start. Error message that Hal.dll in c:\windows\system32 was missing or corrupt.
Directed to halfway down
http://www.kellys-korner-xp.com/xp_haldll_missing.htm Followed instructions for "HAL.DLL is Missing - Updated by MVP Alex Nichol / Option 1", except that Attrib -H -R -S C:\Boot.ini didn't work. Instead did
Attrib -H C:\Boot.ini
Attrib -R C:\Boot.ini
Attrib -S C:\Boot.ini
(corrected instructions:
Boot from your CD and follow the directions to start Recovery Console. Then:
Attrib -H C:\Boot.ini
Attrib -R C:\Boot.ini
Attrib -S C:\Boot.ini
DEL C:\Boot.ini
BootCfg /Rebuild
Fixboot
)
Rebooted. Worked. Yay!