Warning: This guide is aimed at technical users only; failure to follow the instructions given in this tutorial in a proper and safe manner can lead to further issues.
In this tutorial, we've going to look over at how to repair some simple yet common Windows Update errors reported by DISM and SFC. Please note that we do not accept any responsibility or liability for any damage improper following of these instructions may cause to your operating system, and therefore by following these instructions, you accept full responsibility for your actions and understand the risks involved. If you do not feel comfortable following this tutorial, then please follow our
posting instructions and a helper will assist you. Please note that we have a
very limited pool of helpers and therefore it may take a few days for someone to reach your thread.
Before continuing, it is recommended that you read the following tutorial -
How to fix Windows Update errors using DISM (DISM.log) or the System Update Readiness Tool / SURT (CheckSUR.log)
So, you've decided to run the following DISM command because your operating system will not update.
Rich (BB code):
DISM /Online /Cleanup-Image /RestoreHealth
The command reports a failure code, often which will be either 0x800f081f or 0x800f0982, these two errors essentially mean that replacement files can't be found from the sources which DISM checks. These are usually the installation itself or Windows Update. If you examine the CBS log, you'll notice the following log excerpt:
Rich (BB code):
2022-06-13 22:32:12, Info CBS (p) CSI Manifest Corrupt (n) amd64_microsoft-windows-c..red-deployment01110_31bf3856ad364e35_10.0.22000.556_en-us_b185bf7c7b8cf12a
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement manifest.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\microsoft_bluetooth_hfp.inf
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\BthHfAud.sys
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\BthHfEnum.sys
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\f\microsoft_bluetooth_hfp.inf
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\r\microsoft_bluetooth_hfp.inf
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\f\BthHfAud.sys
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\r\BthHfAud.sys
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\f\BthHfEnum.sys
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\r\BthHfEnum.sys
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
It appears that a number of files have been corrupted and Windows is unable to find any suitable replacement files. What does this mean? The files mentioned above are part of the WinSxS folder which is available at the following directory path:
%systemroot%\WinSxS. There is a couple of sub-directories here and therefore it is very important that you place the replacement files in the correct directory.
For payload files, they must go into the
%systemroot%\WinSxS directory and missing .manifest files must go into the
%systemroot%\WinSxS\Manifests directory. This is easy to spot from the above CBS log excerpt because of the following lines:
Rich (BB code):
2022-06-13 22:32:12, Info CBS (p) CSI Manifest Corrupt (n) amd64_microsoft-windows-c..red-deployment01110_31bf3856ad364e35_10.0.22000.556_en-us_b185bf7c7b8cf12a
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement manifest.
2022-06-13 22:32:12, Info CBS (p) CSI Payload Corrupt (n) amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e\microsoft_bluetooth_hfp.inf
2022-06-13 22:32:12, Info CBS Repair failed: Missing replacement payload.
The final type of corruption which DISM will commonly report is due to packages. These are found within the
%systemroot%\servicing\Packages and come in .cat/.mum pairs. You must ensure that you
replace both files.
Rich (BB code):
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5004342~31bf3856ad364e35~amd64~~10.0.4400.3
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5007575~31bf3856ad364e35~amd64~~10.0.1.1
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5013889~31bf3856ad364e35~amd64~~10.0.4515.1
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5015732~31bf3856ad364e35~amd64~~10.0.4536.3
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5016353~31bf3856ad364e35~amd64~~22000.795.1.0
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_2_for_KB5004342~31bf3856ad364e35~amd64~~10.0.4400.3
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
Sourcing the Files
The first step to set up a virtual machine for your target operating system in order to source clean copies of the files from. For example, if your problematic operating system is Windows 10 22H2, then you will need to have a virtual machine - or physical machine - with that operating system installed. In earlier operating systems, like Windows 7, you can simply download the corresponding update and then source the replacement files from there. However, Microsoft changed how updates are delivered with the introduction of Windows 10, updates are now delivered as binary differential patch files and therefore the update does not contain the "full" file. As a result of this, you will need to install the corresponding update on your virtual machine and then navigate to the WinSxS folder. We will take a look at doing this later on.
Of course, you can apply the patches to an earlier file, however, that goes beyond the scope of this tutorial and isn't very practical when you have possibly hundreds of corrupted payload files. For the rest of this tutorial, I'll assume that you have a virtual machine installed and ready to go. Otherwise, please set one up because you'll need it for later. There are several sources for obtaining legal Windows .ISO files but the most popular ones are probably
UUPDump and
Heidoc. Both of which connect to the Microsoft download servers. You can find server and enterprise editions on the
Microsoft website.
Let's examine the missing payload files, they all appear to be part of the same directory which is the following:
Rich (BB code):
%systemroot%\WinSxS\amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e
Now, you must ensure that you copy the entire folder and not just the individual files otherwise your SFCFix script will be far more complicated and prone to error. It has the following directory structure:
Rich (BB code):
Directory of C:\Windows\winsxs\amd64_product-onecore__du..t_bluetooth_hfp.inf_31bf3856ad364e35_10.0.22000.282_none_4a2d60b2e550f37e
10/17/2022 03:42 PM <DIR> .
10/28/2022 02:21 AM <DIR> ..
10/17/2022 03:42 PM 106,496 BthHfAud.sys
10/17/2022 03:42 PM 180,224 BthHfEnum.sys
10/17/2022 03:42 PM <DIR> f
10/17/2022 03:42 PM 11,102 microsoft_bluetooth_hfp.inf
10/17/2022 03:42 PM <DIR> r
Let's take a look at the .manifest file which will be either available from the %systemroot%\WinSxS\Manifests folder of your virtual machine - if the applicable update is installed - or you can download and extract the associated cumulative update. To determine the update which the .manifest file belongs to, you can take a look at it's version number and then look up that number at the
following page.
Rich (BB code):
2022-06-13 22:32:12, Info CBS (p) CSI Manifest Corrupt (n) amd64_microsoft-windows-c..red-deployment01110_31bf3856ad364e35_10.0.22000.556_en-us_b185bf7c7b8cf12a
This is the build number of the file and as we can see, it belongs to a Windows 11 cumulative update which is
KB5011493. Let's download the update from the
Windows Update Catalog and then extract it. The extraction commands are the same as given in the previous tutorial. You will need to download the update applicable to your architecture and the non-dynamic version. The .manifest file will be available within the extracted update.
Rich (BB code):
"..\..\Windows10.0-KB5011493-x64.cab\amd64_microsoft-windows-c..red-deployment01110_31bf3856ad364e35_10.0.22000.556_en-us_b185bf7c7b8cf12a.manifest"
Let's go back to the package corruption.
Rich (BB code):
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5004342~31bf3856ad364e35~amd64~~10.0.4400.3
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5007575~31bf3856ad364e35~amd64~~10.0.1.1
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5013889~31bf3856ad364e35~amd64~~10.0.4515.1
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5015732~31bf3856ad364e35~amd64~~10.0.4536.3
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_1_for_KB5016353~31bf3856ad364e35~amd64~~22000.795.1.0
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Package_2_for_KB5004342~31bf3856ad364e35~amd64~~10.0.4400.3
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
These are available from the %systemroot%\servicing\Packages folder or you will need to download the associated update and then extract the .cat/.mum pair which will have the following file names:
Rich (BB code):
Package_1_for_KB5007575~31bf3856ad364e35~amd64~~10.0.1.1.cat
Package_1_for_KB5007575~31bf3856ad364e35~amd64~~10.0.1.1.mum
Here is another variation of the packages error but this time, there is no given KB number:
Rich (BB code):
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Microsoft-Windows-GroupPolicy-ClientTools-Package~31bf3856ad364e35~amd64~de-DE~10.0.22000.708
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
2022-10-31 17:05:21, Info CBS (p) CBS Catalog Missing (n) Microsoft-Windows-GroupPolicy-ClientTools-Package~31bf3856ad364e35~amd64~de-DE~10.0.22000.795
2022-10-31 17:05:21, Info CBS Repair failed: Missing replacement mum/cat pair.
As before, you will need to download the cumulative update and either install it or extract the files. They will be available as part of that install. Remember, when searching for .cat/.mum files with special characters like ~ then you will need to wrap your search term with double quotes like so:
Rich (BB code):
"Microsoft-Windows-GroupPolicy-ClientTools-Package~31bf3856ad364e35~amd64~de-DE~10.0.22000.795"
Using SFCFix
I highly recommend that you use SFCFix to repair the corruption using a fix batch rather than manually manipulating the permissions and ownership of the WinSxS folder since it can lead to further update problems, and more importantly, provide an attack vector for malware. Your fix script should look like the following:
Rich (BB code):
::
{ARCHIVE}\WinSxS %systemroot%\WinSxS [DIR]
{ARCHIVE}\Manifests %systemroot%\WinSxS\Manifests [DIR]
{ARCHIVE}\Packages %systemroot%\servicing\Packages [DIR]
As you can see from the script, you must place the different types of missing/corrupted files into their respective folders. The {ARCHIVE} refers to the SFCFix.zip itself with the \WinSxS folder therefore being a subdirectory of this. SFCFix will then copy this folder from SFCFix.zip and into the directory given on the right-hand side e.g. %systemroot%\WinSxS.
The following will illustrate where each file belongs:
Payload Files (with the folder) --> Placed in the WinSxS folder --> Copied to %systemroot%\WinSxS
Manifest Files --> Placed in the Manifests folder --> Copied to %systemroot%\WinSxS\Manifests
.cat / .mum pairs --> Placed in the Packages folder --> Copied to %systemroot%\servicing\Packages
There will be little reason for you to change this script and therefore I highly recommend that you use it for all your fixes. Once you've prepared your fix batch, then simply drag and drop the SFCFix.zip over SFCFix.exe and it will run. You
must not unzip the .zip file otherwise SFCFix.exe will not execute properly. I've attached an example SFCFix.zip for you to examine.
Once you've run the SFCFix fix batch, then it is recommended to have a look at the resulting log called SFCFix.log to make sure the fix was run successfully and as expected. Afterwards, you should either run sfc /scannow or DISM again to ensure that the corruption has been successfully repaired. If it hasn't, then you can I would recommend that you create a new thread in the Windows Update forum rather than attempt to carry out additional repairs.
Please note that reboot may be required after running SFCFix.
Frequently Asked Questions (FAQ)
Q: Can't I use .wim or .esd file as a repair source using DISM?
A: Yes and no, it depends, if the image has the corresponding updates installed otherwise the repair will simply fail. The same applies to performing an in-place upgrade using an .ISO file. I have on occassion recommended an in-place upgrade using an .ISO from UUPDump since the .ISO will then have the appropriate updates installed.
Q: I've replaced the corrupted files identified by DISM/SFC but it still mentions that they're corrupt? Is my installation corrupt beyond repair?
A: No, fortunately this is often not the case and we can repair the operating system after further investigation. The reason the error often persists is due to registry corruption or the servicing stack is expecting an uncompressed file where you replaced it with a compressed file or vice-versa.
Q: DISM/SFC is returning no errors and completes successfully yet the update(s) still fail to install?
A: DISM/SFC are only designed to detect certain types of corruption and therefore more difficult problems will often require investigating certain parts of your registry for corruption or configuration issues.
Q: I've heard that deleting the SoftwareDistribution folder can be used to reset Windows Update?
A: Yes but it is only applicable to very specific errors which are often related to
downloading updates rather than installing them. There is usually very little reason to delete this folder.
Q: X user has sent me a private message (PM) offering help with my Windows Update issue(s), what shall I do?
A: All help
must be provided in the public forums and failure to do so may lead to suspension of your account. I strongly recommend that you only take advice from a trusted helper i.e. staff member or anyone who is undertaking or has undertaken training related to repairing update problems. Our Windows Update forum is locked so only trusted helpers are able to respond to threads, this is to ensure that you're receiving quality help from a forum member who will not give potentially destructive advice.
Q: Do you have any public tutorials for X error message?
A: The only public tutorials we have are already available to view. We do have an extensive reference library as part of the Windows Update Academy, although, this isn't public due to the knowledge required for understanding the nuances between seemingly the same error messages. Additionally, many of our fixes involve making repairs to parts of the registry, including the SOFTWARE and SYSTEM hive, these are particularly dangerous areas to repair since they can lead to an unbootable system.
Q: I have the same problem as X user? Can I follow the same instructions given to them?
A: No; while you may indeed have the same error message as another user, it doesn't necessarily mean that they're being caused by the same issue and therefore following instructions given for that one specific machine, may be detrimental to your own. We do not accept any responsibility if you fail to follow this advice.
Q: I've noticed some lines from the CBS log are prefixed with (w)? What are these?
A: These are warnings (example below) and can be usually ignored.
Rich (BB code):
2022-09-09 15:01:59, Info CBS (w) CBS Package Index Package Missing 0x80070490 Package_1005_for_KB5007206~31bf3856ad364e35~amd64~~0.0.0.0 Package_1005_for_KB5007206~31bf3856ad364e35~amd64~~10.0.1.7
2022-09-09 15:02:00, Info CBS (w) CBS Watchlist Package Missing 0x80070490 Microsoft-Windows-EnterpriseEvalEdition~31bf3856ad364e35~amd64~~0.0.0.0 Package_for_RollupFix~31bf3856ad364e35~amd64~~17763.2300.1.7
2022-09-09 15:02:00, Info CBS (w) CBS Update Watchlist Package Missing 0x80070490 ActiveDirectory-PowerShell Package_927_for_KB5007206~31bf3856ad364e35~amd64~~10.0.1.7