Resolve Windows 10 upgrade errors : Technical information for IT Pros

Applies to

  • Windows 10

Important: This topic contains technical instructions for IT administrators. If you are not an IT administrator, see the following topic: Get help with Windows 10 upgrade and installation errors. You can also Submit Windows 10 upgrade errors using Feedback Hub.

In this topic

This topic contains a brief introduction to Windows 10 installation processes, and provides resolution procedures that IT administrators can use to resolve issues with Windows 10 upgrade. The following sections and procedures are provided in this guide:

Troubleshooting upgrade errors

If a Windows 10 upgrade is not successful, it can be very helpful to understand when an error occurred in the upgrade process.

Briefly, the upgrade process consists of four phases: Downlevel, SafeOS, First boot, and Second boot. The computer will reboot once between each phase.

These phases are explained in greater detail below. First, let's summarize the actions performed during each phase because this affects the type of errors that can be encountered.

  1. Downlevel phase: Because this phase runs on the source OS, upgrade errors are not typically seen. If you do encounter an error, ensure the source OS is stable. Also ensure the Windows setup source and the destination drive are accessible.

  2. SafeOS phase: Errors most commonly occur during this phase due to hardware issues, firmware issues, or non-microsoft disk encryption software.

    Since the computer is booted into Windows PE during the SafeOS phase, a useful troubleshooting technique is to boot into Windows PE using installation media. You can use the media creation tool to create bootable media, or you can use tools such as the Windows ADK, and then boot your device from this media to test for hardware and firmware compatibility issues.

    Do not proceed with the Windows 10 installation after booting from this media. This method can only be used to perform a clean install which will not migrate any of your apps and settings, and you will be required re-enter your Windows 10 license information.

    If the computer does not successfully boot into Windows PE using the media that you created, this is likely due to a hardware or firmware issue. Check with your hardware manufacturer and apply any recommended BIOS and firmware updates. If you are still unable to boot to installation media after applying updates, disconnect or replace legacy hardware.

    If the computer successfully boots into Windows PE, but you are not able to browse the system drive on the computer, it is possible that non-Microsoft disk encryption software is blocking your ability to perform a Windows 10 upgrade. Update or temporarily remove the disk encryption.

  3. First boot phase: Boot failures in this phase are relatively rare, and almost exclusively caused by device drivers. Disconnect all peripheral devices except for the mouse, keyboard, and display. Obtain and install updated device drivers, then retry the upgrade.

  4. Second boot phase: In this phase, the system is running under the target OS with new drivers. Boot failures are most commonly due to anti-virus software or filter drivers. Disconnect all peripheral devices except for the mouse, keyboard, and display. Obtain and install updated device drivers, temporarily uninstall anti-virus software, then retry the upgrade.

If the general troubleshooting techniques described above or the quick fixes detailed below do not resolve your issue, you can attempt to analyze log files and interpret upgrade error codes. You can also Submit Windows 10 upgrade errors using Feedback Hub so that Microsoft can diagnose your issue.

The Windows 10 upgrade process

The Windows Setup application is used to upgrade a computer to Windows 10, or to perform a clean installation. Windows Setup starts and restarts the computer, gathers information, copies files, and creates or adjusts configuration settings.

When performing an operating system upgrade, Windows Setup uses phases described below. A reboot occurs between each of the phases. After the first reboot, the user interface will remain the same until the upgrade is completed. Percent progress is displayed and will advance as you move through each phase, reaching 100% at the end of the second boot phase.

  1. Downlevel phase: The downlevel phase is run within the previous operating system. Windows files are copied and installation components are gathered.

    downlevel phase

  2. Safe OS phase: A recovery partition is configured, Windows files are expanded, and updates are installed. An OS rollback is prepared if needed. Example error codes: 0x2000C, 0x20017.

    safeOS phase

  3. First boot phase: Initial settings are applied. Example error codes: 0x30018, 0x3000D.

    first boot phase

  4. Second boot phase: Final settings are applied. This is also called the OOBE boot phase. Example error codes: 0x4000D, 0x40017.

    At the end of the second boot phase, the Welcome to Windows 10 screen is displayed, preferences are configured, and the Windows 10 sign-in prompt is displayed.

    second boot phase

    second boot phase

    second boot phase

  5. Uninstall phase: This phase occurs if upgrade is unsuccessful (image not shown). Example error codes: 0x50000, 0x50015.

