When using Linux copying or migrating your existing system to an other harware is much easier than you might think with your Windows experience. You need a copy of your HDD or put your existing one in your new computer and you have pretty good chances that you boot in your new hardware without any problem.
If you want to copy your existing system to a new HDD:
Make sure your new location is as big or bigger than your existing one.
Boot a live CD (any one will fit you that offers a terminal).
Make sure your existing system (the drive you want to move) and your new drive are connected to your machine but they are not mounted. (
cat /proc/partitions will show your available drives.)
Now this will do the trick for you:
sudo dd bs=4M conv=sync,noerror status=progress if=/dev/hda of=/dev/hdb
/dev/hda is your existing system and
/dev/hdb is the new drive you want to copy your existing system to. Take care not to use partition numbers because you want to copy everything (eg. MBR, partitions and all contents) to your new location.
Be sure not to exchange the drive names in
of=your_new_drive or you will destroy your existing system by overwriting it with the contents of your new drive (e.g. a bunch of pretty zeroes if that is a brand new formatted drive).
If you could boot from
/dev/hda in your old system chances are that your new cloned drive
/dev/hdb will fit in any computer hardware and you will boot from it. After you started your new system you may finish adjusting settings that your new hardware offers or requires, and check for gparted to adjust your partition sizes if your new drive is bigger than the old one.