COMPONENTS 96 MB, SOFTWARE 120 MB, SYSTEM 78 MB, DRIVERS 5 MB.
After writing and running another script to find (p) entries in CBS.log, verify the files are still missing and if so collect them from the repair server, and create an SFXFix.zip; then apply the fix; and then run DISM with /source pointing to '\\repairserver\c$\windows\winsxs' (which replaced two additional files):
DISM /analyzecomponentstore now shows no store corruption. DISM /restorehealth now completes. SFC /scannow fails at 40%. Windows Update was able to install the latest LCU and Defender update on its own but failed to install the latest SSU. There is now 45 GB free on the 127 GB OS partition.
CBS.log has no (p) or (f) errors. There are still some errors reporting CBS_E_NEW_SERVICINGSTACK_REQUIRED.
The failing server will still fail to boot with BSOD 0xc000021a unless I select disable driver signing. Sigverif reports 3 drivers are not signed (agilevpn.sys, intelppm.sys and ndiswan.sys) and no catalog is identified for these items. But
ComponentsScanner now only shows catalog error and some mismatched f! entries.
Since DISM completes, should the next step be to do a component store cleanup to, hopefully, get rid of any old entries that are no longer needed? Or will that cause further problems by creating orphaned files and registry entries?
What should my next step be?
After writing and running another script to find (p) entries in CBS.log, verify the files are still missing and if so collect them from the repair server, and create an SFXFix.zip; then apply the fix; and then run DISM with /source pointing to '\\repairserver\c$\windows\winsxs' (which replaced two additional files):
DISM /analyzecomponentstore now shows no store corruption. DISM /restorehealth now completes. SFC /scannow fails at 40%. Windows Update was able to install the latest LCU and Defender update on its own but failed to install the latest SSU. There is now 45 GB free on the 127 GB OS partition.
CBS.log has no (p) or (f) errors. There are still some errors reporting CBS_E_NEW_SERVICINGSTACK_REQUIRED.
The failing server will still fail to boot with BSOD 0xc000021a unless I select disable driver signing. Sigverif reports 3 drivers are not signed (agilevpn.sys, intelppm.sys and ndiswan.sys) and no catalog is identified for these items. But
Get-WmiObject -class win32_systemdriver | foreach-object { get-authenticodesignature $_.pathname }
reports several more that are not signed (amdk8.sys, amdppm.sys, bowser.sys, cdfs.sys, exfat.sys, intelppm.sys, mrxsmb10.sys, ndiswan.sys, peauth.sys, processr.sys, rdpdr.sys, srv.sys, srv2.sys, srvnet.sys, and tsusbhub.sys) or where the systemdriver objects with a null pathname (mpksldc46c7a6) or an invalid pathname that begins with '\??\C' (semav6msr64.sys, mpksldrv.sys). Running the same command on the repairserver VM shows none of these failures with file signatures. The drivers that begin with 'mp' seems to be windows defender related which hasn't been updated on the repairserver VM and that could explain those. But, it seems to me that the other signatures and associated missing catalogs could be part of the problem causing the system to BSOD unless I disable driver signing checks. I don't know how to source or resolve the signatures or catalogs.ComponentsScanner now only shows catalog error and some mismatched f! entries.
Since DISM completes, should the next step be to do a component store cleanup to, hopefully, get rid of any old entries that are no longer needed? Or will that cause further problems by creating orphaned files and registry entries?
What should my next step be?