Figure 1: Phases of a successful Windows 10 upgrade (uninstall is not shown):

Upgrade process

DU = Driver/device updates.
OOBE = Out of box experience.
WIM = Windows image (Microsoft)

Quick fixes

The following steps can resolve many Windows upgrade problems.

  1. Remove nonessential external hardware, such as docks and USB devices.
  2. Check all hard drives for errors and attempt repairs. To automatically repair hard drives, open an elevated command prompt, switch to the drive you wish to repair, and type the following command. You will be required to reboot the computer if the hard drive being repaired is also the system drive.
    • chkdsk /F
  3. Attempt to restore and repair system files by typing the following commands at an elevated command prompt. It may take several minutes for the command operations to be completed. For more information, see Repair a Windows Image.
    • DISM.exe /Online /Cleanup-image /Restorehealth
    • sfc /scannow
  4. Update Windows so that all available recommended updates are installed, and ensure the computer is rebooted if this is necessary to complete installation of an update.
  5. Uninstall non-Microsoft antivirus software.
    • Use Windows Defender for protection during the upgrade.
    • Verify compatibility information and re-install antivirus applications after the upgrade.
  6. Uninstall all nonessential software.
  7. Update firmware and drivers.
  8. Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
  9. Verify at least 16 GB of free space is available to upgrade a 32-bit OS, or 20 GB for a 64-bit OS.

Upgrade error codes

If the upgrade process is not successful, Windows Setup will return two codes:

  1. A result code: The result code corresponds to a specific Win32 or NTSTATUS error.
  2. An extend code: The extend code contains information about both the phase in which an error occurred, and the operation that was being performed when the error occurred.

For example, a result code of 0xC1900101 with an extend code of 0x4000D will be returned as: 0xC1900101 - 0x4000D.

Note: If only a result code is returned, this can be because a tool is being used that was not able to capture the extend code. For example, if you are using the Windows 10 Upgrade Assistant then only a result code might be returned.

Tip

If you are unable to locate the result and extend error codes, you can attempt to find these codes using Event Viewer. For more information, see Windows Error Reporting.

Result codes

A result code of 0xC1900101 is generic and indicates that a rollback occurred. In most cases, the cause is a driver compatibility issue.
To troubleshoot a failed upgrade that has returned a result code of 0xC1900101, analyze the extend code to determine the Windows Setup phase, and see the Resolution procedures section later in this topic.

Result codes can be matched to the type of error encountered. To match a result code to an error:

  1. Identify the error code type as either Win32 or NTSTATUS using the first hexadecimal digit:
    8 = Win32 error code (ex: 0x80070070)
    C = NTSTATUS value (ex: 0xC1900107)
  2. Write down the last 4 digits of the error code (ex: 0x80070070 = 0070). These digits are the actual error code type as defined in the HRESULT or the NTSTATUS structure. Other digits in the code identify things such as the device type that produced the error.
  3. Based on the type of error code determined in the first step (Win32 or NTSTATUS), match the 4 digits derived from the second step to either a Win32 error code or NTSTATUS value using the following links:

Examples:

  • 0x80070070
    • Based on the "8" this is a Win32 error code
    • The last four digits are 0070, so look up 0x00000070 in the Win32 error code table
    • The error is: ERROR_DISK_FULL
  • 0xC1900107
    • Based on the "C" this is an NTSTATUS error code
    • The last four digits are 0107, so look up 0x00000107 in the NTSTATUS value table
    • The error is: STATUS_SOME_NOT_MAPPED

Some result codes are self-explanatory, whereas others are more generic and require further analysis. In the examples shown above, ERROR_DISK_FULL indicates that the hard drive is full and additional room is needed to complete Windows upgrade. The message STATUS_SOME_NOT_MAPPED is more ambiguous, and means that an action is pending. In this case, the action pending is often the cleanup operation from a previous installation attempt, which can be resolved with a system reboot.

Extend codes

