Hi Snoopy,
I know you were probably looking for an easy fix here, but it's not quite this simple. A "Bad Block" (or bad sector) is an area of disk that is damaged. Bad Blocks are often caused if the Hard Drive has taken a knock, overheating or early signs of hard drive failure.
The first thing you should do is check the disk, go to
My Computer, and right click on your hard drive. Go to
Properties, Tools tab, and under "Error-checking", click on
Check Now. Tick both check boxes and then click on
Start. You'll need to reboot for this and can take several hours.
Take a look at this site:
Recovering Hard Disks with Bad Blocks | Hardware Secrets - However, I have found from personal experience that formatting a disk this way only really hides the real problem, and the problem can often return. Bad Blocks can cause data loss. In many cases, the only way to fully recover from bad blocks is to replace the disk itself.
If your looking for an alternative to resizing your partition without losing any data, the only way you'll be able to do it with those problems is to take an image of the disk first. Delete the partition and create a new one the size you want it, and then restore that image to the new partition.