Call us — 0161 871 0788
Mon–Fri · 9am–5:30pm · No fix, no fee
Start a free diagnostic →
CRC · the error explained

A checksum failed. That is all it tells you.

The message does not say why the test failed. Because it doesn't tell you whether you have a marginal cable or a dying platter, it is a smoke alarm, not a diagnosis. The first thing to do after the message is to determine which.

Checksum mismatch
Cable, sector or bridge
From £300 +VAT
// the short version

The arithmetic disagreed.

Each sector contains a check sum written alongside. The drive generates this error when what comes back off the platter fails that check sum, rather than passing you data it already knows is wrong.

Checksum
What CRC is
Sector
Commonest cause
48 hr
Free diagnostic
£300
From, +VAT
×Don’t run chkdsk /f /r as a first response. It causes the hard drive to repeatedly read from the bad sectors it's trying to fix, which will also relocate or delete your files during its "fix" process. If the file has value, back up as much as you can now.
// what a CRC error is

A checksum failed. That is all it says.

When the error occurs, the message will state which test was run but not the reason it failed. Therefore, it may appear under different conditions.

A small number is computed from each piece of information as it is stored on a device using an algorithm. This number, often referred to as a checksum, is then recorded adjacent to the data being stored. After retrieving data from a device, the drive calculates a new checksum based upon the retrieved data and compares this against the previously recorded checksum. If they do not agree, the device displays an error relating to cyclic redundancy checks.

This is an excellent example of what we'd call a "smoke alarm" — it lets you know that there's some kind of problem with your data but doesn't tell you anything else. For example, if you get an error saying "checksum failed", then you don't know if the issue is a failing hard drive (or other media), bad cables, a faulty disk controller or one single sector that just started going bad after many years.

And therefore, based on a simple "check sum failed" message, it could take anywhere from five minutes to repair, to have to replace an entire piece of hardware. This is one reason why checking for possible problems before trying to repair the original problem, is such an important part of troubleshooting.

// four causes

From trivial to terminal.

A general progression of causes, in roughly the easiest to most difficult order to rule out.

▤

The cable or connection

The least expensive thing to try to check first. If the cable/connections you're using are even slightly marginal they will damage the data as it moves through them causing a checksum fail on good storage. Try changing your cabling, connect directly instead of through hubs etc.

Check first
◉

A single degraded sector

A bad sector is one area of the platter that will no longer read reliably. The rest of the drive may be in perfect condition. This type of problem is common on older drives and in areas untouched for years.

Localised
⚠

Spreading bad sectors

This is when you see reallocated & pending counts climbing and errors appearing more frequently in other locations than just one area, and transfers stalling. Your drive is failing and these errors are symptoms not causes.

Deteriorating
⚡

Controller or interface fault

On SSDs especially, if the controller has failed it will generate read errors which look like media damage. The flash memory behind it might still be okay.

SSDs
// how to tell which

Three checks, none of them destructive.

Do these first before doing anything else in terms of repair.

01

Change the cable and the port

2 minutes. No loss. One possible cause eliminated, and the only one that has nothing to do with your data. Connect directly to a machine instead of through a hub or docking station.

02

Check SMART

Use CrystalDiskInfo or DriveDx, installed to a different drive. The reallocated and pending sectors will give you an idea if the issue is localised to a few areas on the disk or if the entire disk is failing. A pending sector count greater than 0 indicates an action should be taken today.

03

Note whether it is one file or many

A CRC error on one file that always results in an error and all other files read fine suggests a local defect. Errors across unrelated files/folders, regardless of their location on the disk, suggest the problem lies with the drive itself.

04

Try it on another machine

Determines if the failure was due to the drive or the controllers/drivers/motherboard controlling it. If the same failure occurs when using the same drive on a different machine then the issue is most likely related to the drive itself.

// what not to run

chkdsk /r is the wrong instinct here.

chkdsk /r is the most common thing you'll be told to do as far as CRC errors go and it is the advice that finishes drives off.

Using chkdsk /r will perform a full surface read; it will read every single sector on your hard drive for literally hours at a time and try to recover data from each bad sector that it finds. It's a good idea if you have a perfectly fine hard drive with only one degraded sector. However, if you have a failing hard drive with many bad sectors, using chkdsk /r could easily put enough stress on the hardware so that the drive fails while running the test.

Also, when chkdsk fixes things, it does so by making sure everything in the file system is consistent. If there is something in the file system that chkdsk can't fix then chkdsk simply deletes those records — which on a failing or failed volume means deleting exactly the structures a recovery would rebuild from. As such, once chkdsk has finished its work you may find yourself with a completely "clean" and "consistent" file system but with substantially fewer files and pieces of information than were available prior to the test.

When trying to recover from a failure, the correct process is to determine if the device is good, move your files off it if it's bad, and only then attempt repairs. As long as the drive will read, you have the best chance at recovery. If it won't read, a single drive in Manchester is from £300 + VAT after a free 48-hour diagnosis. We will image data out of the drive in stages to ensure most of the data that can be read is saved first and then only deal with the parts of the drive which cannot read.

// questions

Your questions, answered.

A checksum failed — the value calculated when data was written does not match the value calculated when it was read back. A failed check sum indicates that the data being read did not match what had been written. So, you know something went wrong while reading the data but you do not know what. The reason could be an array of things ranging from a weak cable causing corruption in transmission, to a single sector going bad over time, to an actual failing disk.

No. And that is what makes this difficult. In all cases, a failing read could be due to a loose/faulty cable which is corrupting data during transport on a perfect hard disk, a sector that has gone bad over time, or a failing disk that is deteriorating. The checks will be fast and well worth running prior to determining that everything is lost.

The cable and port—two minutes, no risk and that removes the only cause not related to your data. Then SMART, to see if reallocated and pending sector counts are increasing. Then whether it is one file failing or many.

Not before you know the drive is healthy. chkdsk /r reads every sector for hours on a disk that may be struggling, and fixes by discarding records it cannot solve — creating a consistent file system rather than your files.

Often. Imaging in graduated passes captures everything which can read immediately, then returns to those difficult regions with longer timeouts. Where a sector truly cannot be read, that part of that file will be lost while the rest recovers.

Because the damaged sectors happen to fall within that file. Localised defects on an otherwise healthy disk produce exactly this pattern — one file that always fails when everything around it works perfectly.