14

I have an out of warranty laptop that has an hdd with bad sectors. I say that because chkdsk /r got stuck for over 24 hours at certain %. I also left GRC's SpinRite running for 4 days. It is my understanding that these programs get stuck at certain places because they try to recover as much data as possible. I'm not interested in that. All important data have already been backed up. I'm looking for a solution where I can continue using this hdd and avoid buying a new one. I take full consequences of using a failing drive.

I'm looking for some tool that preferably non-destructively(to preserve current Windows/apps installs) would do something along the lines of:

if it can't read/write to a sector 3 times, mark it bad and move on.

I don't need programs to grind for hours/days at a time to recover as much data as possible. I'm looking for something to specifically quickly mark bad sectors.

Chindraba
  • 2,058
Mxx
  • 2,889

8 Answers8

12

After some deep digging, Easeus Partition Manager Home Edition has a feature called Disk Surface Test, which apparently reads the blocks off a drive and spots and marks the bad sectors, and based on what I've found so far, it makes no attempt to recover those blocks. More information on this page about the software's disk surface test: http://www.partition-tool.com/easeus-partition-manager/disk-surface-test.htm and here for download link: http://www.partition-tool.com/landing/home-download.htm (big green button at bottom of page).

Specifically, it says on the disk surface test page:

When it finds bad sectors, it will mark those sectors as bad with red color so that the system knows not to use them. It may allow them to be read, in case the data stored on the bad sector is still accessible, but they cannot be written to.

so I think this may just be what you're looking for.

Caleb Xu
  • 1,703
11

Linux includes a utility to do this for these bad blocks.

/sbin/badblocks -sn -b512 /dev/sda

For maximum speed, make sure the number after -b matches your disk sector size. 512 is a safe default.

-sn means a progress meter will be displayed and a non destructive read-write test will be performed.

As every block on the disk will be read and then written to, the drive's firmware will make note of any errors and will reallocate bad sectors accordingly.

Noishe
  • 249
3

An alternative to marking clusters as bad is marking entire ranges of sectors as bad, by partitioning the disk. I have found a program that is specifically made for that purpose: Repartition Bad Drive (from Abstradrome), http://www.dposoft.net/rbd.html.

This program is scanning a defective hard disk in a few hours (much faster than the Easeus Partition Manager's Disk Surface Test, which can take days or even weeks to scan a defective drive). If you get too many partitions (I got 33), you can adjust the minimum size of the partition (at the cost of using less of the disk capacity).

3

If chkdsk /r hung for hours, then your drive is likely severely damaged.

Assuming all of your data is backed up off the drive, perform a full zero/format of the drive. This will write to every sector of the drive, thereby reallocating any already-detected bad sectors. However, I would anticipate that the zeroing operation will hang as well, as there are likely hundreds/thousands of bad sectors already, and that number will rapidly increase. Your drive is dying, and it will likely be completely dead soon. You aren't going to get much further use out of it.

Bigbio2002
  • 3,944
3

I'm looking for some tool that preferably non-destructively(to preserve current Windows/apps installs)

The problem is that some portion of your current Windows installation may be on those damaged sectors.

If Windows is forcing you to run CHKDSK on this during each boot, you can override that by clearing the "dirty" bit. This isn't supported by Windows (fsutil can set it but not clear it), so you will have to take the hard drive to another system and perform the steps here.

However your installation or some programs within will probably not be useable if CHKDSK /f found things to fix.

I dropped an old IDE 1GByte hard drive once. What happened after I reformatted it (not quick formatted) was that there was a big block of bad sectors in the middle of it. The space before and after was useable. So I partitioned accordingly, and was able to use the drive at a reduced capacity.

Since you backed up your important data anyway, if your first bad sector is somewhere in the middle of the drive, it may be best to reinstall Windows, and when formatting, make sure you partition just below that bad sector.

LawrenceC
  • 75,182
3

Here are some more well-known disk-repair products that you could try :

HD Tune
HDDScan
PassMark DiskCheckup

I also advice you to have a look at the SMART data of the disk, if that old disk does support it.

You are getting these errors because the disk firmware has run out of spare sectors to replace the failing ones. Each disk has normally many thousands of such spare sectors, which means that your disk is really in a very sad state.

I strongly suggest that you replace the disk. If you wish to preserve your Windows installation and applications, I suggest the following :

  1. Take an image of the disk using a disk imaging program. Put the resulting image om another disk, internal or external.
  2. Replace the failing disk with a new one (save the old one).
  3. Replace no other components than the disk, or you might have a problem with Windows activation
  4. Boot the disk imaging program and restore the image from backup.

The disk imaging product should:

  • Be able to backup only used sectors
  • Be able to ignore bad sectors
  • Be able to restore an image to a disk with a different size than the original (if this is the case)
  • Have a boot CD

Windows Backup is not recommended.

harrymc
  • 498,455
2

I choose a developer's way. I coded a little console utility which fills available space with files and then reads them. If the file was read successfully then we can delete it. And if not... we hit the bad block, just leave that file in the bad block placeholders folder forever. Cons: it'll test free space only.

The source code is available at github

sibvic
  • 121
  • 3
1

As someone pointed out, the HDD firmware will relocate sectors that go bad to a section of the cyclinder or sector especially left unused for this purpose. Once that sector is used up, it will go to the next, and so on. By the time you get to the point where any OS can detect a problem, a lot of sectors have been relocated. This may also have the side-effect of making defragmation nearly impossible. The drive is not only having to try to read the bad sectors, but then follow the chain of relocations. I can't imagine this being anything but slooooow. Not only are you risking immanent demise of the overworked disk, you are making the slowest part of your system even slower.

Engineer
  • 221