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.

  • Have you tried hiren boot cd. It has many options that can help you. Commented Jan 9, 2014 at 11:03
  • @Ankur140290 yup, it is my go-to platform. Alas it doesn't have tools for this specific task.
    – Mxx
    Commented Jan 9, 2014 at 15:43
  • When you ran SpinRite did you do it at level 1? Commented Jan 9, 2014 at 22:08
  • @ScottChamberlain yes, I ran it at lvl1
    – Mxx
    Commented Jan 9, 2014 at 22:10
  • 1
    That's why I didn't post those as answers ;) Commented Sep 25, 2014 at 13:26

8 Answers 8


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.

  • This looks promising. I'll give one a try and let you know.
    – Mxx
    Commented Jan 9, 2014 at 5:08
  • 4
    Didn't know that bad sectors can have different colors... Commented Jan 10, 2014 at 11:52
  • 1
    Digitally speaking, colors are just bits and bytes too...
    – Caleb Xu
    Commented Jan 10, 2014 at 15:56
  • 2
    So I finally got around to trying this app and so far results are not much different. At about the same % its scan speed also slowed down to a crawl. I left it running overnight, but in the morning I couldn't get screen to turn on, so I had to powercycle it..Don't know what state it was in at that point.
    – Mxx
    Commented Jan 15, 2014 at 23:06
  • Oh well. Good luck with your drive though!
    – Caleb Xu
    Commented Jan 16, 2014 at 1:08

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.

  • 1
    Will it work if I point it to NTFS drive?
    – Mxx
    Commented Jan 15, 2014 at 23:08
  • 1
    Yes, it takes advantage of the drive's firmware, and does not depend on the file system.
    – Noishe
    Commented Jan 16, 2014 at 23:16

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.

  • 4
    I appreciate your attempt, but it does not answer the question at hand.
    – Mxx
    Commented Jan 9, 2014 at 5:04
  • 4
    There's really no way to do what you're asking. A sector is marked as bad if a read attempt fails. It is reallocated when a write attempt is performed which also fails (during this process, the drive attempts to recover the data on that sector, which may cause the drive to hang. This is done at the firmware level of the drive). Assuming there was a way to force the drive to completely skip sectors after a failed read, there would be "holes" in your data, the filesystem structure would become unstable, and as I said in my answer, my money is on sudden, imminent, total failure of the drive.
    – Bigbio2002
    Commented Jan 9, 2014 at 5:46

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.

  • Windows is not prompting to run chkdsk on each boot and chkdsk /f finds no issues. Even if some Windows files will become damaged, as long as all bad sectors are marked, I can repair those files with install cd.
    – Mxx
    Commented Jan 9, 2014 at 5:05
  • 1
    I know it's not what you want to hear, but in my many years of IT experience, I've learned that when sectors are starting to go, it's usually only a matter of time before the hard-drive fails entirely. I'd recommend saving yourself the annoyance of sudden failure. Get yourself a new drive A.S.A.P. and don't look back.
    – oKtosiTe
    Commented Jan 14, 2014 at 13:53

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

HD Tune
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.

  • 1
    I tried HDDScan. Strangely enough it does not mark bad sectors, only scans for them.
    – Mxx
    Commented Jan 9, 2014 at 13:53
  • See also this article.
    – harrymc
    Commented Jan 9, 2014 at 14:29
  • I'm aware of and already tried DTIData Windows Surface Scanner, but again, it only scans for bad sectors, not mark them. As for the other part of the article, I'm not interested in fixing bad sectors. As I mentioned in OQ I already ran SpinRite.
    – Mxx
    Commented Jan 9, 2014 at 15:40
  • Have you run the fast or deep scan of SpinRite?
    – harrymc
    Commented Jan 9, 2014 at 16:29
  • I ran it at "level 1" which is supposed to be the fastest.
    – Mxx
    Commented Jan 9, 2014 at 20:20

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).


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

  • This is a great idea indeed. And as a matter of fact I started doing same long ago - just placeholding those bad areas with files or more like leaving them intact and renaming to BS something. In some case it would be just a small txt file but there were also cases where I had to leave a few GB iso file there even though it was most likely just a single bad sector or two. All in all it works and I'm proud to be using this incredible, yet slightly choking, 20 years old Samsung Spinpoint 640GB drive with much success! Those were the days. And those were the drives!
    – monsune
    Commented Nov 6, 2022 at 8:56

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .