CRC Error (Cyclic Redundancy Check)
A CRC error means data on disk doesn’t match the checksum stored alongside it. The Windows form is “Data error (cyclic redundancy check)” with code 0x80070017. The error is the messenger; the corruption already happened. Causes range from temporary (loose cable, electrical noise) to serious (bad sectors, drive degradation), and the right response depends on which.
Secure Data · Lenovo · Huawei
Data error (cyclic redundancy check)
2026 recovery practices
A CRC (Cyclic Redundancy Check) error indicates that data read from storage or received over a network does not match the checksum computed when the data was originally written or transmitted. CRC is a mathematical error-detection algorithm: when data is written to disk, the storage system computes a fixed-length checksum from the data and stores it alongside; when the data is read back, the system recomputes the checksum and compares it to the stored value. A mismatch means the data has been corrupted between write and read. On Windows, the most common form is “Data error (cyclic redundancy check)” with error code 0x80070017.
What CRC Actually Is
CRC stands for Cyclic Redundancy Check. It’s a mathematical algorithm that takes a block of data and produces a fixed-length checksum (typically 16, 32, or 64 bits). The storage system computes the checksum when data is written, stores it alongside the data, then re-computes the checksum on every read and compares the two values. If the recomputed checksum matches the stored one, the data is intact; if it doesn’t match, something has changed between write and read, and the storage system reports a CRC error.1
The mathematical operation
CRC works by treating the data as a long binary number and dividing it by a fixed binary number (the “generator polynomial”). The remainder of that division is the CRC value. The interesting property: small changes in the input data produce dramatically different CRC values, which makes the algorithm excellent at detecting accidental changes (bit flips, single-byte corruption, burst errors). CRC is not designed to detect intentional tampering; an attacker who knows the algorithm can deliberately modify both data and CRC to match. Cryptographic hashes (SHA-256, MD5) handle that case. CRC handles the much more common case of detecting accidental corruption from hardware faults, electrical noise, or aging media.2
CRC variants in storage and networking
The number after CRC indicates the length of the resulting checksum. Common variants:
| Variant | Checksum size | Used in |
|---|---|---|
| CRC-8 | 8 bits (1 byte) | Some embedded systems, low-overhead protocols |
| CRC-16 | 16 bits (2 bytes) | USB protocol, ATA disk identification, Modbus, Bluetooth |
| CRC-32 | 32 bits (4 bytes) | NTFS, FAT32, exFAT, ZIP, PNG, Ethernet, MPEG |
| CRC-64 | 64 bits (8 bytes) | XZ archives, some enterprise storage |
For storage and recovery purposes, CRC-32 is the variant you’ll encounter most often. It’s what NTFS, FAT32, and exFAT use; it’s what ZIP archives use; it’s what Ethernet frames use. From a user perspective, the variant doesn’t matter; a CRC error means the same thing regardless of which variant detected it: the data doesn’t match its stored checksum.
CRC vs other integrity checks
CRC is one of several integrity-checking techniques used in computing. The others appear in different contexts:
- Parity bits. The simplest form of error detection; adds a single bit to make the total number of 1-bits in a byte either even or odd. Used in RAM and older protocols. Detects single-bit errors but not most multi-bit errors.
- CRC. Detects almost all single-bit and multi-bit errors with very low false-negative probability for the data sizes typical in storage (4 KB to 1 MB blocks). Standard in storage and networking.
- Cryptographic hashes (MD5, SHA-256). Detect both accidental and intentional changes. Used for security verification and torrent integrity. Slower than CRC but resistant to deliberate tampering.
- ECC (Error-Correcting Codes). Don’t just detect errors; they can correct some errors. Used in RAM (ECC memory), NAND flash (BCH codes), and CDs/DVDs. SSDs rely heavily on ECC because raw NAND has high error rates.
Where You Encounter CRC Errors
CRC errors surface in several specific scenarios. Each implies something different about the underlying problem.3
| Where | What you see | Likely cause |
|---|---|---|
| Windows file copy | “Error 0x80070017: The data is invalid” or “Data error (cyclic redundancy check)” | Bad sector at file’s location, or loose cable |
| Archive extraction | “CRC failed in [filename]” | Corrupt archive, or bad sector under archive file |
| DVD/CD read | “Data error (cyclic redundancy check)” | Disc surface damage, dirt, or drive laser issue |
| External drive access | Drive shows in Disk Management but Properties shows error | Cable, USB controller, or drive-level corruption |
| Initialize Disk dialog | “The request could not be performed because of an I/O device error” | Severe drive damage, often unrecoverable without imaging |
| Network file transfers | “The data is invalid” during SMB or FTP transfer | Network cable, switch, or NIC issue |
| SMART data | Attribute 0xC8 (Write Error Rate) or 0x07 (Seek Error Rate) rising | Drive controller is internally encountering CRC errors |
The Windows error code 0x80070017
The most common user-facing form of a CRC error on Windows is the dialog showing 0x80070017 with the message “Data error (cyclic redundancy check)” or “The data is invalid.” The error code is structured: 8007 indicates a Windows system error (0x80070000 base) and 0017 is the specific code (decimal 23, which is ERROR_CRC). The error appears any time Windows tries to read a sector and the read fails with a CRC mismatch from the underlying storage driver.
CRC errors during file copy: the most common scenario
A user is copying files from one drive to another and the copy stops partway with the CRC error dialog. This is almost always caused by a bad sector under the specific file being read; the file system reads through the file, hits a sector that returns a CRC mismatch from the drive, and reports the error to the OS. The remedy is not to retry the copy (each retry stresses the failing area further) but to image the drive and recover the file from the image with bad-sector-tolerant techniques. If file system metadata regions get hit by CRC errors, the partition can deteriorate to RAW status where Windows can’t recognize the file system at all; recovery in that scenario shifts to file carving from the image.
CRC errors in archive extraction: archive vs drive
When a ZIP, RAR, or 7Z archive extraction fails with “CRC failed,” the question is whether the archive itself was corrupted at creation/transfer or whether the drive is corrupting the archive on read. To distinguish: copy the archive file to a different drive and try extracting it there. If extraction succeeds, the original drive is the problem. If extraction still fails, the archive was corrupted before it reached your drive (bad download, faulty transfer). Most archive formats include their own internal CRC for each file, separate from the file system’s CRC, so an archive can be intact on disk but contain internal corruption.
What Causes CRC Errors
CRC errors can come from causes that are temporary and trivial to fix, or causes that indicate serious hardware degradation. Distinguishing between them is important for choosing the right response.4
Cable and connection issues (often temporary)
A loose SATA cable, a marginal USB connection, or electrical interference can corrupt data in transit between the drive and the computer. The drive is fine; the connection is the problem. Diagnosis: try the drive in a different USB port, with a different cable, on a different computer. If errors disappear, the original cable or port was at fault. This category includes:
- Loose or damaged SATA cables (most common with internal drives)
- Marginal USB-C or USB 3.0 cables (especially with external external hard drives)
- USB hubs with insufficient power for spinning drives
- Electrical interference from nearby high-current devices
- Bad USB ports on the host computer
Bad sectors (the common drive-level cause)
The most common drive-level cause of CRC errors. When the magnetic surface of an HDD develops a defect (or the flash cells in an SSD start to degrade), reads from those locations fail their CRC check. The drive’s controller reports the failure to the OS, which surfaces it as the CRC error dialog. A few isolated bad sectors are common in aging drives and don’t necessarily indicate imminent failure, but a growing bad sector count does. Check SMART data with smartctl or CrystalDiskInfo to see whether the bad sector count is stable or rising.5
Drive controller or firmware issues
Sometimes the drive’s surface is fine but the controller chip on the drive’s PCB is failing or its firmware has a bug that causes CRC errors during certain access patterns. The specific Crucial M500 SSD and a handful of other models have documented firmware issues where CRC errors appear without underlying surface damage. Firmware updates from the drive manufacturer sometimes resolve these issues; if not, the only remedy is replacing the drive.
Power supply issues
Insufficient or unstable power to the drive can cause sporadic read failures that surface as CRC errors. This is most common with:
- External 3.5-inch HDDs in cases with marginal power adapters
- USB-powered 2.5-inch drives drawing more current than the USB port supplies
- Internal drives in systems with aging power supply units (PSUs)
- USB flash drives in low-quality USB hubs
RAM corruption (rare but real)
Defective RAM can corrupt data during the read path before it reaches the application. Windows typically catches most cases (Windows 10/11 includes Windows Memory Diagnostic for testing), but undetected RAM errors can produce sporadic CRC errors that look drive-related but actually originate in memory. Run Memory Diagnostic if you’ve ruled out cables and the drive’s SMART data looks clean.
Network and transmission errors
For CRC errors during network file transfers, the cause is in the network path rather than the drive: bad Ethernet cable, faulty switch port, NIC driver issue, or congestion-related packet corruption. These errors typically don’t indicate any storage problem at all; the data is reading correctly from disk but getting corrupted between the source and destination machines.
Recovering Data From a Drive With CRC Errors
The recovery workflow for a drive throwing CRC errors follows the same general pattern as the bad sectors workflow, because bad sectors are the most common drive-level cause.6
Step 1: Rule out cable and connection issues first
Before assuming drive failure, eliminate the easy causes:
- Try a different cable (SATA or USB) of the same type.
- Try a different port on the host computer.
- Try the drive on a different computer if possible.
- Restart the computer and try the operation again.
If errors persist across these changes, the drive itself is the source of the problem and recovery becomes the priority over diagnosis.
Step 2: Check SMART data
Before imaging or recovery, run a SMART check to assess how bad the drive is. Critical attributes to watch:
- 0x05 Reallocated Sectors Count: sectors the drive has already replaced with spares. Any non-zero value warrants attention; rapidly rising values indicate active drive failure.
- 0xC5 Current Pending Sector Count: sectors that returned errors but haven’t been reallocated yet. Non-zero is a red flag for impending bad sectors.
- 0xC6 Offline Uncorrectable Sector Count: sectors the drive has confirmed are bad. Non-zero confirms physical damage.
- 0xC8 Write Error Rate: count of CRC errors during writes. Non-zero indicates active controller-side issues.
Step 3: Image the drive with ddrescue
Once you’ve confirmed the drive itself is the source of CRC errors, image the drive immediately. Don’t try to recover individual files first; don’t run CHKDSK; don’t reformat. Each operation against a drive with CRC errors risks pushing it from “recoverable with care” to “unrecoverable.” The standard tool is GNU ddrescue, designed specifically for this scenario.7
Step 4: Recover from the image
Once the drive is imaged, run recovery against the image rather than the original drive. The image is read-only-friendly (you can’t make it worse no matter what you do), and recovery against it doesn’t add stress to the failing source drive. Recovery tools that work against disk images:
- EaseUS Data Recovery Wizard: can mount and scan disk image files. Runs Quick Scan and Deep Scan against the image content.
- R-Studio: robust image-mounting support. The professional-grade choice for complex recovery scenarios.
- Disk Drill: supports mounting common image formats (RAW, E01) and scanning them directly.
- PhotoRec (free): file-system-agnostic file carving. Works on disk image files directly.
Once you’ve recovered the data from the image, the original drive is suspect. If SMART showed reallocated or pending sectors, replace the drive; CRC errors are likely to grow over time and the drive will eventually fail completely. If SMART was clean and the cause was likely cable or transmission issues, the drive can probably continue in service after a thorough format. For drives that are still under warranty: contact the manufacturer; many honor warranty replacements for drives showing reallocated sectors via SMART.
Why CHKDSK Is the Wrong Tool
The most common bad advice for CRC errors is to run chkdsk /r. The advice surfaces in countless help articles and Microsoft support documentation. For drives with important data, this advice is dangerous. Understanding why requires understanding what CHKDSK actually does.8
What CHKDSK /r does
CHKDSK with the /r flag does two things: first, it checks the file system metadata for inconsistencies and fixes them; second, it reads every sector of the drive looking for bad sectors. When it finds a sector that returns errors, it tries to read it multiple times, then attempts to relocate the data to a good sector and mark the original as bad. The relocation attempt involves reading the sector successfully (which by definition it just couldn’t do) or, failing that, writing zeros to the sector and marking it bad in the file system.
Why this destroys recoverable data
When CHKDSK encounters a sector returning CRC errors, the data in that sector is partially readable in many cases. A bad-sector-tolerant imager (ddrescue) can retry the read multiple times and often gets the data eventually. CHKDSK doesn’t have this retry-and-image philosophy; it makes a few attempts and then writes the sector as zeros. After CHKDSK has run, the partially-readable bad sector contains zeros, and any data that ddrescue might have eventually recovered is gone. This is the same trap as bad sector recovery generally; tools designed for maintenance, not recovery, prioritize getting the file system back to working state over preserving every recoverable byte.
When CHKDSK is appropriate
- The data isn’t valuable and you just want the drive functional again. CHKDSK can quickly restore a drive to working order, accepting some data loss.
- You’ve already imaged the drive and recovered what you needed. CHKDSK on the original drive after recovery is fine; the image preserves the original state.
- The CRC error is logical, not physical (file system metadata corruption rather than bad sectors). CHKDSK can sometimes repair file system damage that wouldn’t respond to other approaches.
- The drive is still under warranty and you plan to RMA it. CHKDSK may surface enough errors that the manufacturer accepts the warranty claim.
CRC errors are one of the most common storage error messages users encounter, and they’re also one of the most consequential to handle correctly. The error itself is a diagnostic indicator, not a failure mode; the corruption already happened, and CRC just reports what’s wrong. The recovery success depends entirely on what the user does after seeing the error. Running CHKDSK or repeatedly retrying file copies on a drive with CRC errors converts a recoverable situation into an unrecoverable one in many cases. Treating CRC errors as one input to a broader data recovery workflow rather than a problem to fix in place is the consistent difference between successful and unsuccessful outcomes.9
The triage approach is consistent: cables and connections first, SMART data second, imaging third, recovery fourth, repair last. Most CRC errors with simple causes (loose cable, marginal USB port) resolve immediately when the connection issue is fixed; no recovery is needed. CRC errors with drive-level causes (bad sectors, controller issues) need the imaging-first workflow because each subsequent operation against the failing drive risks losing more data. The image preserves your only complete snapshot of the drive’s current state; recovery against the image is safe because the image can’t get worse, while recovery against the original drive can.
For users facing CRC errors on a drive with important data, the practical framework is built around the unique nature of CRC: CRC is a detection mechanism, not a failure mode in itself. The error reports that something is wrong with specific data; the question is which something. Hardware tier (cable, port, computer): swap and retest. Drive tier (controller, surface, NAND): check SMART, then image with the targeted invocation above. Network or transmission tier: check cables and source data. Archive tier: try the archive on a different drive to isolate. Each tier has its own remedy, and the wrong remedy applied to the wrong tier wastes time or causes damage. Modern recovery tools work effectively against CRC-affected disk images precisely because the CRC mismatches localize to specific sectors; once those sectors are isolated in the image’s mapfile, recovery proceeds normally on the rest. CRC errors on optical media (DVDs, CDs) follow different recovery paths because the media is read-only by design; specialized optical recovery tools like IsoBuster handle that scenario.
CRC Error FAQ
A CRC (Cyclic Redundancy Check) error means data read from storage or received over a network does not match the checksum stored alongside it. CRC is a mathematical error-detection technique: when data is written, a checksum is computed from the data and stored; when the data is read, the checksum is recomputed and compared. A mismatch indicates corruption. The Windows form of this error is “Data error (cyclic redundancy check)” with error code 0x80070017. The error tells you the data is corrupted at the source; it doesn’t tell you what caused the corruption, which could range from temporary issues (loose cable, electrical interference) to serious drive damage (bad sectors, controller failure).
Not necessarily. CRC errors can come from temporary causes that don’t indicate drive failure: a loose SATA or USB cable, electrical interference, a corrupt file that was always corrupt, or a single bad sector that’s not part of a larger pattern. CRC errors do indicate drive failure when they’re frequent and reproducible (the same file fails every time, or many files fail), when SMART attribute 0x05 (Reallocated Sectors) or 0xC5 (Pending Sectors) is rising, and when the error appears during initialize disk operations rather than just during specific file copies. The way to tell: try the file or drive on a different cable and computer first; if errors persist, run smartctl to check SMART data; if SMART shows reallocated or pending sectors growing, the drive is failing.
There’s no general fix for CRC errors because the underlying causes vary. For temporary issues: reseat cables, try a different USB port, restart the computer. For corrupt files: try downloading or copying again from the source. For drive-level CRC errors that point to bad sectors or drive degradation: do not run CHKDSK with the /r flag (this can make recovery harder); instead, image the drive immediately with bad-sector-tolerant tools like ddrescue, then recover files from the image. For network CRC errors: check cables, try different network paths, verify the source data. For optical disc CRC errors (DVDs, CDs): clean the disc, try a different drive, or attempt recovery with specialized optical recovery tools.
Not if the data matters. CHKDSK with the /r flag (the version typically recommended for CRC errors) reads every sector of the drive looking for bad sectors and attempts to relocate data from bad sectors to good ones. The problem: when CHKDSK encounters a sector it can’t read, it sometimes overwrites it as part of its repair, which destroys recoverable data. CHKDSK is a maintenance tool, not a recovery tool. The correct approach for a drive showing CRC errors with important data: image the drive first with ddrescue (which is designed to handle bad sectors safely), then run recovery against the image, then format the original drive. If the data isn’t valuable and you just want the drive working again, CHKDSK is fine, but accept that you may lose some files in the process.
The numbers refer to the bit length of the checksum. CRC-16 produces a 16-bit (2-byte) checksum; CRC-32 produces a 32-bit (4-byte) checksum; CRC-64 produces a 64-bit (8-byte) checksum. Larger checksums detect more errors with lower probability of two different data sets producing the same checksum (a “collision”). CRC-32 is the most common in storage and networking: NTFS, FAT32, exFAT, ZIP archives, Ethernet frames, and the PNG image format all use CRC-32. CRC-16 appears in older protocols (ATA disk identification, USB) and SD card transfers. CRC-64 is used in some enterprise storage systems and the XZ archive format. From a user perspective, the variant doesn’t matter; a CRC error means the same thing regardless of which CRC variant detected it.
The CRC error itself doesn’t damage anything; it just reports that damage has already happened. CRC is a detection mechanism, not a write or modify operation. When CRC fails, the storage system reports the error to the OS and typically returns either an error code (so the calling application knows the read failed) or, in some configurations, returns the corrupted data with the error flag attached so the application can decide what to do. The damage was already present when CRC detected it. What can damage data is what users do AFTER seeing CRC errors: running CHKDSK /r, attempting Windows-level repairs, repeatedly retrying the failing read on a degrading drive (which can convert recoverable bad sectors into unrecoverable ones). The error is the messenger; the damage existed before.
Related glossary entries
- Bad Sectors: the most common drive-level cause of CRC errors.
- Disk Image: image first with ddrescue, recover from the image.
- Data Recovery: the umbrella concept; CRC errors are a common scenario.
- RAW Partition: severe CRC errors in metadata can cause RAW status.
- File Carving: how to recover content when the file system is unreadable.
- Sector: the unit at which CRC is computed and verified.
- Best data recovery software: tools that handle CRC-error recovery effectively.
Sources
- Wikipedia: Cyclic redundancy check (accessed May 2026)
- GeeksforGeeks: Cyclic Redundancy Check and Modulo-2 Division
- Datarecovery.com: Cyclic Redundancy Check (CRC) Errors: Data Loss Symptoms
- Secure Data Recovery: How to Fix Data Error (Cyclic Redundancy Check)
- smartmontools.org: smartmontools project home
- Lenovo: What is Cyclic Redundancy Check and How Does it Work?
- GNU ddrescue manual: GNU ddrescue Manual
- CBT Nuggets: What is a CRC (Cyclic Redundancy Check)?
- Huawei: What Is Cyclic Redundancy Check?
About the Authors
Data Recovery Fix earns revenue through affiliate links on some product recommendations. This does not influence our reference content. Glossary entries are written and reviewed independently based on documented research, vendor documentation, independent testing, and recovery-engineer review. If anything on this page looks inaccurate, outdated, or worth revisiting, please reach out at contact@datarecoveryfix.com and we’ll review it promptly.
