Skip to main content
hard-driveINFO

smartctl and Bad Sectors: What It Really Tells You, and the 23% It Misses

smartctl reports bad sectors, it never repairs them. Which SMART attributes actually predict failure, how to read them, and why Backblaze found 23.3% of failed drives gave no warning at all.

By Eric Gerard · Editor · Save My Disk5 min readPhoto via Pexels

Search for this topic and Google will suggest "smartctl fix bad sectors" to you. That suggestion describes something the tool does not do, and the gap between what people expect and what SMART actually provides is where data gets lost.

smartctl reports, it does not repair

The documentation leaves no room for interpretation: smartctl "does not calculate any of the Attribute values, thresholds, or types, it merely reports them from the SMART data on the device."

It is a monitoring and reporting utility. There is no flag that repairs a sector, because repairing is not something a diagnostic tool does. When a drive reallocates a bad sector, the firmware does it, silently, using a spare from its reserve pool.

This matters practically. Any utility advertising that it "fixes" bad sectors is doing one of two things: writing over them, which permanently destroys whatever was in them, or forcing the firmware's hand into reallocation. Neither recovers your file. If the data still matters, writing to the drive is the last thing you want.

The five attributes worth reading

Backblaze runs one of the largest published datasets on drive failure, and monitors five SMART attributes for prediction:

IDAttribute
5Reallocated Sectors Count
187Reported Uncorrectable Errors
188Command Timeout
197Current Pending Sector Count
198Uncorrectable Sector Count

Their published comparison: 76.7% of failed drives had at least one of these above zero, against 4.2% of operational drives. That separation is what makes them worth checking.

The two most commonly misread are 197 and 5, and the difference between them is worth understanding.

197, Current Pending Sector Count, is the provisional list. These are sectors the drive had trouble reading and has put on probation. They are not yet condemned. If a later read succeeds, the count can go back down.

5, Reallocated Sectors Count, is the permanent record. These are sectors the drive gave up on and swapped for spares. This number only goes up.

So a non-zero 197 is the earlier warning, and the one worth acting on, because it says the drive is currently struggling to read something. That something may well be your file.

A macro view inside an open hard drive showing the mirrored platter and the actuator arm with its read and write heads.
A macro view inside an open hard drive showing the mirrored platter and the actuator arm with its read and write heads.

How to read the output without misreading it

Three commands cover the practical ground:

smartctl -H /dev/sda      # overall health status
smartctl -A /dev/sda      # the attribute table
smartctl -l selftest /dev/sda   # results of past self-tests

On -H, the documented meaning of a failure is specific and urgent: "either that the device has already failed, or that it is predicting its own failure within the next 24 hours." Twenty-four hours is not a maintenance window. It means copy what matters now.

On -A, each attribute carries a Raw value, a Normalized value and a Threshold. The documented rule is that if the normalized value is less than or equal to the threshold, the attribute has failed. People routinely read the raw column and panic, or read it and relax, without checking it against the threshold. The raw value alone does not tell you whether an attribute has failed.

To run the tests themselves:

smartctl -t short /dev/sda    # usually under ten minutes
smartctl -t long /dev/sda     # tens of minutes, more thorough

The short test checks electrical and mechanical performance along with read performance. The extended test is the longer, more thorough version. In both cases the command launches the test and returns; you read the outcome afterwards with -l selftest, which shows the type and final status of each of the most recent self-tests.

The number nobody quotes: 23.3%

Here is the part that should change how you act on a clean report.

By Backblaze's own figures, if 76.7% of failed drives showed a warning, then 23.3% of failed drives showed none at all. Close to one failure in four arrives with SMART reporting nothing wrong.

SMART is a useful early warning that is silent about a quarter of the time. It is evidence of a problem when it speaks, and not evidence of health when it does not. A passing check means nothing bad has been detected yet. It does not mean the drive is fine, and it is not a substitute for having a second copy.

What to do when the numbers are bad

The order matters, and the first step is the one people skip.

Stop writing to the drive. Every write is a chance to overwrite something recoverable and more work for a mechanism that is already struggling.

Image before you investigate. Work from a sector-level copy, not the failing drive. Repeated read attempts on a drive with pending sectors put stress exactly where it is already weak, and each retry is a chance for a marginal sector to become an unreadable one. We cover the process in cloning a failing drive with ddrescue.

Then recover from the image. Once you have a copy, you can retry as often as you like without risking the original.

Editorial pick
4.5 / 5

Recovering from an image or a still-readable drive

Applies once the drive is stable enough to read or you have made a copy. It does not repair bad sectors and no software can, because reallocation is handled by the drive firmware.

Founded in 200430-day guaranteeFree 2 GB version
See the offer

The short version

smartctl tells you what the drive reports about itself. It never repairs anything, so treat "fix bad sectors" as a description of something else. Read attribute 197 as the early warning and 5 as the permanent record, and compare normalized values against thresholds rather than reading raw numbers alone. A failing -H gives you a documented 24-hour horizon. And a clean report is not a clean bill of health, because roughly one failure in four never showed up in these statistics at all.

Command behaviour and attribute semantics are taken from the smartctl documentation; the failure-correlation figures (76.7%, 4.2%, 23.3%) are Backblaze's published statistics from their own fleet. Figures describe their drive population and are not a prediction for any individual drive. Commercial links carry the rel="sponsored nofollow" attribute; an affiliate commission may apply at no extra cost to you.

Editorial pick
4.5 / 5

Recover the data from your hard drive → EaseUS

Free scan · deleted, formatted & lost files · Windows & Mac

Founded in 200430-day guaranteeFree 2 GB version
See the offer

Frequently asked questions

Can smartctl fix bad sectors?

No. The smartctl documentation is explicit that the tool does not calculate any of the attribute values or thresholds, it merely reports them from the SMART data on the device. It is a monitoring and reporting utility. Nothing in it writes to your data or repairs a sector. Reallocation is done by the drive firmware on its own, not by smartctl, and a tool that claims to repair bad sectors is either rewriting them, which destroys what was there, or misdescribing what it does.

Which SMART attributes actually matter?

Backblaze monitors five for failure prediction: SMART 5 Reallocated Sectors Count, 187 Reported Uncorrectable Errors, 188 Command Timeout, 197 Current Pending Sector Count and 198 Uncorrectable Sector Count. Their published figures show 76.7% of failed drives had at least one of these above zero, against 4.2% of operational drives.

What does a failing health status from smartctl -H mean?

The documentation states that if the device reports failing health status, it means either that the device has already failed, or that it is predicting its own failure within the next 24 hours. That is a narrow window. It is a reason to stop using the drive immediately and copy what matters off it, not a reason to schedule maintenance for the weekend.

My drive passes SMART. Is my data safe?

Not necessarily, and this is the number that matters most. Backblaze reported that 23.3% of failed drives showed no warning from those five SMART stats. Close to one failure in four arrives with a clean report. A passing SMART check tells you nothing bad has been detected yet, which is not the same as the drive being healthy.

What is the difference between smartctl -t short and -t long?

The short self test usually runs under ten minutes and checks the electrical and mechanical performance as well as the read performance of the disk. The extended test takes tens of minutes and is a longer, more thorough version of the same thing. Read the results afterwards with the self-test log rather than assuming the command that launched the test reported its outcome.