SFC Found Integrity Violations? Here's the Real Fix
SFC scan shows integrity violations but won't fix them? Run DISM first, then SFC again. Works 9 times out of 10.
Yeah, That's Annoying
You run sfc /scannow, it finds integrity violations, says it fixed some, but the next scan shows the same errors again. Or it just sits there. I've seen this a hundred times. Don't panic.
The Real Fix: DISM First, SFC Second
The culprit here is almost always a corrupted component store. SFC tries to replace bad files from that store, but if the store itself is broken, it can't. So you fix the store first, then run SFC.
Step 1: Run DISM to fix the component store
Open an elevated Command Prompt (right-click Start > Windows Terminal (Admin) or Command Prompt (Admin)). Run this:
DISM /Online /Cleanup-Image /RestoreHealth
This command checks the Windows image for corruption and fixes it using Windows Update. Let it finish — it can take 15-30 minutes depending on your system and internet speed. Don't close the window. If it stops at 20% for a while, that's normal. Let it run.
Step 2: Run SFC again
After DISM finishes and says "restoration completed successfully", run:
sfc /scannow
This time, SFC should find fewer violations and actually fix them. Restart your PC after it finishes.
Why This Works
Windows keeps a local copy of system files in the component store (usually at C:\Windows\WinSxS). When SFC finds a corrupted file, it tries to replace it from that store. But if the store's copy is also damaged, SFC can't do its job. DISM repairs the store first by pulling clean copies from Windows Update or a recovery image. Once the store is clean, SFC can use those clean files to restore your system.
What If DISM Fails?
Sometimes DISM can't connect to Windows Update (like on a locked-down corporate network or an old version of Windows). You have two options:
Option A: Use a local install.wim or install.esd
You need a Windows installation ISO or USB. Mount it, then point DISM to it. Here's how:
DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /LimitAccess
Replace D:\ with your drive letter. If you have an install.esd file, same command but change the file name. This method doesn't need internet access.
Option B: Run DISM with /ScanHealth first
Some systems can't do /RestoreHealth but can still check:
DISM /Online /Cleanup-Image /ScanHealth
If that returns no errors, your store might be fine. Then try sfc /scannow solo. But honestly, that's rare.
Less Common Variations
Sometimes the issue isn't the store but a specific stuck file. Here's what else can happen:
SFC keeps finding the same driver file corrupted
I've seen this with NVIDIA or Realtek drivers. The fix is to uninstall the driver completely using Display Driver Uninstaller (DDU) in safe mode, then reinstall the latest version. SFC can't replace driver files that are locked by the running driver.
SFC says "Windows Resource Protection could not perform the requested operation"
This usually means your system is in a weird state — like after a failed update. Try booting into Safe Mode, then run SFC from there. Or use System Restore to go back to before the problem started.
The CBS log shows hundreds of errors
If you check C:\Windows\Logs\CBS\CBS.log and see a wall of red, don't try to fix each one. Run DISM with /RestoreHealth twice in a row. I've had cases where the first pass fixed part of the store, and the second pass finished the job.
Prevention: Stop the Rot
Most corruption comes from one of three things:
- Hard drive errors — run
chkdsk /f /revery few months on SSDs, more often on HDDs - Bad updates — pause updates if you see a known-bad patch (check Reddit or Microsoft's forums before major updates)
- Sudden power loss — get a UPS. A $50 UPS pays for itself the first time it saves your system from corruption
Also, make it a habit: once a quarter, run DISM /Online /Cleanup-Image /RestoreHealth followed by sfc /scannow. Takes 20 minutes and keeps your system clean. I do this on my own machines and it's saved me from reinstalling Windows more than once.
If nothing works after all this — DISM fails, SFC still finds violations, and you're going in circles — then you're looking at a repair install or clean install. But that's a last resort. 95% of the time, the DISM-then-SFC sequence nukes the problem.
Was this solution helpful?