How to Use DISM RestoreHealth (Working SOLVED 2026 Guide)

You ran DISM /RestoreHealth after a Windows update failure, but it stuck at 20% or threw an error. In some cases the command won't complete because of a corrupted cache or locked service state. This usually happens when the WinSxS repair process conflicts with pending update tasks.

⚠️ Partially effective – the steps below solved the issue for several users, but may not work in every environment (e.g., Windows 11 with strict source validation).

Minimal steps that fixed the 20% stall

1. Stop Windows Update Service + clean cache
Open Terminal as admin. Run:
net stop wuauserv
net stop bits
del /f /s /q "%windir%\SoftwareDistribution\*"
net start wuauserv
net start bits
After clearing the cache, rerun DISM /RestoreHealth /Source:... /LimitAccess (if you have an install.wim). The DISM.log should no longer show “failed to find expected state”.
2. Run SFC after DISM (even if DISM says “no corruption”)
Some hidden file inconsistencies only surface after a sfc /scannow pass. Wait for the verification (100% completion). Did it fix the update loop? Not always – but it resolved the issue on a Windows 10 build with KB5148086 pending.
What if DISM still hangs?
Check the DISM.log keyword “failed to repair”. You may need a repair install. The update may stall around 20 percent before failing – that’s the exact signal to clean the cache again and restart the Update service.

To answer a common question: how long does restorehealth take? Usually 15–30 min, but if it exceeds 1 hour at 20%, the cache reset above is required. Some users reported that running dism restorehealth step by step with the service stop method finally worked after two attempts.

If you’re on Windows 11, the environment integrates stricter repair source validation – so always use an official ISO as source. For Windows 10, external sources are sometimes needed. The method shown (stop service → clear cache → restart) is the core part of the FIX DISM RestoreHealth workflow that many forums confirm as working in 2026.

Didn’t fix it at first? Repeat the cache cleaning, then run DISM /RestoreHealth again without any other processes open. That usually pushes past the 20% barrier.