First, let me make sure that I understand what you want to do. The title suggests moving an old drive to a new computer, while the text suggests leaving the old drive in the old machine, cloning it to a new drive, and running that new drive in the new computer.
There are lots of free utilities that will clone a bootable drive. The problem is that, if you put the cloned drive (or the original drive) in a system with a different motherboard, the odds are that it will not boot because it has the wrong low-level drivers. Depending on your OS, you may be able to do a "repair installation" off of the original distribution CD / DVD, which would load the relevant drivers.
Is the new PC the same model as the old one, or is this an upgrade? What version of the OS are you using? And finally, please be aware that cloning an existing OS drive to run in a new machine, if you do not take the old one out of service, requires an additional OS license.