Remove bad sectors on a hard disk in Windows 10
My old laptop has become utterly slow and unresponsive to the extent that after loading it takes a good 30-40 mins before I can even use it. It's mostly in an unresponsive state and doesn't change even if I do a hard restart. I did a SMART test and it shows my hard disk is 58% healthy.
I read somewhere on a forum that the OS or the NTFS disk itself will mark bad sectors and wouldn't write to them. So my question is, my disk is 750 GB, 58% of which is 435GB. My total data on the disk is roughly 300 GB. But I think the hard disk may still be reading/writing to those bad sectors and thus my system is not responsive. So my question is, can I do something in order to block all those bad sectors and use the left over good sectors only ? Most importantly, will it be a good idea in first place or should I just replace the old hard drive?
Note: This is an old computer and I only use it occasionally to stream movies on my tv via hdmi.
Solution 1:
That is not true that a drive won't write to the bad sectors. Actually there are several aspects here:
- Hardware bad sectors that can be remapped by the HDD itself during its operation trough its firmware. Every HDD has a set of factory defined sectors that are hidden by default, that the HDD can use to remap bad sectors. The number of these sectors is very limited (several hundreds). This action increases relocation sector count value in SMART of the drive. When these backup factory sectors are over, the drive stops remapping and just ignores those bad sectors (if there is some data in it, it will try to read it, but not to write). Please note that it considers bad sectors those sectors with read times higher than 750 ms.
- Besides those bad sectors, there can be multiple slow-read sectors (250 ms or more). They are not considered as bad sectors but bring you a lot of troubles - actually exactly those sectors cause system slowness when reading them.
It's true that the drive won't write to the bad sectors but it will attempt to write to the slow sectors considering them operative.
The next thing is that ckhdsk
will never remove bad sectors, it will tell OS to ignore/skip them. During "CHKDSK /F C:
" it will detect bad sectors (as it OS sees, they may not match to the hardware bad sectors sometimes) and will try to move data from them to another place and will mark the faulty sectors as non-operative.
The problem is that if the bads started to appear, their number will constantly increase. So, your actions with ckhdsk will lose their effect in some time.
You may check the real amount of bad and slow-read sectors using tools like HDDScan to scan the disk surface.
These guides might me useful:
- http://hddscan.com/
- http://www.ghacks.net/2012/12/27/test-your-hard-drives-thoroughly-with-hddscan/
- https://www.technibble.com/hddscan-scan-for-bad-sectors/
Solution 2:
Open a command window (as Administrator) and run: "CHKDSK /F C:"
It will tell you that it can't get a lock and instead needs to schedule that for the next reboot; say yes, and reboot. Once this is successful (it might take minutes or hours), you are good, no bad sectors will remain (but new ones might get bad any day, of course).