The easiest way is to use Norton Ghost. It copies the whole drives W/O any problems, even if the drives have different size. If you have NT/2000 - it's probably the only way to copy your system without shamanic dances. If you have "dynamic drives" in your system - the easyest way is to mount the new drive as a mirror for your old one, but it works only in 2000 Server, 2000 Pro can't make mirrored volumes.
If you have Win9x or ME - simpy copy all your files in Explorer, but exit ALL programs before doing it (MSIE, ICQ, etc), and copy the windows system folder SEPARATLY, selecting all files inside it, but deselecting win386.swp file.
Or just install FAR manager (a perfect clone of Norton Commander for Win32), and copy all the files onto a new drive, skipping files that cause "sharing violation".
Don't format the old drive before you'll be 100% sure that the system on the new drive works OK.
If you are not familiar with disk patitioning tools (fdisk) - I suggest you to use Norton Ghost. You'll escape all the problems and "surprises".