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:
And just tried with an.ISO re-install of Windows, got the error 0xC1900101 – 0x40017 'installation failed during the SECONDBOOT phase due to an error during the BOOT operation.' I have plenty of disk space - and all my drivers are digitally signed correctly. Not sure what is causing this. May 08, 2020 Second boot phase (OOBE boot phase), where the system is running under the target OS with new drivers, and failures are due to antivirus software or filter drivers. At the second boot phase, the Welcome to Windows 10 screen is displayed, preferences configured, and Windows 10 sign-in prompt displayed. How to fix Error 0xC1900101 - 0x4001E: Installation failed in the SECONDBOOT phase with error during PREOOBE operation - Windows 10 upgrade. Error 0xC1900101 – 0x40017, The installation failed in the SECONDBOOT phase with an error during BOOT operation. Error 0xC1900101 – 0x40017, The installation failed in the SECONDBOOT phase This. Percent progress is displayed and will advance as you move through each phase, reaching 100% at the end of the second boot phase. Downlevel phase: The downlevel phase is run within the previous operating system. Windows files are copied and installation components are gathered.
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 SourcesPanther path;
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:WindowsSystem32provengine.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”
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_MACHINESOFTWAREMicrosoftProvisioning ” registry key to “HKEY_LOCAL_MACHINESOFTWAREMicrosoftProvisioning.old “
Rename the C:WindowsProvisiong folder to C:WindowsProvisiong.old
Restart your computer;
Run the setup again.
You can read the step by step solution here.
What next?
Installation Failed In The Second Boot Phase
Please leave a comment below and share this article on your preferred social media platform, so that other persons can benefit.
Please leave a comment and let me know if this fix worked for you.