Back in the days of Windows 3.1 and DOS, you could install Windows on 1 PC and move the drive to another PC.
Since then, it is a BAD idea to go beyond copying the Windows CD, or a basic "image", onto the drive before installing it into the targetPC.
If there are ANY hardware differences between the 2 PCs, Windows is VERY likely to freeze while booting.
For XP, this WILL not work at ALL!!! Even if the hardware is IDENTICAL! You WILL generate an activation event.
You can get away with doing this "most of the time" for Windows 95 and 98.
When moving a hard drive with W2K or XP installed to different hardware, Microsoft recommends the following procedure:
Back up the hard drive.
Move the drive to the new system.
Format the drive, and install Windows fresh.
Restore from your backup.
Was the drive a slave in the PC where you installed W2K onto the drive?
If so, the files you need are in the root folder of the boot drive on the other PC.
Even if you direct Windows to install on another hard drive, the initial BOOT files are ALWAYS installed onto the BOOT drive (C:).
If you are VERY lucky, all you need to do, is copy the W2K boot files from the PC where you installed W2K onto the drive.
They will be in the root of the active boot drive.
ntldr
ntdetect
boot.ini
The boot.ini file may need to be edited to specifically match the new PC.
Chas