6996690148_6d10596113_h-2

Repairing Corrupted System Files in Windows 8 and Windows 8.1

by jess on January 11, 2014

6 Comments

I recently had an issue with a corrupted file on one of my Windows 8.1 Pro computers. When I would run the System File Checker command (sfc /scannow), which was used by other versions of Windows in the past, I would receive a message that corruption was found, but could not be repaired:

1-unable

In investigating the CBS.log file, located at C:\Windows\Logs\CBS\CBS.log, I saw entries like the following:

2014-01-11 10:41:19, Info CSI 000004c7 [SR] Beginning Verify and Repair transaction
2014-01-11 10:41:23, Info CSI 000004c8 Hashes for file member \SystemRoot\WinSxS\amd64_prncacla.inf_31bf3856ad364e35_6.3.9600.16384_none_9590ba64d5b91f79\Amd64\CNBJ2530.DPB do not match actual file [l:36{18}]"Amd64\CNBJ2530.DPB" :
Found: {l:32 b:iFGN8kqBrULckYGGWwjgESo5hfk/GDgVttoobZ/7h/o=} Expected: {l:32 b:n520k714Uu3utHa5JGQ6HQYbZphKhlMWq5pEmfnCDuw=}
2014-01-11 10:41:23, Info CSI 000004c9 [SR] Cannot repair member file [l:36{18}]"Amd64\CNBJ2530.DPB" of prncacla.inf, Version = 6.3.9600.16384, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type = [l:24{12}]"driverUpdate", TypeName neutral, PublicKey neutral in the store, hash mismatch
2014-01-11 10:41:28, Info CSI 000004ca Hashes for file member \SystemRoot\WinSxS\amd64_prncacla.inf_31bf3856ad364e35_6.3.9600.16384_none_9590ba64d5b91f79\Amd64\CNBJ2530.DPB do not match actual file [l:36{18}]"Amd64\CNBJ2530.DPB" :
Found: {l:32 b:iFGN8kqBrULckYGGWwjgESo5hfk/GDgVttoobZ/7h/o=} Expected: {l:32 b:n520k714Uu3utHa5JGQ6HQYbZphKhlMWq5pEmfnCDuw=}
2014-01-11 10:41:28, Info CSI 000004cb [SR] Cannot repair member file [l:36{18}]"Amd64\CNBJ2530.DPB" of prncacla.inf, Version = 6.3.9600.16384, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type = [l:24{12}]"driverUpdate", TypeName neutral, PublicKey neutral in the store, hash mismatch
2014-01-11 10:41:28, Info CSI 000004cc [SR] This component was referenced by [l:186{93}]"Microsoft-Windows-Printer-Drivers-Package~31bf3856ad364e35~amd64~~6.3.9600.16384.INF_prncacla"

After some additional research, I found a very useful post on the newer Deployment Imaging and Servicing Management (DISM) tool. One of the benefits of this newer command, is that it can download updated files from Windows Update, rather than relying solely on an offline cache.

I then ran the following command to use DISM to check for corruption, as well as repair any issues it found:

DISM /Online /Cleanup-Image /RestoreHealth

After running the command, it says it found corruption, and repaired the issue. I returned to the CBS.log file and saw the following:

Checking System Update Readiness.

(p) CSI Payload Corrupt (Fixed) amd64_prncacla.inf_31bf3856ad364e35_6.3.9600.16384_none_9590ba64d5b91f79\Amd64\CNBJ2530.DPB

Summary:
Operation: Detect and Repair
Operation result: 0x0
Last Successful Step: Entire operation completes.
Total Detected Corruption: 1
CBS Manifest Corruption: 0
CBS Metadata Corruption: 0
CSI Manifest Corruption: 0
CSI Metadata Corruption: 0
CSI Payload Corruption: 1
Total Repaired Corruption: 1
CBS Manifest Repaired: 0
CSI Manifest Repaired: 0
CSI Payload Repaired: 1
CSI Store Metadata refreshed: True

Total Operation Time: 655 seconds.

I was also able to see where DISM had downloaded new files through Windows Update:

2014-01-11 11:08:14, Info CBS Appl: Evaluating package applicability for package KB2878971-printscan~31bf3856ad364e35~amd64~~6.3.9600.16384, applicable state: Installed
2014-01-11 11:08:14, Info CBS REPR: WU scans package KB2878971-printscan~31bf3856ad364e35~amd64~~6.3.9600.16384 that is required by CBS
2014-01-11 11:08:14, Info CBS DWLD: PopulateDownloadFileList is called, must be express package.
2014-01-11 11:08:14, Info CBS Repr: File list: Payload amd64_prncacla.inf_31bf3856ad364e35_6.3.9600.16384_none_9590ba64d5b91f79\Amd64\CNBJ2530.DPB requested
2014-01-11 11:08:14, Info CBS Exec: (Repair) Job has been saved for package: KB2878971-printscan~31bf3856ad364e35~amd64~~6.3.9600.16384.
2014-01-11 11:08:14, Info CBS Asynchronous Session: 30346991_3064396655 finalized. [HRESULT = 0x00000000 - S_OK]
2014-01-11 11:08:14, Info CBS Session: 30346991_3071347097 initialized by client WindowsUpdateAgent.
2014-01-11 11:08:19, Info CBS Session: 30346991_3113639432 initialized by client WindowsUpdateAgent.
2014-01-11 11:08:19, Info CBS DWLD: Bundled index = 0
2014-01-11 11:08:19, Info CBS DWLD: Windows update server URL: http://download.windowsupdate.com/d/msdownload/update/software/tool/2013/08/dummyrepairpackage_cd97f5d6cb54bf63a4e4adc376edadf6f2b8352c.cab
2014-01-11 11:08:19, Info CBS DWLD:Content is Full-Cab package.
2014-01-11 11:08:19, Info CBS DWLD: Windows update server URL: http://download.windowsupdate.com/d/msdownload/update/software/tool/2013/09/kb2878971-amd64-neutral-printscan_fab8de7db6bf7a153de2ad5aa3a88a56e540e076.cab
2014-01-11 11:08:19, Info CBS DWLD:Content is Express package.
2014-01-11 11:08:19, Info CBS DWLD: Windows update server URL: http://download.windowsupdate.com/d/msdownload/update/software/tool/2013/09/kb2878971-amd64-neutral-printscan_d8f2afcbf3c0790cd01d857c1ed0972a5138983c.psf
2014-01-11 11:08:19, Info CBS DWLD:Content is Express package.
2014-01-11 11:08:19, Info CBS Repr: Finished collecting payload.
2014-01-11 11:08:19, Info CBS Repr: Finished repairing CBS Store.

When running the SFC utility a second time, it verified that there were no issues – it was fixed!

Fixed

6 Comments

  1. I had the same exact issue with Hashes for file member \SystemRoot\WinSxS\amd64_prncacla… not matching after application of the Spring Update to Windows 8.1, and SFC not being able to correct the problem.

    Thank you for this post and for your suggestion to use DISM. It was painless and it worked perfectly.

    By the way you can use the command SFC /VERIFYONLY if you’d just like to check for corruption before choosing to initiate any repairs.

  2. Thanks, helped fix the damage.
    Z.Y. As for teams sfc / scannow and sfc / verifyonly, difference the only in the output information to the display. In the second case it is less detailed.

  3. Had same basic error, mine 6.3.9600.17031, current version, the single command took care of it. Many thanks! Keeping you on my list of places to check first for solutions!

Add a Comment