Windows 10升级错误代码
适用于:Windows 10
如果升级过程不成功,Windows 安装程序将返回两个代码:
- 结果代码:结果代码对应于特定的 Win32 或 NTSTATUS 错误。
- 扩展代码:扩展代码包含有关发生错误的阶段和发生错误时执行的操作的信息。
例如,扩展代码为 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) 错误的列表,其中介绍了范围中的说明。
其他结果代码可与遇到的特定错误类型匹配。 将结果代码与错误匹配:
使用第一个十六进制数字将错误代码类型标识为 Win32 或 NTSTATUS:
8 = Win32 错误代码 (例如:0x80070070)
C = NTSTATUS 值 (例如:0xC1900107)记下错误代码的最后四位数字 (例如:0x80070070 = 0070) 。 这些数字是 HRESULT 或 NTSTATUS 结构中定义的实际错误代码类型。 代码中的其他数字标识生成错误的设备类型等内容。
根据第一步中确定的错误代码类型 (Win32 或 NTSTATUS) ,使用以下链接将派生自第二个步骤的四位数字与 Win32 错误代码或 NTSTATUS 值相匹配:
示例:
- 0x80070070
- 根据“8”,这是 Win32 错误代码。
- 最后四位数字是 0070,因此请在 Win32 错误代码 表中查找0x00000070。
- 错误为:
ERROR_DISK_FULL
- 0xC1900107
- 根据“C”,这是 NTSTATUS 错误代码。
- 最后四位数字为 0107,因此请在 NTSTATUS 值 表中查找0x00000107。
- 错误为:
STATUS_SOME_NOT_MAPPED
一些结果代码不言而喻,而其他结果代码则更通用,需要进一步分析。 在上面所示的示例中,ERROR_DISK_FULL指示硬盘驱动器已满,并且需要额外的空间来完成 Windows 升级。 消息STATUS_SOME_NOT_MAPPED更加不明确,表示操作处于挂起状态。 在这种情况下,挂起的操作通常是上一次安装尝试中的清理操作,这可以通过系统重新启动来解决。
扩展代码
重要
扩展代码反映当前Windows 10升级过程,并且可能会在 Windows 10 的未来版本中更改。 本部分中讨论的代码适用于Windows 10版本 1607,也称为周年更新。
发生错误时,扩展代码可以匹配到阶段和操作。 若要将扩展代码与阶段和操作匹配:
- 使用第一个数字标识阶段 (例如:0x4000D = 4) 。
- 使用最后两位数字标识操作 (例如:0x4000D = 0D) 。
- 将阶段和操作与下面提供的表中的值匹配。
下表为扩展代码的值提供了相应的阶段和操作:
扩展代码:阶段
十六进制 | 阶段 |
---|---|
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 针对与部署相关的问题收集信息中所述的步骤收集信息。