Do I need to replace my hard disk?
You'll see this message when a hard disk's S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) status begins to report a failure.
Modern disks have a set of tests and benchmarks as part of their S.M.A.R.T. profile and operating systems perform quick tests on them occasionally. When certain tests fall below their specified operating values, this is usually a sign that the disk is getting old and that its performance will likely quickly continue to deteriorate to the point where you suffer data loss or it just packs up and dies.
You can verify this through Disk Utility (sitting in System -> Administration). Find the disk, click SMART Data and you'll see a list of tests. Not all tests are performed automatically so you can manually set it to run a full test cycle but as soon as you see bad sectors or tests that are failing really poorly, the disk is as good as dead.
Obviously data loss is horrible so I can't recommend anything but moving everything off the disk right away. There is nothing to be gained from hanging onto the disk until it pops. It's better to be in control of the situation than have it jump on you when you're not expecting it.
I wouldn't even attempt a low-level format. If it's failing now, it's much more likely to start getting sector corruption in the future. In my mind, it's just not worth the risk.
Note: If it's still under warranty and you send it back, you will almost always (99.999% of times) get a different drive sent back. Diagnosing single drives is much more expensive than just bulk-refitting them. As a result you'll lose all your data in the process so get your data off now.
At first, as already suggested, please back up your data immediately, for example by using a Ubuntu Live CD and an external hard drive.
If your friend did use a tool like badbocks and discovered corrupted blocks on the hard drive (HDD), than it is likely that your HDD is going to fail in the near future.
There are several options you have:
Continue using the HDD till is does not work at all anymore (NOT recommended)
After backing up ALL of your hard drive data get a copy and burn Ultimate Boot Disk. Boot from the burned CD and look for the Hard Drive Utils section and look for the vendor of your HDD (e.g. Samsung, Seagate, Hitachi, etc...). Start the vendor specific tool and perform a low level format of your HDD (all data will be erased). Check again for bad blocks using the vendor's tool or badblocks. With this option you might extent the life of your HDD.
Buy a new hard drive and and clone the old one by using an Ubuntu Live CD and the programm dd. It is actually quite simple once the Live CD is running (check google for "clone hdd with dd"). Replace the cloned HDD with your old one and continue working as before. Very effective method with little hazzle.
I recommend option 3. I have done it this way several times.
Good luck!
Before doing anything I strongly recommend you backup everything. Else in the not unlikely case your disk really crashes everything will be lost. Only after a backup you should further check for hardware defects including the use of proprietary tools from your disk manufacturer.