Important: Extend codes reflect the current Windows 10 upgrade process, and might change in future releases of Windows 10. The codes discussed in this section apply to Windows 10 version 1607, also known as the Anniversary Update.

Extend codes can be matched to the phase and operation when an error occurred. To match an extend code to the phase and operation:

  1. Use the first digit to identify the phase (ex: 0x4000D = 4).
  2. Use the last two digits to identify the operation (ex: 0x4000D = 0D).
  3. Match the phase and operation to values in the tables provided below.

The following tables provide the corresponding phase and operation for values of an extend code:


Extend code: phase
HexPhase
0SP_EXECUTION_UNKNOWN
1SP_EXECUTION_DOWNLEVEL
2SP_EXECUTION_SAFE_OS
3SP_EXECUTION_FIRST_BOOT
4SP_EXECUTION_OOBE_BOOT
5SP_EXECUTION_UNINSTALL
Extend code: operation
HexOperation
0SP_EXECUTION_OP_UNKNOWN
1SP_EXECUTION_OP_COPY_PAYLOAD
2SP_EXECUTION_OP_DOWNLOAD_UPDATES
3SP_EXECUTION_OP_INSTALL_UPDATES
4SP_EXECUTION_OP_INSTALL_RECOVERY_ENVIRONMENT
5SP_EXECUTION_OP_INSTALL_RECOVERY_IMAGE
6SP_EXECUTION_OP_REPLICATE_OC
7SP_EXECUTION_OP_INSTALL_DRVIERS
8SP_EXECUTION_OP_PREPARE_SAFE_OS
9SP_EXECUTION_OP_PREPARE_ROLLBACK
ASP_EXECUTION_OP_PREPARE_FIRST_BOOT
BSP_EXECUTION_OP_PREPARE_OOBE_BOOT
CSP_EXECUTION_OP_APPLY_IMAGE
DSP_EXECUTION_OP_MIGRATE_DATA
ESP_EXECUTION_OP_SET_PRODUCT_KEY
FSP_EXECUTION_OP_ADD_UNATTEND
HexOperation
10SP_EXECUTION_OP_ADD_DRIVER
11SP_EXECUTION_OP_ENABLE_FEATURE
12SP_EXECUTION_OP_DISABLE_FEATURE
13SP_EXECUTION_OP_REGISTER_ASYNC_PROCESS
14SP_EXECUTION_OP_REGISTER_SYNC_PROCESS
15SP_EXECUTION_OP_CREATE_FILE
16SP_EXECUTION_OP_CREATE_REGISTRY
17SP_EXECUTION_OP_BOOT
18SP_EXECUTION_OP_SYSPREP
19SP_EXECUTION_OP_OOBE
1ASP_EXECUTION_OP_BEGIN_FIRST_BOOT
1BSP_EXECUTION_OP_END_FIRST_BOOT
1CSP_EXECUTION_OP_BEGIN_OOBE_BOOT
1DSP_EXECUTION_OP_END_OOBE_BOOT
1ESP_EXECUTION_OP_PRE_OOBE
1FSP_EXECUTION_OP_POST_OOBE
20SP_EXECUTION_OP_ADD_PROVISIONING_PACKAGE

For example: An extend code of 0x4000D, represents a problem during phase 4 (0x4) with data migration (000D).

Windows Error Reporting

When Windows Setup fails, the result and extend code are recorded as an informational event in the Application log by Windows Error Reporting as event 1001. The event name is WinSetupDiag02. You can use Event Viewer to review this event, or you can use Windows PowerShell.

To use Windows PowerShell, type the following commands from an elevated Windows PowerShell prompt:

$events = Get-WinEvent -FilterHashtable @{LogName="Application";ID="1001";Data="WinSetupDiag02"}
$event = [xml]$events[0].ToXml()
$event.Event.EventData.Data

To use Event Viewer:

  1. Open Event Viewer and navigate to Windows Logs\Application.
  2. Click Find, and then search for winsetupdiag02.
  3. Double-click the event that is highlighted.

Note: For legacy operating systems, the Event Name was WinSetupDiag01.

Ten parameters are listed in the event:

