In my previous post, I showed you how to solve a Windows 10 Upgrade error 0x8007001F – 0x20006.
But just after overcoming this error, the Windows 10 upgrade process continues over phase 02. But the setup was stuck again at phase 4 when processing the OOBE (Out Of the Box Experience) and failed with the following message:
0xC1900101 – 0x4001E: The installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation.
If you don’t know it, the out of the box experience is the step when Cortana starts talking and ask you for your language preferences, Keyboard selection, Network connection…etc.
The Troubleshooting
First, let’s examine the error code 0xC1900101 – 0x4001E.
The error code is a combination of two parts; The “result” code and the “extended” code.
Part 1: The resulting code (0xC1900101)
The 0xC1900101 is the result code. 0xC1900101 is a generic code that indicates that a rollback has occurred. Knowing that a rollback has occurred is not a big deal since I know that already. So I need to interpret the extended code 0x4001E to understand what caused the rollback.
Part 2: The extended code (0x4001E)
The extended code contains information about both the phase in which the error occurred and the operation performed when the error occurred.
By examining the code, I can deduct that the error occurred in phase 4.
Phase 4, is when the system boots for the second time and performs the following tasks:
- Migrate user settings;
- Migrate user data;
- Start OOBE (Out Of the Box Experience);
The 1E code part indicates that the error occurred during the Pre-OOBE operation ( SP_EXECUTION_OP_PRE_OOBE ).
Knowing this information can help me to search for clues in the log files.
Here are the last lines of the setupact.log under C:\$WINDOWS.~BT\ Sources\Panther\ path;
2019-06-17 19:26:44, Info SP Operation (executed): Stop suspended services 2019-06-17 19:26:44, Info SP Operation (executed): OOBE boot apply 2019-06-17 19:26:44, Info SP Operation (executed): Refresh localized strings 2019-06-17 19:26:44, Info SP Operation (remaining): Execute provisioning migration 2019-06-17 19:26:44, Info SP Operation (remaining): Gather end install, scope: EVERYTHING 2019-06-17 19:26:44, Info SP AddSpace: add: 314572800, current: 314572800, peak: 314572800 2019-06-17 19:26:44, Info SP Operation (remaining): Start suspended services 2019-06-17 19:26:44, Info SP DISKSPACEQUERY: Final disk space needed estimate: 314572800 2019-06-17 19:26:44, Info SP Executing operation: Execute provisioning migration 2019-06-17 19:26:44, Info SP DISKSPACETRACK: Available : 246212075520 2019-06-17 19:26:44, Info SP DISKSPACETRACK: Needed total : 314572800 2019-06-17 19:26:44, Info SP DISKSPACETRACK: Needed for op: 0 2019-06-17 19:26:44, Info SP MEMORYTRACK: Total : 34234527744 2019-06-17 19:26:44, Info SP MEMORYTRACK: Load : 17 2019-06-17 19:26:44, Info SP MEMORYTRACK: Available for op: 31536902144 2019-06-17 19:26:45, FatalError [0x090001] PANTHR Exception (code 0xC0000005: ACCESS_VIOLATION) occurred at 0x00007FFFB4C75087 in C:\Windows\System32\provengine.dll (+0000000000005087). Minidump attached (107228 bytes) to diagerr.xml and C:\Windows\Panther\mndA758.diagerr.mdmp. 2019-06-17 19:26:45, Info SP SETUPPLATFORMCOMM: Progress message received: Phase: OOBE Boot, Operation: Unknown, Percentage: 47% 2019-06-17 19:26:45, Info SP WINDEPLOY error code is 0x80004005. Will not attempt uninstall 2019-06-17 19:26:45, Info CBS Trusted Installer signaled for shutdown, going to exit. 2019-06-17 19:26:45, Info CBS Trusted Installer is shutting down because: SHUTDOWN_REASON_NOTIFICATION:PRESHUTDOWN 2019-06-17 19:26:45, Info CBS TiWorker signaled for shutdown, going to exit. 2019-06-17 19:26:45, Info CBS CbsCoreFinalize: ExecutionEngineFinalize 2019-06-17 19:26:45, Info CBS Execution Engine Finalize 2019-06-17 19:26:45, Info CBS Execution Engine Finalize
I started reading the log file from the button up to the top, searching for keywords like error, fatal, failed…etc.
And in a short time, I found this line “FatalError [0x090001] PANTHR Exception (code 0xC0000005: ACCESS_VIOLATION) occurred at 0x00007FFFB4C75087 in C:\Windows\System32\provengine.dll…“
it seems that the setup program faced a memory access violation caused by running code loaded from the DLL provengine.dll and it generated a memory dump file.
I then tried to analyze the dump file in windbg, by issuing the command “!analyze -v”
STACK_TEXT: 0000009b4867a880 00007fff
b4c81dce : 0000023fbe519960 0000009b
4867a9b0 0000000000000001 0000023f
be519960 : provengine!TraceLoggingCorrelationVector::ToString+0x23 0000009b4867a8b0 00007fff
b4c8257d : 0000000000000000 0000009b
4867bc00 0000023fa48c5ec0 00000000
00000000 : provengine!CMVEngine::QueryPackageForState+0x37a 0000009b4867ad70 00007fff
b4c7f640 : 0000023fa48c5738 0000009b
4867bc00 0000023fa48c5740 00000000
00000000 : provengine!CMVEngine::HandleStatesInternal+0x45d 0000009b4867af00 00007fff
b4c80653 : 0000023fa42a86e0 00000000
00000000 0000000000000000 0000023f
be5248b0 : provengine!CMVEngine::HandleStatesForPackagesInternal+0x68c 0000009b4867b150 00007fff
b4dce540 : 0000023fbe5248a0 0000023f
be524200 0000023f00000006 0000009b
4867b340 : provengine!CMVEngine::HandleStates+0x4e3 0000009b4867b300 00007fff
b4e14db1 : 0000023fa043e618 0000023f
a043e618 0000023fa043e618 0000023f
a73322d8 : provops!ProvOperations::ApplyKnownPackages+0x7c0 0000009b4867b8a0 00007fff
b6072d2b : 0000023fb1bfa2f8 00007fff
b4e14b90 0000009b4867bc00 0000023f
a73322d8 : ProvMigrate!ProvMigration+0x221 0000009b4867b970 00007fff
b61f84b8 : 0000023fa043e618 0000023f
a73322d8 00130011000607e3 000100b0
002c001a : SetupPlatform_7fffb5f20000!CProvisioningMigration::DoExecute+0x24b 0000009b4867ba10 00007fff
b61ffb35 : 0000023fa043e618 fffffff7
0000000a 0000023fa73322d8 01d52542
98f81eee : SetupPlatform_7fffb5f20000!COperation::Execute+0x100 0000009b4867bb00 00007fff
b613d8d5 : 0000009b4867bd70 0000009b
4867bd80 0000023fa03ef4b8 0000023f
a7655e98 : SetupPlatform_7fffb5f20000!COperationQueue::ExecuteOperations+0x19c5 0000009b4867bd10 00007fff
b614415d : 0000023fa03d41d8 0000023f
a03d41d8 0000023fa03f6e88 0000023f
a0443c38 : SetupPlatform_7fffb5f20000!pExecutePostBootOperations+0x231 0000009b4867bde0 00007ff7
6ef931aa : 0000000000000001 00000000
00000003 0000000000000001 00000000
00000000 : SetupPlatform_7fffb5f20000!CSetupPlatformPrivate::Execute+0x43fd 0000009b4867c470 00007ff7
6ef98bf9 : 0000000000000001 00000000
00000001 0000000000000000 00000000
00000000 : SetupPlatform!wWinMain+0x1a1e 0000009b4867f6f0 00007fff
c1ec81f4 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : SetupPlatform!__wmainCRTStartup+0x1c9 0000009b4867f7b0 00007fff
c29ea251 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : kernel32!BaseThreadInitThunk+0x14 0000009b4867f7e0 00000000
00000000 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : ntdll!RtlUserThreadStart+0x21
The result didn’t guide me toward a clear clue. So I took the instruction at the top of the call stack (provengine!TraceLoggingCorrelationVector::ToString) and put it in google search engine.
Why the instruction on the top of the stack?
Because it was the instruction that caused the memory access violation.
So, with a bit of luck, someone else has gone through the same problem and found the fix.
And sure enough, I found an article, talking about the same error and delivering the solution to fix that problem.
The solution:
At a glance to solve the Windows 10 upgrade 0xC1900101 – 0x4001E error code, you have to:
- Rename the “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Provisioning ” registry key to “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Provisioning.old “
- Rename the C:\Windows\Provisiong folder to C:\Windows\Provisiong.old
- Restart your computer;
- Run the setup again.
You can read the step by step solution here.
Please leave a comment below and share this article on your preferred social media platform, so that other persons can benefit.
Pingback: How To Troubleshoot Windows 10 Installation Failed With Error 0x8007001f-0x20006 - ZineTek
Could not get provisioning to be renamed. It says that cannot rename Provisioning. Error while renaming key