Windows 10 升级错误代码

适用于:Windows 10

注意

这是一个 400 级主题(高级)。

对于 IT 专业人员,请查看解决 Windows 10 升级错误的详细信息

如果升级过程不成功,Windows 安装程序将返回两个代码:

  1. 结果代码:结果代码对应于特定的 Win32 或 NTSTATUS 错误。
  2. 扩展代码:扩展代码包含有关发生错误的阶段以及发生错误时正在执行的操作的信息。

例如,将返回具有扩展代码0x4000D的0xC1900101的结果代码:0xC1900101 - 0x4000D。

注意

如果仅返回结果代码,可能是因为正在使用无法捕获扩展代码的工具。 例如,如果使用 Windows 10 易升,则只能返回结果代码。

提示

如果找不到结果并扩展错误代码,则可以尝试使用事件查看器查找这些代码。 有关详细信息,请参阅 Windows 错误报告

结果代码

0xC1900101的结果代码是泛型代码,指示发生了回滚。 在大多数情况下,原因是驱动程序兼容性问题。 若要对返回结果代码0xC1900101失败的升级进行故障排除,请分析扩展代码以确定 Windows 安装阶段,并参阅 本文后面的“解决方案过程 ”部分。

以下结果代码集与 Windows 安装程序 兼容性警告相关联:

结果代码 消息 说明
0xC1900210 MOSETUP_E_COMPAT_SCANONLY 安装程序未找到任何兼容性问题
0xC1900208 MOSETUP_E_COMPAT_INSTALLREQ_BLOCK 安装程序发现了可操作的兼容性问题,例如不兼容的应用
0xC1900204 MOSETUP_E_COMPAT_MIGCHOICE_BLOCK 所选的迁移选项不可用(例如:企业到家庭版)
0xC1900200 MOSETUP_E_COMPAT_SYSREQ_BLOCK 计算机不符合 Windows 10 的条件
0xC190020E MOSETUP_E_INSTALLDISKSPACE_BLOCK 计算机没有足够的可用空间进行安装

本文的“解决过程”部分提供了新式设置(mosetup)错误列表,其中包含范围中的说明。

其他结果代码可以匹配遇到的特定类型的错误。 将结果代码与错误匹配:

  1. 使用第一个十六进制数字将错误代码类型标识为 Win32 或 NTSTATUS:

    8 = Win32 错误代码(例如:0x80070070)
    C = NTSTATUS 值(例如:0xC1900107)

  2. 记下错误代码的最后四位数字(例如:0x80070070 = 0070)。 这些数字是在 HRESULTNTSTATUS 结构中定义的实际错误代码类型。 代码中的其他数字标识生成错误的设备类型等内容。

  3. 根据第一步(Win32 或 NTSTATUS)中确定的错误代码类型,使用以下链接将派生自第二步的四位数字匹配为 Win32 错误代码或 NTSTATUS 值:

示例:

  • 0x80070070
    1. 根据“8”,这是 Win32 错误代码。
    2. 最后四位数字为 0070,因此在 Win32 错误代码表中查找0x00000070
    3. 错误为:

      ERROR_DISK_FULL

  • 0xC1900107
    1. 根据“C”,这是 NTSTATUS 错误代码。
    2. 最后四位数字为 0107,因此在 NTSTATUS 值 表中查找0x00000107。
    3. 错误为:

      STATUS_SOME_NOT_MAPPED

某些结果代码是自我解释的,而另一些则更通用,需要进一步分析。 在上面所示的示例中,ERROR_DISK_FULL指示硬盘已满,需要额外的空间才能完成 Windows 升级。 消息STATUS_SOME_NOT_MAPPED更具歧义性,这意味着操作处于挂起状态。 在这种情况下,挂起的操作通常是以前的安装尝试中的清理操作,这可以通过系统重新启动来解决。

扩展代码

重要

扩展代码反映当前的 Windows 10 升级过程,并且可能会在 Windows 10 的未来版本中更改。 本节中讨论的代码适用于 Windows 10 版本 1607,也称为周年更新。

当发生错误时,扩展代码可以匹配到阶段和操作。 将扩展代码与阶段和操作匹配:

  1. 使用第一个数字标识阶段(例如:0x4000D = 4)。
  2. 使用最后两位数字标识操作(例如:0x4000D = 0D)。
  3. 将阶段和操作与下面提供的表中的值匹配。

下表为扩展代码的值提供相应的阶段和操作:

扩展代码:阶段

Hex 阶段
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

扩展代码:操作

Hex 操作
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
周五 SP_EXECUTION_OP_ADD_UNATTEND
Hex 操作
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

例如:扩展0x4000D代码,表示数据迁移(000D)阶段(0x4)期间出现的问题。

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。

详细信息