P1: The Setup Scenario (1=Media,5=WindowsUpdate,7=Media Creation Tool)
P2: Setup Mode (x=default,1=Downlevel,5=Rollback)
P3: New OS Architecture (x=default,0=X86,9=AMD64)
P4: Install Result (x=default,0=Success,1=Failure,2=Cancel,3=Blocked)
P5: Result Error Code (Ex: 0xc1900101)
P6: Extend Error Code (Ex: 0x20017)
P7: Source OS build (Ex: 9600)
P8: Source OS branch (not typically available)
P9: New OS build (Ex: 16299}
P10: New OS branch (Ex: rs3_release}

The event will also contain links to log files that can be used to perform a detailed diagnosis of the error. An example of this event from a successful upgrade is shown below.

Windows Error Reporting

Log files

Several log files are created during each phase of the upgrade process. These log files are essential for troubleshooting upgrade problems. By default, the folders that contain these log files are hidden on the upgrade target computer. To view the log files, configure Windows Explorer to view hidden items, or use a tool to automatically gather these logs. The most useful log is setupact.log. The log files are located in a different folder depending on the Windows Setup phase. Recall that you can determine the phase from the extend code.

Note: Also see the Windows Error Reporting section in this document for help locating error codes and log files.

The following table describes some log files and how to use them for troubleshooting purposes:


Log filePhase: LocationDescriptionWhen to use
setupact.logDown-Level:
$Windows.~BT\Sources\Panther
Contains information about setup actions during the downlevel phase. All down-level failures and starting point for rollback investigations.
This is the most important log for diagnosing setup issues.
OOBE:
$Windows.~BT\Sources\Panther\UnattendGC
Contains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F.
Rollback:
$Windows.~BT\Sources\Rollback
Contains information about actions during rollback.Investigating generic rollbacks - 0xC1900101.
Pre-initialization (prior to downlevel):
Windows
Contains information about initializing setup.If setup fails to launch.
Post-upgrade (after OOBE):
Windows\Panther
Contains information about setup actions during the installation.Investigate post-upgrade related issues.
setuperr.logSame as setupact.logContains information about setup errors during the installation.Review all errors encountered during the installation phase.
miglog.xmlPost-upgrade (after OOBE):
Windows\Panther
Contains information about what was migrated during the installation.Identify post upgrade data migration issues.
BlueBox.logDown-Level:
Windows\Logs\Mosetup
Contains information communication between setup.exe and Windows Update.Use during WSUS and WU down-level failures or for 0xC1900107.
Supplemental rollback logs:
Setupmem.dmp
setupapi.dev.log
Event logs (*.evtx)
$Windows.~BT\Sources\RollbackAdditional logs collected during rollback. Setupmem.dmp: If OS bugchecks during upgrade, setup will attempt to extract a mini-dump.
Setupapi: Device install issues - 0x30018
Event logs: Generic rollbacks (0xC1900101) or unexpected reboots.

Log entry structure

A setupact.log or setuperr.log entry includes the following elements:

  1. The date and time - 2016-09-08 09:20:05.
  2. The log level - Info, Warning, Error, Fatal Error.
  3. The logging component - CONX, MOUPG, PANTHR, SP, IBSLIB, MIG, DISM, CSI, CBS.
    • The logging components SP (setup platform), MIG (migration engine), and CONX (compatibility information) are particularly useful for troubleshooting Windows Setup errors.
  4. The message - Operation completed successfully.

See the following example:

Date/Time Log level Component Message
2016-09-08 09:23:50, Warning MIG Could not replace object C:\Users\name\Cookies. Target Object cannot be removed.

Analyze log files

The following instructions are meant for IT professionals. Also see the Upgrade error codes section in this guide to familiarize yourself with result codes and extend codes.


To analyze Windows Setup log files:

  1. Determine the Windows Setup error code. This code should be returned by Windows Setup if it is not successful with the upgrade process.
  2. Based on the extend code portion of the error code, determine the type and location of a log files to investigate.
  3. Open the log file in a text editor, such as notepad.
  4. Using the result code portion of the Windows Setup error code, search for the result code in the file and find the last occurrence of the code. Alternatively search for the "abort" and abandoning" text strings described in step 7 below.
  5. To find the last occurrence of the result code:
    1. Scroll to the bottom of the file and click after the last character.
    2. Click Edit.
    3. Click Find.
    4. Type the result code.
    5. Under Direction select Up.
    6. Click Find Next.
  6. When you have located the last occurrence of the result code, scroll up a few lines from this location in the file and review the processes that failed just prior to generating the result code.
  7. Search for the following important text strings:
    • Shell application requested abort
    • Abandoning apply due to error for object
  8. Decode Win32 errors that appear in this section.
  9. Write down the timestamp for the observed errors in this section.
  10. Search other log files for additional information matching these timestamps or errors.

