The things I would try are:
- Boot from a known-virus-free boot disk in DOS mode (provided you are running FAT-32 and not NTFS), and type the following command at the DOS prompt and press enter.
Scandisk c: /autofix /nosave /nosummary /surface
If the process will run and finds bad blocks, run it again and see if it finds more bad blocks on the second pass. Provided your boot disk is virus free, and it finds bad blocks on the second pass, your disk is probably bad. If it runs to completion without finding bad blocks, your hard disk is probably okay. If scandisk will not run to completion and aborts or hangs, either your hard disk is bad or the partition table is corrupt.
- Next, I would do an antivirus scan, also from DOS mode.