What is the fastest way to mark bad sectors *without data recovery*?
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.
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.
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.
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.
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.