For example, assume that the error code for an error is 0x8007042B - 0x2000D. Searching for "8007042B" reveals the following content from the setuperr.log file:

Some lines in the text below are shortened to enhance readability. The date and time at the start of each line (ex: 2016-10-05 15:27:08) is shortened to minutes and seconds, and the certificate file name which is a long text string is shortened to just "CN."


setuperr.log content:

27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
27:08, Error                  Gather failed. Last error: 0x00000000
27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
27:09, Error           SP     CMigrateFramework: Gather framework failed. Status: 44
27:09, Error           SP     Operation failed: Migrate framework (Full). Error: 0x8007042B[gle=0x000000b7]
27:09, Error           SP     Operation execution failed: 13. hr = 0x8007042B[gle=0x000000b7]
27:09, Error           SP     CSetupPlatformPrivate::Execute: Execution of operations queue failed, abandoning. Error: 0x8007042B[gle=0x000000b7]

The first line indicates there was an error 0x00000570 with the file C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN] (shown below):

27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]

The error 0x00000570 is a Win32 error code corresponding to: ERROR_FILE_CORRUPT: The file or directory is corrupted and unreadable.

Therefore, Windows Setup failed because it was not able to migrate the corrupt file C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18[CN]. This file is a local system certificate and can be safely deleted. Searching the setupact.log file for additional details, the phrase "Shell application requested abort" is found in a location with the same timestamp as the lines in setuperr.log. This confirms our suspicion that this file is the cause of the upgrade failure:


setupact.log content:

27:00, Info                   Gather started at 10/5/2016 23:27:00
27:00, Info [0x080489] MIG    Setting system object filter context (System)
27:00, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
27:00, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
27:00, Info            SP     ExecuteProgress: Elapsed events:1 of 4, Percent: 12
27:00, Info [0x0802c6] MIG    Processing GATHER for migration unit: \UpgradeFramework (CMXEAgent)
27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
27:08, Info            SP     ExecuteProgress: Elapsed events:2 of 4, Percent: 25
27:08, Info            SP     ExecuteProgress: Elapsed events:3 of 4, Percent: 37
27:08, Info [0x080489] MIG    Setting system object filter context (System)
27:08, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
27:08, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
27:08, Info            MIG    COutOfProcPluginFactory::FreeSurrogateHost: Shutdown in progress.
27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost::CommandLine: -shortened-
27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost: Successfully launched host and got control object.
27:08, Error                  Gather failed. Last error: 0x00000000
27:08, Info                   Gather ended at 10/5/2016 23:27:08 with result 44
27:08, Info                   Leaving MigGather method
27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C


This analysis indicates that the Windows upgrade error can be resolved by deleting the C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18[CN] file. Note: In this example, the full, unshortened file name is C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f.

Resolution procedures

0xC1900101

A frequently observed result code is 0xC1900101. This result code can be thrown at any stage of the upgrade process, with the exception of the downlevel phase. 0xC1900101 is a generic rollback code, and usually indicates that an incompatible driver is present. The incompatible driver can cause blue screens, system hangs, and unexpected reboots. Analysis of supplemental log files is often helpful, such as:

  • The minidump file: $Windows.~bt\Sources\Rollback\setupmem.dmp,
  • Event logs: $Windows.~bt\Sources\Rollback*.evtx
  • The device install log: $Windows.~bt\Sources\Rollback\setupapi\setupapi.dev.log

The device install log is particularly helpful if rollback occurs during the sysprep operation (extend code 0x30018). To resolve a rollback due to driver conflicts, try running setup using a minimal set of drivers and startup programs by performing a clean boot before initiating the upgrade process.


See the following general troubleshooting procedures associated with a result code of 0xC1900101:

Code
0xC1900101 - 0x20004


Cause
Windows Setup encountered an error during the SAFE_OS with the INSTALL_RECOVERY_ENVIRONMENT operation
This is generally caused by out-of-date drivers.

Mitigation
Uninstall antivirus applications.
Remove all unused SATA devices.
Remove all unused devices and drivers.
Update drivers and BIOS.
Code
0xC1900101 - 0x2000c

Cause
Windows Setup encountered an unspecified error during Wim apply in the WinPE phase.
This is generally caused by out-of-date drivers.
Mitigation
Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display.
Contact your hardware vendor to obtain updated device drivers.
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
Code
0xC1900101 - 0x20017

Cause
A driver has caused an illegal operation.
Windows was not able to migrate the driver, resulting in a rollback of the operating system.
This is a SafeOS boot failure, typically caused by drivers or non-Microsoft disk encryption software.
Mitigation
Ensure that all that drivers are updated.
Open the Setuperr.log and Setupact.log files in the %windir%\Panther directory, and then locate the problem drivers.
For more information, see Understanding Failures and Log Files.
Update or uninstall the problem drivers.
Code
0xC1900101 - 0x30018

Cause
A device driver has stopped responding to setup.exe during the upgrade process.
Mitigation
Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display.
Contact your hardware vendor to obtain updated device drivers.
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
Code
0xC1900101 - 0x3000D

Cause
Installation failed during the FIRST_BOOT phase while attempting the MIGRATE_DATA operation.
This can occur due to a problem with a display driver.
Mitigation
Disconnect all peripheral devices that are connected to the system, except for the mouse, keyboard and display.
Update or uninstall the display driver.
Code
0xC1900101 - 0x4000D

Cause
A rollback occurred due to a driver configuration issue.
Installation failed during the second boot phase while attempting the MIGRATE_DATA operation.

This can occur due to incompatible drivers.
Mitigation

Check supplemental rollback logs for a setupmem.dmp file, or event logs for any unexpected reboots or errors.
Review the rollback log and determine the stop code.
The rollback log is located in the C:$Windows.~BT\Sources\Panther folder. An example analysis is shown below. This example is not representative of all cases:
Info SP Crash 0x0000007E detected
Info SP Module name :
Info SP Bugcheck parameter 1 : 0xFFFFFFFFC0000005
Info SP Bugcheck parameter 2 : 0xFFFFF8015BC0036A
Info SP Bugcheck parameter 3 : 0xFFFFD000E5D23728
Info SP Bugcheck parameter 4 : 0xFFFFD000E5D22F40
Info SP Cannot recover the system.
Info SP Rollback: Showing splash window with restoring text: Restoring your previous version of Windows.
Typically, there is a dump file for the crash to analyze. If you are not equipped to debug the dump, then attempt the following basic troubleshooting procedures:
1. Make sure you have enough disk space.
2. If a driver is identified in the bug check message, disable the driver or check with the manufacturer for driver updates.
3. Try changing video adapters.
4. Check with your hardware vendor for any BIOS updates.
5. Disable BIOS memory options such as caching or shadowing.

Code
0xC1900101 - 0x40017

Cause
Windows 10 upgrade failed after the second reboot.
This is usually caused by a faulty driver. For example: antivirus filter drivers or encryption drivers.
Mitigation
Clean boot into Windows, and then attempt the upgrade to Windows 10.
For more information, see How to perform a clean boot in Windows.

Ensure you select the option to "Download and install updates (recommended)."

0x800xxxxx


Result codes starting with the digits 0x800 are also important to understand. These error codes indicate general operating system errors, and are not unique to the Windows upgrade process. Examples include timeouts, devices not functioning, and a process stopping unexpectedly.
See the following general troubleshooting procedures associated with a result code of 0x800xxxxx:
Code
80040005 - 0x20007

Cause
An unspecified error occurred with a driver during the SafeOS phase.
Mitigation
This error has more than one possible cause. Attempt quick fixes, and if not successful, analyze log files in order to determine the problem and solution.
Code
800704B8 - 0x3001A

