1

I am having a weird problem that I hope I am going to describe properly. It all happened when I decided to update my Windows 7 Home.

The problem is that, at reboot right after the Windows update, I receive the dreaded "missing or corrupted file". The file we are talking about is cng.sys.

I am a linux user, so the first thing I did was to open the NTFS partition and check if the file was there. It was not. Then I went through the Windows Recovery standard procedure.

  • Recovery Console, letting it fix the problem. It couldn't.
  • Recovery Console with command prompt, "sfc /scannow /offbootdir= /winbootdir=", but it told me that there was a pending update and it couldn't.
  • Renaming of the pending.xml in pending.bak and sfc again. It couldn't fix the files even if it could find problems.

At this point, I discovered the winsxs folder, with all the updates in it. I checked in pending.xml and saw that cng.sys was actually scheduled for deleting and replacing ( and tags). I tried to delete the pending.xml section where it was referencing cng.sys. It didn't work. I then went into the update folder to see if the new cng.sys was there.

Well...it looks like there are many folder with the same name and different creation date containing that file. The last (date-wise) contains cng.sys...but it is 0 Kb !!! This is actually not linked to the fact that the file in my Windows/System32/drivers is not there, but I decided to take a old cng.sys file from the old updates and copy it.

The result was the error 0xc0000020 AKA "The verification of a KnownDll failed....".

I think I have two ways to solve without reinstalling:

  1. Override the check for the KnownDll(s). Is it even what it does?
  2. Revert the update?

All of it has to be doable within Recovery Console. I think I have seen somewhere a command line call to some Windows utility for reverting the updates...but I can't find it anymore...

Thank you very much! Kap


UPDATE3: I am still trying to make it work...I have a running linux and this is not really urgent for now...here is the list of files I am missing (they are 0 byte)...do you guys have any clue on how I can get them?

./amd64_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.17940_none_044c26dd7386a58a/cng.sys ./amd64_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.22099_none_04a88ce28cc4eb33/cng.sys ./amd64_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.22099_none_04a88ce28cc4eb33/sspicli.dll ./amd64_microsoft-windows-ncrypt-dll_31bf3856ad364e35_6.1.7601.22099_none_bc3c57b22195c1a0/ncrypt.dll ./amd64_microsoft.vc90.mfc_1fc8b3b9a1e18e3b_9.0.30729.1_none_951ab4128654b0c9/mfcm90.dll ./amd64_microsoft.vc90.mfc_1fc8b3b9a1e18e3b_9.0.30729.1_none_951ab4128654b0c9/mfcm90u.dll ./Backup/amd64_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.17940_none_044c26dd7386a58a_cng.sys_050526ad ./Backup/wow64_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.17940_none_0ea0d12fa7e76785_sspicli.dll_bcec1809 ./x86_microsoft-windows-sechost.resources_31bf3856ad364e35_6.1.7600.16385_en-us_dcf8b806907609b7/sechost.dll.mui ./wow64_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.17940_none_0ea0d12fa7e76785/sspicli.dll

By the way, the linux command I ran is: find . -name '*' -type f -size 0 > log.txt

7
  • What update exactly is causing this problem?
    – Ramhound
    Commented Jan 20, 2013 at 15:55
  • It should be KB2574819. Commented Jan 20, 2013 at 15:59
  • 1
    Just for the sake of it, have you tried copying over a known good version of the file from some other system using a linux live CD?
    – Akash
    Commented Jan 20, 2013 at 15:59
  • I have copied a cng.sys file taken from one of these winsxs folders (the most recent one), but I got the "The verification..." error. I couldn't find a good version on the DVD, or at least I don't know which package I have to expand... Commented Jan 20, 2013 at 16:01
  • It turnes out that my dll was, I have copied another one and win is showing up, finally! The problem now is that no software is working. I have looked if there are other 0 byte files in C:\Windows and they are more or less ten... Commented Jan 23, 2013 at 1:16

1 Answer 1

1

Since this issue is presented at startup, you can try Startup Repair which repairs most startup issues.

To access this tool, restart your computer tapping on the F8 key until you reach the Advanced Startup Options menu. Select Repair Your Computer and then Startup Repair.

1
  • I had to try the Linux way because all the Windows "standard" means were of course failing. Commented Feb 9, 2013 at 4:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .