DISM vs. SFC and how to interpet DISM logs

Shplad

Active member
Joined
Mar 11, 2019
Posts
30
Hi everyone:

I have a few questions about DISM and SFC.

First, what is different about running DISM vs. SFC in repair modes? If they both can repair corrupt
or incompatible system files, what's different about the two of them when running repair mode?


Second, I can't find any resource anywhere on the Web explaining how to tell if a DISM repair run
was successful after it's run (assuming you are a third-party and can't see the command's output).

I tried looking at a few DISM.log files, but really didn't know where to look for the final results,
(as opposed to every instance of the word "failure" in the log.

Oh, and how do you know whether to look at the DISM.LOG file or the CBS.LOG file and what's
the difference between the two?
 
Oh, and how do you know whether to look at the DISM.LOG file or the CBS.LOG file and what's
the difference between the two?
From my understanding, you should use CBS.log unless you're trying to diagnose an issue with DISM in particular. For example, if one of the DISM commands fails for some reason, then you would check the DISM.log. On the other hand, if you wish to check why a particular file could not be repaired, then you would need to examine the CBS.log.

More information - Deployment Troubleshooting and Log Files

First, what is different about running DISM vs. SFC in repair modes? If they both can repair corrupt
or incompatible system files, what's different about the two of them when running repair mode?
Again, this isn't an area of my expertise, however, I believe the main difference is where DISM and SFC attempt to source the repairs from. DISM will source it a Microsoft file server, whereas, SFC will attempt to source the files from a copy on the disk itself.
 
From my understanding, you should use CBS.log unless you're trying to diagnose an issue with DISM in particular. For example, if one of the DISM commands fails for some reason, then you would check the DISM.log. On the other hand, if you wish to check why a particular file could not be repaired, then you would need to examine the CBS.log.

More information - Deployment Troubleshooting and Log Files


Again, this isn't an area of my expertise, however, I believe the main difference is where DISM and SFC attempt to source the repairs from. DISM will source it a Microsoft file server, whereas, SFC will attempt to source the files from a copy on the disk itself.

Thanks, that's a good start. Can anyone tell me any more than that? I find the whole thing very opaque, with
almost no clarity given by Microsoft.

If you weren't with the client/user in real-time, how do you know if all repairs were done or not? I'm looking
for something that gives a summary at the end. Is there nothing like that available?
 
Thanks, that's a good start. Can anyone tell me any more than that? I find the whole thing very opaque, with
almost no clarity given by Microsoft.
Windows Update and repairing corrupt files is quite complicated, there's lots of going on in the background, with several different types of corruptions which need to be repaired in different ways. It's primarily the reason why we have an entire academy dedicated to it.
If you weren't with the client/user in real-time, how do you know if all repairs were done or not? I'm looking
for something that gives a summary at the end. Is there nothing like that available?
There's a summary at the end of the CBS.log which states how many corruptions were detected.
 
I'm looking at one of my CBS.LOG files now. I can't find any statement like that, at least in the last 10 or 15 lines.
What should I be looking for?
 
Rich (BB code):
2021-03-20 16:16:34, Info                  CBS    Checking System Update Readiness.
2021-03-20 16:16:34, Info                  CBS    
2021-03-20 16:16:34, Info                  CBS    
2021-03-20 16:16:34, Info                  CBS    Summary:
2021-03-20 16:16:34, Info                  CBS    Operation: Detect and Repair 
2021-03-20 16:16:34, Info                  CBS    Operation result: 0x800703f1
2021-03-20 16:16:34, Info                  CBS    Last Successful Step: CBS store detection completes.
2021-03-20 16:16:34, Info                  CBS    Total Detected Corruption:    0
2021-03-20 16:16:34, Info                  CBS        CBS Manifest Corruption:    0
2021-03-20 16:16:34, Info                  CBS        CBS Metadata Corruption:    0
2021-03-20 16:16:34, Info                  CBS        CSI Manifest Corruption:    0
2021-03-20 16:16:34, Info                  CBS        CSI Metadata Corruption:    0
2021-03-20 16:16:34, Info                  CBS        CSI Payload Corruption:    0
2021-03-20 16:16:34, Info                  CBS    Total Repaired Corruption:    0
2021-03-20 16:16:34, Info                  CBS        CBS Manifest Repaired:    0
2021-03-20 16:16:34, Info                  CBS        CSI Manifest Repaired:    0
2021-03-20 16:16:34, Info                  CBS        CSI Payload Repaired:    0
2021-03-20 16:16:34, Info                  CBS        CSI Store Metadata refreshed:    False
2021-03-20 16:16:34, Info                  CBS    Staged Packages:
2021-03-20 16:16:34, Info                  CBS        CBS Staged packages:    0
2021-03-20 16:16:34, Info                  CBS        CBS Staged packages removed:    0
2021-03-20 16:16:34, Info                  CBS    
2021-03-20 16:16:34, Info                  CBS    Total Operation Time: 2 seconds.

Something like the above, it might not be available in every CBS log though. Have you checked the CBS persist logs too? The SFCFix tool does it automatically for you - SFCFix Official Download - Repair Windows Update
 
D'oh! So all I had to look for was the word "Summary".

Can't believe I didn't think of that.

What does SFCFix tellyou that SFC doesn't? I'm familiar with running SFC.
 
It's scans the logs and is then used by helpers to create a SFCFix script. The script will then automatically copy over the files which the helper provides.
 
I'll try SFCFIX next time I need to fix system files.
WAIT: There is no "summary" in my current CBS.LOG. Without that, how do I know where to look?
 
Have you checked the CBS.persist logs?

I think the summary section may only appear for certain corruptions.

Edit: It may only appear when you've run DISM or SURT. Just noticed the following line before the summary section:

Rich (BB code):
Checking System Update Readiness.
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top