適用於: Windows 10
如果升級程式不成功,Windows 安裝程式會傳回兩個代碼:
- 結果碼:結果碼會對應至特定的 Win32 或 NTSTATUS 錯誤。
- 擴充程式代碼:擴充程式代碼包含發生錯誤之階段的相關信息,以及發生錯誤時所執行的作業。
例如,會以下列0xC1900101 - 0x4000D傳回具有0x4000D擴充程式代碼之0xC1900101的結果碼。
注意
如果只傳回結果碼,可能是因為正在使用無法擷取擴充程式代碼的工具。 例如,如果您使用 Windows 10 升級小幫手,則只會傳回結果碼。
提示
如果您找不到結果並擴充錯誤碼,您可以使用 事件檢視器 嘗試尋找這些程式碼。 如需詳細資訊,請參閱 Windows 錯誤報告。
結果碼
0xC1900101的結果代碼是泛型的,表示發生復原。 在大部分情況下,原因是驅動程式相容性問題。 若要針對傳回0xC1900101結果碼的失敗升級進行疑難解答,請分析擴充程式代碼以判斷 Windows 安裝程式階段,並參閱 本文稍後的解決程式 一節。
下列結果碼集與 Windows 安裝程式 相容性警告相關聯:
| 結果碼 | 訊息 | 描述 |
|---|---|---|
| 0xC1900210 | MOSETUP_錯誤_相容性僅掃描 | 安裝程式找不到任何相容性問題 |
| 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。
- 錯誤為:
磁碟已滿錯誤
- 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_下載更新 |
| 3 | 執行操作安裝更新 |
| 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 |
| 一個 | 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_執行_操作_創建_文件 |
| 16 | SP_EXECUTION_OP_CREATE_REGISTRY |
| 17 | SP_EXECUTION_OP_BOOT |
| 18 | SP_EXECUTION_OP_SYSPREP |
| 19 | SP_EXECUTION_OP_OOBE |
| 1A | 執行操作開始第一次啟動 |
| 1B | SP執行操作結束首次啟動 |
| 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 | 執行操作_增加布建套件 |
例如:擴充程式代碼0x4000D,代表第 4 階段 (0x4) 與數據遷移 (000D) 期間的問題。
資料收集
若您需要 Microsoft 支援,建議您按照使用 TSS 收集部署相關問題的資訊所述步驟來收集資訊。