Windows 21H1 update failed due to nvraid.inf – How I fixed it

When I tried updating to the latest Windows update which is 21H1, the installer kept failing.

First, the PC would BSOD with the error message PAGE_FAULT_IN_NONPAGED_AREA and then after that the update would rollback and say it could not be completed.

The error message? error 0x80070003 “File not found”

Ok, that does not help at all.

My first task was to find what file was actually not found.

I began digging and found that update logs are kept in this location: C:\Windows\INF\

In the logs, I found this particular area of interest:

>>> [Install Driver Updates]
>>> Section start 2021/06/22 17:41:23.594 cmd: C:\Windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.19041.1022_none_7e372e9e7c6ecccb\TiWorker.exe -Embedding
sto: Image State = Specialized
sto: Image Architecture = amd64
sto: Image OS Version = 10.0.19043 sto: Image Product Type = WinNT
sto: Transaction = CbsDriversAndPrimitives
sto: Driver Updates = 648 ! inf: Unable to load INF: 'C:\Windows\System32\DriverStore\FileRepository\nvraid.inf_amd64_144351277838b429\nvraid.inf'(00000003) ! inf: Error 3: The system cannot find the path specified. !!!
inf: Invalid INF 'C:\Windows\System32\DriverStore\FileRepository\nvraid.inf_amd64_144351277838b429\nvraid.inf', parsing error on line 0. Code = 1002 !!!
sto: Failed to get version info for driver update 'C:\Windows\System32\DriverStore\FileRepository\nvraid.inf_amd64_144351277838b429\nvraid.inf'. Error = 0x00000003
<<< Section end 2021/06/22 17:41:24.290
<<< [Exit status: FAILURE(0x00000003)]

Bingo – I found the culprit. The file nvraid.inf could not be found.

I did some more digging and apparently this is an older file that my system shouldn’t even be using.

Here’s how got the file and finally was able to update.

First, I created a folder called nvraid.inf_amd64_144351277838b429 at location C:\Windows\System32\DriverStore\FileRepository

  • Note that this required me to become admin over the FileRepository folder since its usually protected

Next, I looked if I had this nvraid.inf file anywhere on my PC.

I was in luck! The file did exist in this location C:\Windows\WinSxS\amd64_dual_nvraid.inf_31bf3856ad364e35_10.0.19041.1_none_b22684d66e0db865

From that location I copied nvraid.inf back to the folder had created in FileReposetory.

I ran the update again and voila, it completed.