DISM Offline Repair with Install Image Source in WinPE
When SFC cannot fix files, it is usually because the warehouse it copies clean files from - the component store - is damaged too. DISM repairs that warehouse, and with an install image as its source it can do it fully offline from WinPE.
✍️ Technical Anshu🪟 Windows 10 / 11⏱️ 8 minute read
🎥 Full video - DISM repairing a broken component store offline inside the WinPE CMD Toolkit
SFC and DISM are a team: SFC fixes files, DISM fixes the store SFC copies files from. Run DISM without a source on an offline system and it tries to reach Windows Update - which does not exist inside WinPE, so it fails. The fix is to hand DISM a Windows install image and let it take clean components from there. The catch that defeats most people: the image must match the edition and build of the broken Windows, and for multi-edition images you must pick the right index number. This guide covers all three details in order.
Administrator: Command Prompt - DISM RestoreHealth with Source
X:\windows\system32> dism /image:D:\ /cleanup-image /restorehealth /source:E:\sources\install.wim:6 /limitaccess
Deployment Image Servicing and Management tool
Version: 10.0.26100.1
Image Version: 10.0.26100.1
[==========================100.0%==========================]
The restore operation completed successfully.
The operation completed successfully.
DISM finishing against a local install.wim source - index 6 is only an example; Step 2 shows how to find the correct index for your edition.
1
First Try DISM Without a Source
Sometimes the store's damage is small and DISM can repair it from components already on the disk. Always try the simple form first:
Confirm the Windows letter with diskpart and the dir test - this guide uses D:
Run dism /image:D:\ /cleanup-image /restorehealth
If it ends with "The restore operation completed successfully", skip straight to Step 5 - run SFC again and you are done
If it stops with error 0x800f081f - The source files could not be found, DISM needs the external source from the next steps
2
Prepare the Install Image and Find Its Index
Insert a Windows setup USB or mount an ISO of the same Windows version. Inside the sources folder sits install.wim or install.esd - one file holding several editions, each under an index number. DISM must be told which index matches the broken PC:
Find the source drive letter in WinPE (this guide uses E:)
Run dism /get-wiminfo /wimfile:E:\sources\install.wim - for an ESD file use dism /get-imageinfo /imagefile:E:\sources\install.esd
Note the index whose name matches the installed edition - Windows 11 Pro, Home, and so on. Guessing the index is the most common reason this repair fails
3
Run DISM with the Source and LimitAccess
Now point DISM at the image, including the index after a colon:
For a WIM: dism /image:D:\ /cleanup-image /restorehealth /source:E:\sources\install.wim:6 /limitaccess - replace 6 with your index
For an ESD the source needs its prefix: dism /image:D:\ /cleanup-image /restorehealth /source:esd:E:\sources\install.esd:6 /limitaccess
/limitaccess stops DISM from wasting time trying to contact Windows Update, which cannot work inside WinPE
The progress bar can sit at one percentage for many minutes - that is normal servicing behaviour, not a hang
4
Match the Build, Not Just the Edition
The most frustrating DISM failure is a source that looks right and still returns 0x800f081f. The usual reason is a build mismatch: the component store expects components from its own Windows build, and a much older setup image simply does not contain them.
Check the broken system's build from WinPE with dism /image:D:\ /get-currentedition and by reading the version of D:\Windows\System32\ntoskrnl.exe in a file manager's properties
Use the newest setup image you can get for the same Windows version - a current ISO is far more likely to contain the needed components than a two-year-old USB
If even a matching current image fails, the store may be damaged beyond servicing repair - the honest end of this road is a repair install or clean install, not a tenth DISM attempt
5
Always Finish by Running SFC Again
DISM repaired the warehouse; the shelves in Windows itself may still hold the corrupt files SFC found earlier. Close the loop:
Run sfc /scannow /offbootdir=D:\ /offwindir=D:\Windows once more
The expected result now is "found corrupt files and successfully repaired them" or a fully clean report
Reboot into Windows and run sfc /scannow one final time from inside Windows as a confirmation pass
🔴 Do not mix editions. A Windows Home image cannot supply components for a Pro installation and an N-edition image matches nothing sold outside its region. Edition, language-neutral components and build all have to line up - when DISM keeps saying the source files could not be found, it is almost always this, not a broken command.
🎥 Watch the DISM Source Repair in the Full Video
Finding the right index, running RestoreHealth against a local image, and the SFC pass that finishes the job - all shown live.
Can I use a Windows ISO from a different language as the DISM source?
Core components are largely language-neutral, and in practice a same-version, same-edition image in another language often works. If it returns 0x800f081f anyway, use an image in the same language as the installed Windows - it removes one more variable.
DISM has been at 62 percent for twenty minutes - is it stuck?
Probably not. DISM's percentage is not linear and long pauses during component cleanup are documented behaviour, especially on hard disks. Judge by disk activity, not the number - if the disk light is working, keep waiting.
No setup USB or ISO available - can another PC's Windows folder be the source?
Not reliably. DISM needs a proper install image whose components are catalogued; copying random files from a running PC is not a supported source and usually fails the same 0x800f081f check. Download a current ISO on any working PC and put it on a USB - that is the dependable route.
This guide is based on the Technical Anshu video on fixing corrupted Windows with a custom WinPE CMD Toolkit • Stuck on a step - ask in the video comments and the community will help 🙏