Cause
An extended error has occurred during the first boot phase.
Mitigation
Disable or uninstall non-Microsoft antivirus applications, disconnect all unnecessary devices, and perform a clean boot.
Code
8007042B - 0x4000D

Cause
The installation failed during the second boot phase while attempting the MIGRATE_DATA operation.
This issue can occur due to file system, application, or driver issues.
Mitigation
Analyze log files in order to determine the file, application, or driver that is not able to be migrated. Disconnect, update, remove, or replace the device or object.
Code
8007001F - 0x3000D

Cause
The installation failed in the FIRST_BOOT phase with an error during MIGRATE_DATA operation.
Mitigation
Analyze log files in order to determine the files or registry entries that are blocking data migration. This error can be due to a problem with user profiles. It can occur due to corrupt registry entries under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList or invalid files in the \Users directory. Note: If a previous upgrade did not complete, invalid profiles might exist in the Windows.old\Users directory. To repair this error, ensure that deleted accounts are not still present in the Windows registry and that files under the \Users directory are valid. Delete the invalid files or user profiles that are causing this error. The specific files and profiles that are causing the error will be recorded in the Windows setup log files.
Code
8007001F - 0x4000D

Cause
General failure, a device attached to the system is not functioning.
Mitigation
Analyze log files in order to determine the device that is not functioning properly. Disconnect, update, or replace the device.
Code
8007042B - 0x4001E

Cause
The installation failed during the second boot phase while attempting the PRE_OOBE operation.
Mitigation
This error has more than one possible cause. Attempt quick fixes, and if not successful, analyze log files in order to determine the problem and solution.

Other result codes

Error code Cause Mitigation
0xC1800118 WSUS has downloaded content that it cannot use due to a missing decryption key. See Steps to resolve error 0xC1800118 for information.
0xC1900200 Setup.exe has detected that the machine does not meet the minimum system requirements. Ensure the system you are trying to upgrade meets the minimum system requirements.
See Windows 10 specifications for information.
0x80090011 A device driver error occurred during user data migration. Contact your hardware vendor and get all the device drivers updated. It is recommended to have an active internet connection during upgrade process.
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
0xC7700112 Failure to complete writing data to the system drive, possibly due to write access failure on the hard disk. This issue is resolved in the latest version of Upgrade Assistant.
Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
0x80190001 An unexpected error was encountered while attempting to download files required for upgrade. To resolve this issue, download and run the media creation tool. See Download windows 10.
0x80246007 The update was not downloaded successfully. Attempt other methods of upgrading the operating system.
Download and run the media creation tool. See Download windows 10.
Attempt to upgrade using .ISO or USB.
Note: Windows 10 Enterprise isn’t available in the media creation tool. For more information, go to the Volume Licensing Service Center.
0xC1900201 The system did not pass the minimum requirements to install the update. Contact the hardware vendor to get the latest updates.
0x80240017 The upgrade is unavailable for this edition of Windows. Administrative policies enforced by your organization might be preventing the upgrade. Contact your IT administrator.
0x80070020 The existing process cannot access the file because it is being used by another process. Use the MSCONFIG tool to perform a clean boot on the machine and then try to perform the update again. For more information, see How to perform a clean boot in Windows.
0x80070522 The user doesn’t have required privilege or credentials to upgrade. Ensure that you have signed in as a local administrator or have local administrator privileges.
0xC1900107 A cleanup operation from a previous installation attempt is still pending and a system reboot is required in order to continue the upgrade. Reboot the device and run setup again. If restarting device does not resolve the issue, then use the Disk Cleanup utility and cleanup the temporary as well as the System files. For more information, see Disk cleanup in Windows 10.
0xC1900209 The user has chosen to cancel because the system does not pass the compatibility scan to install the update. Setup.exe will report this error when it can upgrade the machine with user data but cannot migrate installed applications. Incompatible software is blocking the upgrade process. Uninstall the application and try the upgrade again. See Windows 10 Pre-Upgrade Validation using SETUP.EXE for more information.
You can also download the Windows Assessment and Deployment Kit (ADK) for Windows 10 and install Application Compatibility Tools.
0x8007002 This error is specific to upgrades using System Center Configuration Manager 2012 R2 SP1 CU3 (5.00.8238.1403) Analyze the SMSTS.log and verify that the upgrade is failing on "Apply Operating system" Phase: Error 80072efe DownloadFileWithRanges() failed. 80072efe. ApplyOperatingSystem (0x0760)
The error 80072efe means that the connection with the server was terminated abnormally.
To resolve this issue, try the OS Deployment test on a client in same VLAN as the Configuration Manager server. Check the network configuration for random client-server connection issues happening on the remote VLAN.
0x80240FFF Occurs when update synchronization fails. It can occur when you are using Windows Server Update Services on its own or when it is integrated with System Center Configuration Manager. If you enable update synchronization before you install hotfix 3095113, WSUS doesn't recognize the Upgrades classification and instead treats the upgrade like a regular update. You can prevent this by installing hotfix 3095113 before you enable update synchronization. However, if you have already run into this problem, do the following:
  1. Disable the Upgrades classification.
  2. Install hotfix 3095113.
  3. Delete previously synched updates.
  4. Enable the Upgrades classification.
  5. Perform a full synch.

