I'm assuming this is an OS or system drive, as if just a data drive then simply copying the files from one drive to the other is the easiest way.
For an OS/system drive, I've personally found the easiest way to do this is just via the built-in Windows backup/restore to create a system image. Sounds like you might be familiar with that? If not, it's pretty easy to do...
From 'system and security' in control panel, choose 'Backup and Restore':
From here, you can 'Create System Image', and Windows will pop up a screen and scan for backup devices. (Note that, for some reason, it
really doesn't like USB thumb drives. External hard drives on USB are just fine...but not thumb drives. Go figure!)
Anyway, it will give you a list of valid locations it has found - pick one!
You then have the option of choosing which drives to include (if you have multiple drives) with the image, and it gives you an estimate of how much space the image will need (along with available space on the backup location you've selected):
Just quickly verify that the data you are looking at makes sense...
...acknowledge away, and it starts making your image!
When that is done, you get an option of making a 'system repair disk'. This is an easy way to boot right into the repair features, and I suppose the only real option you have if your system is "pre-installed" (IE., you don't have a Windows install disk). Personally, I've never done this, as I *do* have a Windows install disk, and you can get to the same repair options just by booting to that disk. Anyway, it's here if you need it.
And that's that! Now you are backed up! All you have to do now is shut the system down, remove the offending/failing hard drive, and put in the new one. Put the Windows disk in the optical drive (or, again, the repair disk if you opted for that), and boot to the Windows disk.
From the system recovery options on the boot disk, you can choose a number of things. We'll be going with the "System image recovery" option, here. (And don't worry about the "Windows 7 on D:" message - that's the virtual drive it creates for the restore boot to run from, it won't be the actual location your Windows 7 is on, nor the location the backup is on, nor the location it will restore to. It's such a useless message, I have no idea why it's there.)
Anyway, pick an image to restore from (or just let it use the latest it can find - this is usually the best bet, unless you did a backup way in the past with the system clock set in the future or something odd like that).
...probably a good idea to check the box to format and repartition the disks. I've had backup restores fail if I don't do this, even when using the same disk.
And then, just...wait. It'll take a few minutes to restore, but fairly straightforward process!
PS - Note that this exact same process can be used to migrate Windows to a larger drive. I've done it several times on my main desktop PC when migrating first from a 30gb SSD to a 60gb SSD, then 60gb -> 90gb, then 90gb -> 120gb. Works like a charm each time! You just have to remember to, when you reboot back into your OS, to go to Administrative Tools -> Computer Management -> Storage/Disk Management, and tell it to 'expand volume' on your system partition to fill the new drive space. By default, the image restore is the same size as your original drive on the new disk, so you'll have a lot of unused (unallocated) space left on the disk until you do this.