Windows 10: Analyze upgrade errors

[German]Microsoft has introduced Windows as a service in Windows 10, so two or three times within a year, new feature upgrades are available. Upgrades will be installed automatically via Windows Auto-Update. But how to decode install errors, which prevents an upgrade?


Advertising


Microsoft has published a few new details about decoding upgrade errors within a Technet article Resolve Windows 10 upgrade errors. Windows 10 is using a staged installation for feature upgrades , consisting of 4 steps – and an optional error step for rollback.

(Source: Microsoft)

The schema shown above details a successful upgrade installation. The upgrade installation consists of the following phases:

  • Downlevel phase: Run within the previous operating system. Installation components are gathered.
  • Safe OS phase: A recovery partition is configured and updates are installed. An OS rollback is prepared if needed. During this phase error codes like 0x2000C, 0x20017 are possible.
  • First boot phase: Initial settings are applied. Errors within this phase are 0x30018, 0x3000D and so on.
  • Second boot phase: Final settings are applied to the so called OOBE boot phase. During this phase, error codes like 0x4000D, 0x40017 may occur.
  • Uninstall phase: This phase occurs if upgrade is unsuccessful. Within this stage error codes like 0x50000 may be dropped.

Using these error code may give a clue in which phase the error has been stopped the upgrade installation.

What to do, if an upgrade fails to install?

Microsoft gives also so hints what to do, if the installation of a feature upgrade fails.


Advertising

  • 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 chkdsk /F. You will be required to reboot the computer if the hard drive being repaired is also the system drive.
  • Attept to restore and repair system files by typing the commands sfc /scannow and DISM.exe /Online /Cleanup-image /Restorehealth at an elevated command prompt. For more information, see Repair a Windows Image and my blog post Check and repair Windows system files and component store.
  • Update Windows so that all available recommended updates are installed and uninstall all third party antivirus software (Windows Defender protects your system during the upgrade).
  • Uninstall all nonessential software and verify compatibility information for antivirus sand other software, before installing it after the upgrade.
  • Remove nonessential external hardware, such as docks and USB devices and update firmware and drivers.
  • Ensure that “Download and install updates (recommended)” is accepted at the start of the upgrade process.

And verify at least 16 GB of free space is available to upgrade a 32-bit OS, or 20 GB for a 64-bit OS.

How to decode upgrade error codes?

But the most important part of the blog post is the section dealing with error code decoding. Those error codes may be found within Windows event manager. Also the .log files created during upgrade, may give some hints about the error code created during upgrade. The the blog post details where to find this log files and explains also what’s in those files.

And at least, the Technet blog post discusses the anatomy of several error codes dropped during upgrade. This is an addendum to my blog post How to decode Windows errors?.

  • 0x800xyyyy: The digit 8 stands for a Win32 error (see also my blog post How to decode Windows errors?). The last four digits yyyy of the error code specifies the HRESULT code. I discussed within my blog post, linked above, how to find a description of these HRESULT codes,
  • 0xC1900yyy: Errors with the digit C signals a NTSTATUS message, where the last four digits yyyy are detailing the root cause for the rollback.

Error code 0xC1900101 is a generic error, just reporting a rollback has been made. The reason for the rollback is given in the extended error code (like in 0xC1900101 – 0x4000D). The first digit within the extended error code  is a hex digit (the letter following the x) stands for the phase, where the rollback has been initiated.

Hex digit Phase
0 SP_EXECUTION_UNKNOWN
1 SP_EXECUTION_DOWNLEVEL
2 SP_EXECUTION_SAFE_OS
3 SP_EXECUTION_FIRST_BOOT
4 SP_EXECUTION_OOBE_BOOT
5 SP_EXECUTION_UNINSTALL

The last two digits of the extended error code contains the details for the rollback cause. The following table contains the status codes published by Microsoft.

Hex Operation
0 SP_EXECUTION_OP_UNKNOWN
1 SP_EXECUTION_OP_COPY_PAYLOAD
2 SP_EXECUTION_OP_DOWNLOAD_UPDATES
3 SP_EXECUTION_OP_INSTALL_UPDATES
4 SP_EXECUTION_OP_INSTALL_RECOVERY_ENVIRONMENT
5 SP_EXECUTION_OP_INSTALL_RECOVERY_IMAGE
6 SP_EXECUTION_OP_REPLICATE_OC
7 SP_EXECUTION_OP_INSTALL_DRIVERS
8 SP_EXECUTION_OP_PREPARE_SAFE_OS
9 SP_EXECUTION_OP_PREPARE_ROLLBACK
A SP_EXECUTION_OP_PREPARE_FIRST_BOOT
B SP_EXECUTION_OP_PREPARE_OOBE_BOOT
C SP_EXECUTION_OP_APPLY_IMAGE
D SP_EXECUTION_OP_MIGRATE_DATA
E SP_EXECUTION_OP_SET_PRODUCT_KEY
F SP_EXECUTION_OP_ADD_UNATTEND
10 SP_EXECUTION_OP_ADD_DRIVER
11 SP_EXECUTION_OP_ENABLE_FEATURE
12 SP_EXECUTION_OP_DISABLE_FEATURE
13 SP_EXECUTION_OP_REGISTER_ASYNC_PROCESS
14 SP_EXECUTION_OP_REGISTER_SYNC_PROCESS
15 SP_EXECUTION_OP_CREATE_FILE
16 SP_EXECUTION_OP_CREATE_REGISTRY
17 SP_EXECUTION_OP_BOOT
18 SP_EXECUTION_OP_SYSPREP
19 SP_EXECUTION_OP_OOBE
1A SP_EXECUTION_OP_BEGIN_FIRST_BOOT
1B SP_EXECUTION_OP_END_FIRST_BOOT
1C SP_EXECUTION_OP_BEGIN_OOBE_BOOT
1D SP_EXECUTION_OP_END_OOBE_BOOT
1E SP_EXECUTION_OP_PRE_OOBE
1F SP_EXECUTION_OP_POST_OOBE
20 SP_EXECUTION_OP_ADD_PROVISIONING_PACKAGE

The Technet articles also contains a collection of error codes descriptions of common upgrade errors. Overall this Technet blog post is really helpful for people trying to shed light into an upgrade error.

Similar blog posts
Windows 10 Wiki
Windows 10 Anniversary Update – FAQ and Tips
Windows 10 Anniversary Update trouble shooting
How to decode Windows errors?
Check and repair Windows system files and component store
Windows 10: Upgrade error 0xC1900101 – 0x20004
Windows 8 Upgrade: Troubleshooting and analysis
Windows 10: Update error 0x80070057
Windows 10: Rollback to Windows 8.1 is ‘missing’


Advertising


This entry was posted in Update, Windows and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *