Fix CHKDSK Stuck at a Specific Percent on Windows 11
🔍 WiseChecker

Fix CHKDSK Stuck at a Specific Percent on Windows 11

Quick fix: CHKDSK can pause for 30-60 minutes on bad sectors or fragmented metadata. If stuck at the same percent for 4+ hours: hold power button to force restart. Boot → open Command Prompt (Admin) → run chkdsk C: /f /r /x to retry. For drives with hardware issues: clone with ddrescue first, then run chkdsk on the clone. Repeated stuck means failing hardware.

CHKDSK can take hours, especially with /r flag (which checks every sector). It often appears stuck for long periods, especially: 10-12% (file system scan), 50-55% (security descriptors), 80% (file scanning). True stuck means hardware likely failing.

Symptom: CHKDSK appears stuck at a specific percentage for hours on Windows 11.
Affects: Windows 11 (and Windows 10).
Fix time: ~30 minutes (excluding chkdsk runtime).

ADVERTISEMENT

What causes this

CHKDSK is checking different things at different stages:

  • Stage 1 (10-12%): File system check.
  • Stage 2 (12-50%): Indexing check.
  • Stage 3 (50-55%): Security descriptors.
  • Stage 4 (55-80%): File data check (long with /r flag).
  • Stage 5 (80-100%): Free space.

If percentage hasn’t moved in 4+ hours, drive may be retrying bad sectors endlessly. That’s usually a sign of failing hardware.

Method 1: Wait it out (recommended initially)

The first step.

  1. Check disk activity LED: still blinking = chkdsk still working.
  2. For HDDs: 500GB-1TB drive with /r can take 6-12+ hours.
  3. For SSDs: typically under 30 minutes (no /r needed; SSDs handle differently).
  4. If percentage is moving (even very slowly): wait. /r reads every sector.
  5. Common “long pauses”:
    • 10-12% (checking files): 30 minutes to several hours.
    • 50-55%: 30-60 minutes.
    • ~80%: long for big drives with /r.
  6. For real-time progress: chkdsk shows current file or sector being checked. Look at the line below percentage.
  7. If after 4 hours, no progress: hardware likely.

This is the patience step.

ADVERTISEMENT

Method 2: Force restart and retry

For genuine stuck.

  1. Hold power button to force shutdown.
  2. Power on. Windows tries to boot or restarts chkdsk.
  3. If chkdsk restarts: it picks up where it left off. May still stuck.
  4. To prevent chkdsk on next boot: at boot, press a key when prompted “Press any key to skip disk check.” You have 10 seconds.
  5. Once in Windows: run chkdsk manually with different options:
    chkdsk C: /f /x

    Just /f (fix) without /r (sector check). Faster.

  6. For more verbose progress: chkdsk C: /f /r /v (verbose). Shows which files are being checked.
  7. For C: drive (in-use): chkdsk schedules for next reboot. Reboots and runs.
  8. For D: drive: runs immediately if unused.

This is the retry route.

Method 3: Diagnose hardware health

For chronic stuck.

  1. Boot to Windows (if possible, even Safe Mode).
  2. Install CrystalDiskInfo (free). Run it.
  3. Check the drive’s health status:
    • Good: drive healthy. CHKDSK should complete.
    • Caution: drive showing wear. May still complete but failing soon.
    • Bad: drive failing. CHKDSK won’t complete; replace drive.
  4. Look at Reallocated Sectors Count: high value = drive remapping bad sectors. CHKDSK’s retry on those is the cause of stuck.
  5. Look at Current Pending Sector Count: sectors awaiting remap. Causes long chkdsk delays.
  6. If drive is failing: don’t run chkdsk further. It accelerates wear. Instead:
    • Boot Linux Live USB.
    • Use ddrescue to image the failing drive to a healthy one.
    • Run chkdsk on the imaged drive in Windows.
  7. For SMART self-test from BIOS: most BIOS have built-in SMART check. Run there.
  8. For HDD manufacturer tool: Seagate SeaTools, Western Digital Data Lifeguard.

This is the hardware diagnosis.

How to verify the fix worked

  • CHKDSK reports: “Windows has scanned the file system and found no problems” or “found and corrected errors.”
  • Drive accessible normally after.
  • CrystalDiskInfo shows Good status.
  • Files read without errors.

If none of these work

If chkdsk keeps getting stuck: Cancel via cmd: chkntfs /x C: excludes C: from boot-time chkdsk. For chronic bad sectors: drive is failing. Back up immediately. Replace. Bypass chkdsk on boot: fsutil dirty query C: shows if drive is marked dirty. chkntfs /x C: excludes. May not work if Windows insists. For booted but slow: chkdsk C: /f /spotfix uses online spot-fix (much faster). For SSD chkdsk: usually unnecessary; trim and built-in error correction handle errors. Last resort: clone drive: ddrescue to new drive. Run chkdsk on clone. If clone passes: original was failing. Discard original. For RAID arrays: chkdsk on RAID can corrupt if not done correctly. Use RAID controller’s tools instead.

Bottom line: Wait 4 hours if first time. If still stuck, force restart and retry with chkdsk C: /f /x (no /r) for speed. Check drive health with CrystalDiskInfo. Failing drives need replacement, not more chkdsk.

ADVERTISEMENT