As taseedorf says, it's impossible to fix bad sectors on a hard disk; the best you can do is attempt to avoid them. There are two ways that this can be done:
- Automatically in the disk's firmware -- This is done transparently to the OS. Modern disks can detect bad blocks and map them out, replacing the bad blocks with blocks reserved for this purpose when the disk was manufactured. You can also use a SMART utility to force a thorough (and non-destructive) check of the disk, which might turn (and map out) up additional bad blocks or other problems. There are a limited number of reserved blocks, though, and if this limit is exceeded (or if the disk is old enough to not provide this mechanism), you'll have to go to the next solution....
- Using badblocks or a similar utility -- You can use OS tools to scan the disk for bad blocks and mark them as such in the filesystem. Note that you must use OS-specific tools to do this; you can't use Windows tools to mark bad blocks for Linux, or vice-versa. Note that badblocks won't mark the bad sectors by itself; you must output its list (using -o) and then feed it into a filesystem check or creation tool (such as e2fsck or mke2fs using their -l option). Of course, if badblocks turns up nothing (as it sounds like it did for you), you don't need to feed its output into e2fsck or mke2fs.
Without seeing a detailed SMART report, it's impossible to say whether your disk has yet crossed the threshold where badblocks will be useful. You can get SMART status results in Linux using tools such as GSmartControl or smartctl. The Windows tool you used for this does the same thing, but I'm not sure what that tool means by "53%" health. This doesn't sound good, though, so I'll assume that your disk is starting to fail....
Personally, I'd never continue to use a disk with even slightly flaky SMART status results, except as a "scratch" disk (used to test OS installation procedures without endangering my real OSes, for instance). Sometimes, disks start to go bad and then deteriorate rapidly. If this happens to you, you could end up losing everything on your disk in a matter of seconds. Given that a 1 TB disk costs about $50, the question is: Is your data worth $50? If not, then by all means continue to use your current unreliable disk. If your data is worth $50, though, you should go buy a new disk
now and replace the old one
immediately. Power down your computer to minimize the risk of doing further damage just by leaving it running and don't power it up again until you've got the new disk ready to take over.
If cash is so tight that you really can't afford $50 right now, then I can only suggest that you keep good backups, at least of your most critical data.
Bookmarks