Your hard disk must have bad sectors.
If u'r file system is FAT32, then arrange a bootbale Win98 floppy or CD.
Boot thru it.
Then in command prompt, run the following command:
scandisk/all/surface/autofix/nosave
This will scan u'r hard disk for logical as well as physical errors and mark all the bad sectors.
Try running the utility 3-4 times as not all bad sectors get marked on a single run.
If it's NTFS, then run chkdsk /f/r.
Don't force a dismount. Press y to schedule it for next restart.
Repeat it for all partitions.
Now restart the system. And let the chkdsk scan & find & mark bad sectors (if any).
If that doesnt work, then use Seagate's Seatools program.
*www.seagate.com/www/en-us/support/downloads/
Else use third party hard disk checking softwares.
If none of these work, then better backup what good data u have and get the hard disk replaced.
If there are bad sectors, then the above commands will mark them and recover all the data from them.
If there are bad sectors, then backup u'r drive contents onto any another drive. And get the hard disk replaced from Seagate Service Centre.
*www.seagate.com/www/en-us/about/contact_us/warranty-support-contact-apac
They will replace it cos like u said u purchased it 2 years ago. That means u'r hard disk has 5 years warranty. Check it here:
*support.seagate.com/customer/warranty_validation.jsp
If it's not & warranty has expired, then u'r in bad luck.
Try taking the bill with u to service centre.