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. 将阶段和操作与下面提供的表中的值匹配。

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

扩展代码:阶段

十六进制 阶段
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

扩展代码:操作

十六进制 操作
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

例如:0x4000D扩展代码表示第 4 阶段 (0x4) 数据迁移 (000D) 的问题。

数据收集

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

更多信息