For detailed information on how to run these steps check out How to delete upgrades in WSUS.

0x8007007E Occurs when update synchronization fails because you do not have hotfix 3095113 installed before you enable update synchronization. Specifically, the CopyToCache operation fails on clients that have already downloaded the upgrade because Windows Server Update Services has bad metadata related to the upgrade. It can occur when you are using standalone Windows Server Update Services or when WSUS is integrated with System Center Configuration Manager. Use the following steps to repair Windows Server Update Services. You must run these steps on each WSUS server that synched metadata before you installed the hotfix.
  1. Stop the Windows Update service. Sign in as a user with administrative privileges, and then do the following:
    1. Open Administrative Tools from the Control Panel.
    2. Double-click Services.
    3. Find the Windows Update service, right-click it, and then click Stop. If prompted, enter your credentials.
  2. Delete all files and folders under c:\Windows\SoftwareDistribution\DataStore.
  3. Restart the Windows Update service.

Other error codes

Error CodesCauseMitigation
0x80070003- 0x20007 This is a failure during SafeOS phase driver installation. Verify device drivers on the computer, and analyze log files to determine the problem driver.
0x8007025D - 0x2000C This error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. Alternatively, re-create installation media the Media Creation Tool.
0x80070490 - 0x20007An incompatible device driver is present. Verify device drivers on the computer, and analyze log files to determine the problem driver.
0xC1900101 - 0x2000c An unspecified error occurred in the SafeOS phase during WIM apply. This can be caused by an outdated driver or disk corruption. Run checkdisk to repair the file system. For more information, see the quick fixes section in this guide.
Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.
0xC1900200 - 0x20008 The computer doesn’t meet the minimum requirements to download or upgrade to Windows 10. See Windows 10 Specifications and verify the computer meets minimum requirements.
Review logs for compatibility information.
0x80070004 - 0x3000D This is a problem with data migration during the first boot phase. There are multiple possible causes. Analyze log files to determine the issue.
0xC1900101 - 0x4001E Installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation. This is a generic error that occurs during the OOBE phase of setup. See the 0xC1900101 section of this guide and review general troubleshooting procedures described in that section.
0x80070005 - 0x4000D The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This error indicates that access was denied while attempting to migrate data. Analyze log files to determine the data point that is reporting access denied.
0x80070004 - 0x50012 Windows Setup failed to open a file. Analyze log files to determine the data point that is reporting access problems.
0xC190020e
0x80070070 - 0x50011
0x80070070 - 0x50012
0x80070070 - 0x60000
These errors indicate the computer does not have enough free space available to install the upgrade. To upgrade a computer to Windows 10, it requires 16 GB of free hard drive space for a 32-bit OS, and 20 GB for a 64-bit OS. If there is not enough space, attempt to free up drive space before proceeding with the upgrade.
Note: If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will back up the previous version of Windows to a USB external drive. The external drive must be at least 8GB (16GB is recommended). The external drive should be formatted using NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby.

Windows 10 FAQ for IT professionals
Windows 10 Enterprise system requirements
Windows 10 Specifications
Windows 10 IT pro forums
Fix Windows Update errors by using the DISM or System Update Readiness tool