1

I've got a 3TB Western Digital hard drive. It's pretty old, but one day, he suddenly stopped reading the files and he was slowing down the whole PC.

I decided to completely format that drive, and you may wonder, the formatting process was going pretty fast (at its maximum 150 mb/s writing speed).

When I saw that amazing speed, I realized that maybe he is not THAT dead, and he may be useful in future, but how?

Is it possible to do something on software level, that all bad sectors will be moved and become unreachable for Windows at the expense of lowering capacity of the whole hard drive?

By this, I mean next. Right now, if I open my explorer, I'd see that there's 2.7 Tb available, I won't be against even if this number would be lowered down to 2.4-2.5 Tb in total, just make that section be ignored for Windows and all other programs. Is it possible?

Thanks in advance.

Giacomo1968
  • 53,069
  • 19
  • 162
  • 212
  • 1
    "I'd see that there's 2.7 Tb available" - Sounds more like a case of confusion between the difference between Base 2 and Base 10. Your HDD is actually the correct size. I personally wouldn't trust the HDD for any data you deem important, the behavior you describe, is a classic sign the drive has serious problems (specifically the "stopped reading files"). – Ramhound Nov 03 '20 at 14:03
  • There's no confusion, I understand this capacity difference, my question was different. I was asking about how to make OS, files, programs and even myself, don't see the bad sectors. For example, maybe there's some program that will move all bad sectors somewhere far away on this hard drive, and in the same Windows Explorer instead of basic number of capacity (2.7 Tb), I'd see 2.4 or 2.5. – TiberiumUniverse Nov 03 '20 at 14:08
  • So you want to be able to flag the bad sectors on the disk? There are only a handful of spare sectors on a mechanical disk, once those are used, any additional sector that goes bad would mean the data on that sector is loss forever. [Windows does not really have a tool to do what you want built-in.](https://superuser.com/questions/1243605/how-to-re-use-a-corrupt-drive). Please note I am not actually recommending the use of Spin Rite, I believe that particular software to be snake oil, that is incompatible with modern HDDs. It would also be incompatible with your drive due to it's size. – Ramhound Nov 03 '20 at 14:10
  • Something like that. Basically I need to make everything, including me, ignore and won't be able to see bad sectors at all. About data - well, it's already empty, I don't care, I am talking about repeating usage of the drive. But in order to do that, I need to do something to, as you said, "flag" those bad sectors. So, physically, none of the mechanical parts won't even touch them. – TiberiumUniverse Nov 03 '20 at 14:15
  • 3
    The number of bad sectors will increase. You won't notice data loss, files won't go missing, but once you attempt you open those files they will be corrupt. – Ramhound Nov 03 '20 at 14:16
  • 1
    Possible duplicate: https://superuser.com/questions/338067/equivalent-of-badblocks-on-windows-or-dos (SpinRite is not compatible with your drive due to it's size) – Ramhound Nov 03 '20 at 14:17
  • 1
    Get a replacement drive on order, and get that data backed up elsewhere pronto! – spikey_richie Nov 03 '20 at 14:37

2 Answers2

1

The bad sectors are physical "places" on your HDD so they cannot be moved.
In NTFS they are forming clusters and for drives up to 16TB cluster contains 8 sectors or 4KB.
Cluster is the smallest amount of space, the operating system can manage, so if one sector is bad, the entire cluster is wasted.
By design, NTFS is using technique called Cluster Remapping:

When Windows 2000 detects a bad-sector, NTFS dynamically remaps the cluster containing the bad sector and allocates a new cluster for the data. If the error occurred during a read, NTFS returns a read error to the calling program, and the data is lost. If the error occurs during a write, NTFS writes the data to the new cluster, and no data is lost.

You can also proactively run file system tool chkdsk with switch /r so File System will make a note of the bad sectors before attempting to write data to them.

It sounds all nice but here comes the plot twist.

Hard drive's firmware is also tasked with detecting bad sectors, and if it will find one, it is going to put it on the list, and remap its logical location to spare part of the HardDrive. That bad sector will not be visible to the operating system.
So what that means?
If your Operating System (or file system to be exact) can see bad sectors, it means the firmware's list is already full, and you cannot trust this hard drive with your data.

Having that out off the way, if the HDD doesn't have other mechanical issues, bad sectors are usually caused by number of writes in single area, which most of the time is congested at the beginning of the hard drive.
If you wish to try to squeeze more life from your HDD before allocating budget for the replacement, you can simply skip first 60-100GB. The exact amount will depend on how you were using the drive. It is not scientifically established value, but from my experience in data recovery, this is usually area where I find most bad sectors in typical home/small office computer. It has to do with the fact that beginning of the hard drive stores operating system and programs; these files are often modified and deleted; then scheduled disk defragmentation runs moving fragmented files closer to the beginning of the drive.

During installation process, when asked to select a partition:

  1. Select unallocated space and create first partition of the size you want to skip
  2. Select remaining unallocated space and choose all remaining space. Installer will create other necessary partitions for you.
  3. When confirming, you will receive warning that partitions are not in recommended order, which you can simply acknowledge.
  4. When installation process is over you can open Disk Management and you will see RAW, unformatted partition.
  5. Now you need to run chkdsk /r c: to mark any bad sectors remaining in your working partition.

REMEMBER, YOU CANNOT TRUST THIS HDD WITH YOUR DATA, IT IS VERY LIKELY IT WILL CONTINUE FAILING

RomanK
  • 256
  • 1
  • 9
  • Get on your way! Please RomanK! [You might like going in a Zumble-Zay!](https://insight.randomhouse.com/fullpage.do?pContentType=JPG&pName=fullpage&pISBN=9780553524253&pPageID=27) .. seriously.. you said most of the things that I wanted to. I myself would keep using the drive but only put things on it that didn't REALLY matter. – Señor CMasMas Nov 03 '20 at 16:57
  • _"Many disks were failing prematurely since Microsoft added auto defragmentation to scheduler in Vista"_ - citation needed. – gronostaj Nov 03 '20 at 21:15
  • _"you can simply skip first 60-100GB"_ - where do these numbers come from? – gronostaj Nov 03 '20 at 21:15
-1

At first, boot from a diagnostic CD like "SystemRescueCD", which can be copied to an USB stick, if you prefer. At next, start smartctl on you hard disk and start a short selftest. Look of the report saved on the disk. If no severe errors are reported, try a long selftest and examine the report.

See which disk are on your system:

smartctl --scan

Display short info:

smartctl --info /dev/sda (replace by the device you are working on)

Display stored info:

smartctl -a /dev/sda

Run short selftest:

smartctl -t sort /dev/sda

Display the report:

smartctl -l selftest  /dev/sda

...etc. Please see the man pages of smartctl.

Please progress step by step. If severe errors are reported, the disk is probably at the end of life. Discard them. If the long selftest terminates without severe errors, you can try the "badblocks" utility. Please read the man pages !

Claude Frantz
  • 477
  • 4
  • 16
  • 1
    How does this answer the question? – gronostaj Nov 03 '20 at 15:20
  • It is important to be sure about the health of the disk before trying to operate on partitions. If all is OK, you can create new partitions using fdisk, then init the partition with sector check. – Claude Frantz Nov 03 '20 at 15:35
  • Remember that the firmware of modern disk replaces bad sectors using fresh sectors from a pool. If this is not more possible, then the pool is exhausted. – Claude Frantz Nov 03 '20 at 15:40
  • @ClaudeFrantz - You should mention that fact in your answer instead of a comment – Ramhound Nov 03 '20 at 18:16