SetupDiag

注意

本文是一篇 300 層級的文章, (中等進階) 。 如需本節文章的完整清單,請參閱 解決 Windows 升級錯誤

關於 SetupDiag

重要

手動執行 SetupDiag 時,Microsoft 建議執行最新版的 SetupDiag。 最新版本可透過下列 下載連結取得。 執行最新版本可確保最新的功能並修正已知問題。

SetupDiag 是一種診斷工具,可用來取得 Windows 升級失敗原因的詳細數據。

SetupDiag 的運作方式是檢查 Windows 安裝程序記錄檔。 它會嘗試剖析這些記錄檔,以判斷無法將電腦更新或升級至 Windows 的根本原因。 SetupDiag 可以在無法更新的電腦上執行。 記錄也可以從計算機導出到另一個位置,然後在離線模式中執行 SetupDiag。

SetupDiag 隨附於 所有 目前支援的 Windows 版本中的 Windows 安裝程式。

在升級程式期間,Windows 安裝程式會將其所有來源檔案,包括 SetupDiag.exe擷取至 %SystemDrive%$Windows.~bt\Sources 目錄。 如果升級發生問題,SetupDiag 會自動執行 以判斷失敗的原因。

由 Windows 安裝程式執行時,會使用下列 參數

  • /ZipLogs:False
  • /Format:xml
  • /Output:%windir%\logs\SetupDiag\SetupDiagResults.xml
  • /RegPath:HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetupDiag\Results

產生的 SetupDiag 分析可在 %WinDir%\Logs\SetupDiag\SetupDiagResults.xml 下方的登入 HKLM\SYSTEM\Setup\SetupDiag\Results中找到 和 。

注意

當 Windows 安裝程式自動執行 SetupDiag 時,登錄路徑與手動執行 SetupDiag 時的預設登錄路徑不同。 手動執行 SetupDiag 且/RegPath未指定 參數時,數據會儲存在 登錄的 。HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag

重要

當 SetupDiag 指出有多個失敗時,記錄檔中的最後一個失敗通常是嚴重錯誤,而不是第一個錯誤。

如果升級程式正常進行,包括 SetupDiag.exeSources目錄會移至 %SystemDrive%\Windows.Old 底下進行清除。 如果 稍後刪除 Windows.old 目錄,也會移除 SetupDiag.exe

需求

  1. Windows 的目的地版本必須是目前支援的 Windows 版本。 原先安裝的 Windows 版本可以是不支援的 Windows 版本,只要:

    • Windows 的目的地版本是目前支援的 Windows 版本。
    • 從原始安裝的 Windows 版本支持升級至 Windows 的目的地版本。
  2. .NET Framework 必須安裝 4.7.2 或更新版本。 若要判斷哪個 .NET 版本已預安裝特定版本的 Windows,請參閱 .NET Framework 系統需求:支援的用戶端操作系統。 若要判斷目前已安裝的 .NET 版本,請參閱如何:判斷已安裝哪些 .NET Framework 版本

    下列命令列查詢可用來顯示目前安裝的 .NET 版本:

    reg.exe query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4" /s
    

    只要至少已安裝必要的 .NET 版本,就不需要採取任何額外的動作,包括是否已安裝較新的版本。

使用 SetupDiag

若要在目前的電腦上快速使用 SetupDiag:

  1. 確認系統符合 需求

  2. 下載 SetupDiag

  3. 如果網頁瀏覽器詢問如何處理檔案,請選擇 [ 儲存]。 根據預設,檔案會儲存至 Downloads 資料夾。 如有需要, 也可以使用另存新檔將檔案儲存到不同的位置。

  4. 當 SetupDiag 完成下載時,請開啟檔案下載所在的資料夾。 根據預設,此資料夾是 [下載] 資料夾,會顯示在左側瀏覽窗格的 [快速存取] 底下的 [檔案總管 中。

  5. 按兩下 SetupDiag 檔案來執行它。 如果要求核准執行程式,請選取 [ ]。

按兩下檔案以執行它,會在 SetupDiag 完成分析時自動關閉命令視窗。 若要改為讓視窗保持開啟以檢閱 SetupDiag 產生的訊息,請在命令提示字元中輸入 SetupDiag 來執行程式,而不是按兩下它。 從命令提示字元執行時,請務必將目錄變更為 SetupDiag 所在的位置。

  1. 當 SetupDiag 診斷電腦時,命令視窗隨即開啟。 等候此程式完成。

  2. 當 SetupDiag 完成時,會在執行 SetupDiag 的相同資料夾中建立兩個檔案。 一個是組態檔,另一個是記錄檔。

  3. 使用記事本開啟記錄檔 SetupDiagResults.log

  4. 檢閱顯示的資訊。 如果符合規則,此資訊可以說明計算機無法升級的原因,以及如何修正問題。 請參閱 文字記錄範例一節。

如需如何以離線模式和更進階選項執行工具的指示,請參閱 參數範例一節。

Parameters

參數 描述
/? 顯示互動式說明
/Output:[輸出記錄檔的完整路徑和檔名] 這個選擇性參數會指定結果記錄檔的名稱和位置。 輸出檔案包含來自 SetupDiag 的分析。 僅支援文字格式輸出。 如果 SetupDiag 執行具有 UNC 路徑存取權的內容,UNC 路徑就會運作。 如果路徑中有空格,則整個路徑必須以雙引弧括住 () 。 See the Examples sections for an example.

預設值:如果未指定,SetupDiag 會在執行 SetupDiag.exe 的相同目錄中建立檔案 SetupDiagResults.log
/LogsPath:[記錄的完整路徑] 這個選擇性參數會指定要剖析的記錄檔位置,以及尋找離線分析記錄檔的位置。 這些記錄檔可以是一般資料夾格式,或包含多個子目錄。 SetupDiag 會以遞歸方式搜尋所有子目錄。 默認為檢查目前的系統是否有記錄。
/ZipLogs:[True |False] 這個選擇性參數會告訴 SetupDiag.exe 建立包含結果和已剖析之所有記錄檔的 zip 檔案。 zip 檔案會建立在執行 SetupDiag.exe 的相同目錄中。

默認值:如果未指定,則會使用 'true' 值。
/Format:[xml | json] 這個選擇性參數會指定記錄檔的輸出格式為 XML 或 JSON。 如果未指定此參數,預設會使用文字格式。
/Scenario:[Recovery |偵錯] 這個選擇性參數可以根據使用的 自變數,執行下列兩個專案之一:

  • 復原會指示 SetupDiag.exe 尋找和處理重設和復原記錄,並忽略安裝/升級記錄。
  • 偵錯會指示 SetupDiag.exe 在安裝必要的偵錯二進位檔時偵錯記憶體轉儲。
/詳細 這個選擇性參數會在當前目錄中建立診斷記錄檔,其中包含偵錯資訊、其他數據,以及 SetupDiag 的詳細數據。 根據預設,SetupDiag 只會產生主要錯誤的記錄檔專案。 使用 /Verbose 會導致 SetupDiag 一律產生另一個記錄檔,其中包含偵錯詳細數據。 回報 SetupDiag 的問題時,這些詳細數據會很有用。
/NoTel 此選擇性參數會告知 SetupDiag.exe 不要將診斷遙測傳送給 Microsoft。
/RegPath 這個選擇性參數會指示 SetupDiag.exe 將失敗資訊新增至指定路徑下的登錄。 登錄路徑應從 HKEY_LOCAL_MACHINEHKEY_CURRENT_USER 開始,而且可在執行下方的提高許可權層級 SetupDiag 存取。 如果未指定此參數,默認路徑為 HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag
/AddReg 這個選擇性參數會指示 SetupDiag.exe 在離線模式下,將失敗資訊新增至執行系統上的登錄。 根據預設,SetupDiag 只會將失敗資訊新增至在線模式的登錄。 除非另有指定,否則登錄數據會移至 HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup\Volatile\SetupDiag

注意

/Mode 參數在 SetupDiag 中已被取代。

在舊版中,此命令與 LogsPath 參數搭配使用,以指定 SetupDiag 應該以離線方式執行,以分析從不同電腦擷取的一組記錄檔。 在目前的 SetupDiag 版本中,當指定 /LogsPath 時,SetupDiag 會自動在離線模式中執行,因此不需要 /Mode 參數。

範例

  • 在下列範例中,SetupDiag 會以在線模式的預設參數執行。 結果檔案 會SetupDiagResults.log 在執行 SetupDiag 的相同資料夾中。

    SetupDiag.exe
    
  • 在下列範例中,SetupDiag 會在在線模式中執行, (此模式是預設) 。 它知道要在目前 (失敗) 系統上尋找記錄檔的位置,因此不需要事先收集記錄。 指定結果的自定義位置。

    SetupDiag.exe /Output:C:\SetupDiag\Results.log
    
  • 下列範例會使用 /Output 參數,將結果儲存至包含空格的路徑名稱:

    SetupDiag /Output:"C:\Tools\SetupDiag\SetupDiag Results\Results.log"
    
  • 下列範例指定 SetupDiag 是在離線模式中執行,以及處理 在 D:\Temp\Logs\LogSet1 中找到的記錄檔。

    SetupDiag.exe /Output:C:\SetupDiag\Results.log /LogsPath:D:\Temp\Logs\LogSet1
    
  • 下列範例會以離線模式設定復原案例。 在此範例中,SetupDiag 會在指定的 LogsPath 位置中搜尋重設/復原記錄,並將結果輸出至 /Output 參數所指定的目錄。

    SetupDiag.exe /Output:C:\SetupDiag\RecoveryResults.log /LogsPath:D:\Temp\Cabs\PBR_Log /Scenario:Recovery
    
  • 下列範例會在在線模式中設定復原案例。 在此範例中,SetupDiag 會搜尋目前系統上的重設/復原記錄,並以 XML 格式輸出結果。

    SetupDiag.exe /Scenario:Recovery /Format:xml
    
  • 下列範例是離線模式的範例。 系統會指示 SetupDiag 剖析 LogsPath 目錄中的安裝/升級記錄檔,並將結果輸出至 C:\SetupDiag\Results.txt

    SetupDiag.exe /Output:C:\SetupDiag\Results.txt /LogsPath:D:\Temp\Logs\Logs1 /RegPath:HKEY_CURRENT_USER\SYSTEM\SetupDiag
    
  • 下列範例是在線模式的範例。 系統會指示 SetupDiag 在目前的系統上尋找安裝/升級記錄,並將其結果以 XML 格式輸出至 C:\SetupDiag\Results.xml

    SetupDiag.exe /Output:C:\SetupDiag\Results.xml /Format:xml
    
  • 下列範例是在線模式的範例,其中不需要或使用任何參數。 系統會指示 SetupDiag 在目前的系統上尋找安裝/升級記錄,並將結果輸出到 SetupDiag 所在的相同目錄。

    SetupDiag.exe
    
  • 下列範例是重設/復原離線模式的範例。 系統會指示 SetupDiag 在指定的 LogsPath 位置中尋找重設/復原記錄。 然後,它會將結果輸出至 /Output 參數所指定的目錄。

    SetupDiag.exe /Output:C:\SetupDiag\RecoveryResults.log /LogsPath:D:\Temp\Cabs\PBR_Log /Scenario:Recovery
    
  • 下列範例是重設/復原在線模式的範例。 系統會指示 SetupDiag 在目前的系統上尋找重設/復原記錄,並以 XML 格式輸出其結果。

    SetupDiag.exe /Scenario:Recovery /Format:xml
    

記錄檔

Windows 安裝程式記錄檔和事件記錄 檔具有在 Windows 安裝期間建立記錄檔位置的相關信息。 針對離線處理,應該針對整個資料夾的內容執行 SetupDiag。 例如,根據升級失敗時機,將下列其中一個資料夾複製到離線位置:

  • \$Windows.~bt\sources\panther
  • \$Windows.~bt\Sources\Rollback
  • \Windows\Panther
  • \Windows\Panther\NewOS

如果複製父資料夾和所有子資料夾,SetupDiag 會自動搜尋所有子目錄中的記錄檔。

設定錯誤檢查分析

當 Microsoft Windows 遇到危害安全系統作業的條件時,系統會停止。 此條件稱為錯誤檢查。 此條件通常也稱為系統當機、核心錯誤、停止錯誤或 BSOD。 硬體裝置、硬體驅動程式或相關軟體通常會造成此錯誤。

如果系統上 已啟用 損毀傾印,則會建立損毀傾印檔案。 如果在升級期間發生錯誤檢查,Windows 安裝程式會擷取小型傾印 (setupmem.dmp) 檔案。 SetupDiag 也可以對這些安裝程式相關的小型傾印進行偵錯。

若要偵錯安裝程式相關的 Bug 檢查:

  • 指定 /LogsPath 參數。 記憶體轉儲無法在在線模式中偵錯。

  • 從失敗的系統 (setupmem.dmp) 收集安装程序内存转储档案。

    Setupmem.dmp 會在 %SystemDrive%$Windows.~bt\Sources\Rollback 中建立,或在 %WinDir%\Panther\NewOS\Rollback 中建立,視錯誤檢查發生的時間而定。

  • 在執行 SetupDiag 的電腦上安裝 Windows 偵錯工具

在下列範例中 setupmem.dmp ,檔案會複製到 目錄, D:\Dump 並在執行 SetupDiag 之前安裝 Windows 偵錯工具:

SetupDiag.exe /Output:C:\SetupDiag\Dumpdebug.log /LogsPath:D:\Dump

已知問題

  • 如果涉及的記錄檔很大,某些規則可能需要很長的時間來處理。

範例輸出

下列命令是以離線模式執行 SetupDiag 的範例。

D:\SetupDiag>SetupDiag.exe /output:c:\setupdiag\result.xml /logspath:D:\Tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e /format:xml

SetupDiag v1.7.0.0
Copyright (c) Microsoft Corporation. All rights reserved.

Searching for setup logs...
Found d:\tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e\setupact_6.log with update date 6/12/2023 2:44:20 PM to be the correct setup log.
Found d:\tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e\setupact_1.log with update date 6/12/2023 2:45:19 PM to be the correct rollback log.

Gathering baseline information from setup logs...

SetupDiag: processing rule: CompatScanOnly.
...No match.

...

SetupDiag: processing rule: DISMImageSessionFailure.
..
Error: SetupDiag reports DISM provider failure.
Last Phase: Safe OS
Last Operation: Apply Optional Component status
Message = Failed to get the IDismImage instance from the image session
Function: CDISMManager::CloseImageSession
Error: 0x800706ba
Recommend you re-download the update source files, reboot and try the update again.

SetupDiag found 1 matching issue.

SetupDiag results were logged to: c:\setupdiag\results.xml
Logs ZipFile created at: c:\setupdiag\Logs_14.zip

規則

當 SetupDiag 搜尋記錄檔時,它會使用一組規則來比對已知問題。 這些規則包含在 xml 檔案中。 當有新版本的 SetupDiag 可供使用時,xml 檔案可能會更新為新的和更新的規則。

每個規則名稱及其相關聯的唯一規則標識碼都會列出已知的升級封鎖問題描述。 在規則描述中, 下層 一詞是指升級程式的第一個階段,其會在原始OS下執行。

規則名稱 GUID 描述
CompatScanOnly FFDAFD37-DB75-498A-A893-472D49A1311D 此規則表示已 setup.exe 使用特定命令行參數呼叫 ,指出安裝程式只執行相容性掃描,而非升級。
PlugInComplianceBlock D912150B-1302-4860-91B5-527907D08960 從伺服器相容性外掛程式偵測所有相容性區塊。此規則僅適用於伺服器升級。 它會輸出所需的合規性區塊和補救。
BitLockerHardblock C30152E2-938E-44B8-915B-D1181BA635AE 當目標OS不支援 BitLocker,但主機 OS 已啟用 BitLocker 時,此區塊會是升級區塊。
VHDHardblock D9ED1B82-4ED8-4DFD-8EC0-BE69048978CC 當主機 OS 開機至 VHD 映射時,就會發生此區塊。 從 VHD 映射開機主機 OS 時,不支持升級。
PortableWorkspaceHardblock 5B0D3AB4-212A-4CE4-BDB9-37CA404BB280 此區塊表示主機 OS 已從 Windows To-Go 裝置開機, (USB 金鑰) 。 Windows To-Go 環境中不支持升級。
AuditModeHardblock A03BD71B-487B-4ACA-83A0-735B0F3F1A90 此區塊表示主機 OS 目前已開機進入稽核模式,這是修改 Windows 狀態的特殊模式。 不支援從此狀態升級。
SafeModeHardblock 404D9523-B7A8-4203-90AF-5FBB05B6579B 此區塊表示主機 OS 已開機至安全模式,其中不支持升級。
InsufficientSystemPartitionDiskSpaceHardblock 3789FBF8-E177-437D-B1E3-D38B4C4269D1 當安裝程式判斷系統分割區沒有足夠的空間可與升級程序期間所需的較新開機檔案一起提供服務時,就會遇到此區塊。 系統分割區是儲存開機載入器檔案的位置
CompatBlockedApplicationAutoUninstall BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5 此規則表示應用程式必須先卸載,才能繼續安裝。
CompatBlockedApplicationDismissable EA52620B-E6A0-4BBC-882E-0686605736D9 /quiet 模式執行安裝程式時,除非命令行也指定 /compat ignorewarning,否則會有可關閉的應用程式訊息變成區塊。 此規則表示安裝程式是在 /quiet 模式中執行,但有應用程式可關閉的封鎖訊息,導致安裝程式無法繼續進行。
CompatBlockedFODDismissable 7B693C42-793E-4E9E-A10B-ED0F33D45E2A /quiet 模式中執行安裝程式時,除非命令行也指定 /compat ignorewarning,否則會有可關閉的功能隨選訊息會變成區塊。 此規則表示安裝程式是在 /quiet 模式中執行,但有一則功能隨選可關閉的封鎖訊息,導致安裝程式無法繼續,通常是目標OS映像遺漏了安裝在目前操作系統中的功能隨選。 拿掉目前OS中的功能隨選也應該解決此問題。
CompatBlockedApplicationManualUninstall 9E912E5F-25A5-4FC0-BEC1-CA0EA5432FF4 此規則表示沒有 [新增/移除程式] 專案的應用程式存在於系統上,並阻止安裝程式繼續進行。 此區塊通常需要手動移除與此應用程式相關聯的檔案才能繼續。
GenericCompatBlock 511B9D95-C945-4F9B-BD63-98F1465E1CF6 此規則指出系統不符合執行 Windows 的硬體需求。 例如,裝置缺少 TPM 2.0 的需求。 即使嘗試略過硬體需求,也可能會發生此問題。
GatedCompatBlock 34A9F145-3842-4A68-987F-4622EE0FC162 此規則表示升級因為暫存區塊而失敗。 當發現具有特定軟體或硬體驅動程序的問題,且問題有擱置中的修正程式時,就會備妥暫存區塊。 一旦修正程序廣泛可用,就會解除區塊。
HardblockDeviceOrDriver ED3AEFA1-F3E2-4F33-8A21-184ADF215B1B 此錯誤表示在主機 OS 上載入的設備驅動器與較新的 OS 版本不相容。 在升級之前,必須先移除設備驅動器。
HardblockMismatchedLanguage 60BA8449-CF23-4D92-A108-D6FCEFB95B45 此規則表示主機OS和目標OS語言版本不相符。
HardblockFlightSigning 598F2802-3E7F-4697-BD18-7A6371C8B2F8 此規則指出目標OS是發行前版本的Windows測試人員組建,且目標計算機已啟用安全開機。 如果安裝在計算機上,此規則會封鎖發行前版本已簽署組建的開機。
DiskSpaceBlockInDownLevel 6080AFAC-892E-4903-94EA-7A17E69E549E 此失敗表示系統在升級的下層作業期間磁碟空間不足。
DiskSpaceFailure 981DCBA5-B8D0-4BA7-A8AB-4030F7A10191 此失敗表示系統磁碟驅動器在第一次重新啟動到升級之後的某個時間點用盡可用的磁碟空間。
PreReleaseWimMountDriverFound 31EC76CC-27EC-4ADC-9869-66AABEDB56F0 擷取因系統上註冊無法辨識的 wimmount.sys 驅動程序而導致的失敗。
DebugSetupMemoryDump C7C63D8A-C5F6-4255-8031-74597773C3C6 此僅限離線規則表示設定期間發生錯誤檢查。 如果調試程式工具可在系統上使用,SetupDiag 會偵錯記憶體轉儲並提供詳細數據。
DebugSetupCrash CEEBA202-6F04-4BC3-84B8-7B99AED924B1 此僅限離線規則表示安裝程式本身發生失敗,導致進程記憶體傾印。 如果調試程式工具已安裝在系統上,SetupDiag 會偵錯記憶體轉儲,並提供進一步的詳細數據。
DebugMemoryDump 505ED489-329A-43F5-B467-FCAAF6A1264C 此僅限離線規則適用於在安裝/升級作業期間產生的任何memory.dmp檔案。 如果調試程式工具已安裝在系統上,SetupDiag 會偵錯記憶體轉儲,並提供進一步的詳細數據。
DeviceInstallHang 37BB1C3A-4D79-40E8-A556-FDA126D40BC6 此失敗規則表示在升級的裝置安裝階段檢查系統無回應或錯誤。
DriverPackageMissingFileFailure 37BB1C3A-4D79-40E8-A556-FDA126D40BC6 此規則指出驅動程式套件在裝置安裝期間有遺失的檔案。 更新驅動程式套件可能有助於解決問題。
UnsignedDriverBootFailure CD270AA4-C044-4A22-886A-F34EF2E79469 此規則指出未簽署的驅動程式造成開機失敗。
BootFailureDetected 4FB446C2-D4EC-40B4-97E2-67EB19D1CFB7 此規則表示在更新的特定階段發生開機失敗。 此規則指出用於診斷目的的失敗碼和階段。
WinSetupBootFilterFailure C073BFC8-5810-4E19-B53B-4280B79E096C 偵測核心模式檔案作業中的失敗。
FindDebugInfoFromRollbackLog 9600EB68-1120-4A87-9FE9-3A4A70ACFC37 此規則會決定並提供錯誤檢查發生於產生記憶體轉儲的安裝/升級程式期間的詳細數據。 不過,執行中的計算機上不需要調試程式套件。
AdvancedInstallerFailed 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC 尋找造成安裝失敗的嚴重進階安裝程序作業。 指出在執行安裝程式套件時 AdvancedInstaller 的重大失敗,包括所呼叫的 .exe、階段、模式、元件和錯誤碼。
AdvancedInstallerPluginInstallFailed 2F784A0E-CEB1-47C5-8072-F1294C7CB4AE 此規則指出透過進階安裝程式安裝的某些元件 (FeatureOnDemand、語言套件、.NET 套件等 ) 無法安裝。 此規則會呼叫正在安裝的內容。 如果失敗的元件是FeatureOnDemand,請移除Windows功能,重新啟動,然後再試一次升級。 如果失敗的元件是語言套件,請移除其他語言套件,重新啟動,然後再試一次升級。
AdvancedInstallerGenericFailure 4019550D-4CAA-45B0-A222-349C48E86F71 在一般意義上比對 AdvancedInstaller 讀取/寫入失敗的規則。 在一般意義上,進階安裝程式失敗的觸發程式。 它會輸出名為的應用程式、階段、模式、元件和錯誤碼。
FindMigApplyUnitFailure A4232E11-4043-4A37-9BF4-5901C46FD781 偵測導致更新失敗的移轉單位失敗。 此規則會輸出移轉外掛程式的名稱,以及為了診斷而產生的錯誤碼。
FindMigGatherUnitFailure D04C064B-CD77-4E64-96D6-D26F30B4EE29 偵測導致更新失敗的移轉收集單位失敗。 此規則會輸出收集單位/外掛程式的名稱,以及它為了診斷而產生的錯誤碼。
FindMigGatherApplyFailure A9964E6C-A2A8-45FF-B6B5-25E0BD71428E 顯示移轉引擎在收集或套用作業時失敗時的錯誤。 指出移轉物件 (檔案或登錄路徑) 移轉
OptionalComponentFailedToGetOCsFromPackage D012E2A2-99D8-4A8C-BBB2-088B92083D78 此規則符合嘗試列舉封裝中的元件時的特定選擇性元件失敗。 指出 OC (選用元件) 移轉作業無法列舉 OC 套件的選擇性元件。 它會輸出封裝名稱和錯誤碼。 此規則會取代存在的 OptionalComponentInstallFailure 規則。
OptionalComponentOpenPackageFailed 22952520-EC89-4FBD-94E0-B67DF88347F6 比對嘗試開啟 OC 套件時的特定選擇性元件失敗。 它會輸出封裝名稱和錯誤碼。 指出選擇性元件移轉作業無法開啟選擇性元件套件。 輸出封裝名稱和錯誤碼。
OptionalComponentInitCBSSessionFailed 63340812-9252-45F3-A0F2-B2A4CA5E9317 比對進階安裝程式服務或元件未在系統上運作或啟動的特定失敗。 表示下層系統上服務堆疊中的損毀。 輸出嘗試在現有 OS 上初始化維護元件時所遇到的錯誤碼。
CriticalSafeOSDUFailure 73566DF2-CA26-4073-B34C-C9BC70DBF043 此規則表示使用重大動態更新更新 SafeOS 映射時發生失敗。 它會指出嘗試更新 SafeOS 映射以供診斷之用時所發生的階段和錯誤碼。
UserProfileCreationFailureDuringOnlineApply 678117CE-F6A9-40C5-BC9F-A22575C78B14 指出在更新的在線套用階段建立或修改使用者配置檔時發生嚴重失敗。 它會指出與失敗相關聯的作業和錯誤碼,以供診斷之用。
UserProfileCreationFailureDuringFinalize C6677BA6-2E53-4A88-B528-336D15ED1A64 符合設定完成階段期間的特定使用者配置檔建立錯誤。 它會輸出失敗碼。
UserProfileSuffixMismatch B4BBCCCE-F99D-43EB-9090-078213397FD8 偵測檔案或其他物件何時導致使用者配置檔的移轉或建立在更新期間失敗。
DuplicateUserProfileFailure BD7B3109-80F1-4421-8F0A-B34CD25F4B51 此規則表示移轉使用者配置檔時發生嚴重錯誤,通常是與單一使用者配置檔相關聯的多個SID。 當軟體建立從未使用或登入的本機用戶帳戶時,通常會發生此錯誤。 此規則會指出造成失敗之帳戶的 SID 和 UserName。 若要嘗試解決問題,請先備份受影響用戶帳戶的所有用戶檔案。 備份使用者的檔案之後,請以支援的方式刪除帳戶。 請確定帳戶不是需要或目前用來登入裝置的帳戶。 刪除帳戶之後,請重新啟動,然後再試一次升級。
WimMountFailure BE6DF2F1-19A6-48C6-AEF8-D3B0CE3D4549 此規則表示更新無法掛接 WIM 檔案。 它會顯示 WIM 檔案的名稱,以及與失敗相關聯的錯誤訊息和錯誤碼,以供診斷之用。
WimMountDriverIssue 565B60DD-5403-4797-AE3E-BC5CB972FBAE 偵測系統上的 WimMount.sys 註冊失敗。
WimApplyExtractFailure 746879E9-C9C5-488C-8D4B-0C811FF3A9A8 符合 WIM 在安裝程式的 WIM 擷取階段期間套用失敗。 它會輸出延伸模組、路徑和錯誤碼。
UpdateAgentExpanderFailure 66E496B3-7D19-47FA-B19B-4040B9FD17E2 比對從 Windows Update 更新的下層階段中的 DPX 展開器失敗。 它會輸出封裝名稱、函式、運算式和錯誤碼。
FindFatalPluginFailure E48E3F1C-26F6-4AFB-859B-BF637DA49636 比對 setupplatform 認為安裝程式是嚴重性的任何外掛程式失敗。 它會輸出外掛程式名稱、作業和錯誤碼。
MigrationAbortedDueToPluginFailure D07A24F6-5B25-474E-B516-A730085940C9 指出移轉外掛程式發生嚴重失敗,導致安裝程式中止移轉。 提供安裝作業、外掛程式名稱、外掛程式動作和錯誤碼。
DISMAddPackageFailed 6196FF5B-E69E-4117-9EC6-9C1EAB20A3B9 表示 DISM 新增套件作業期間發生重大失敗。 指定套件名稱、DISM 錯誤和新增封裝錯誤碼。
DISMImageSessionFailure 61B7886B-10CD-4C98-A299-B987CB24A11C 在 DISM 無法成功啟動映像工作階段時擷取失敗資訊。
DISMproviderFailure D76EF86F-B3F8-433F-9EBF-B4411F8141F4 當 DISM 提供者 (外掛程式) 在關鍵作業中失敗時觸發。 從提供者輸出檔案 (外掛程式名稱) 、稱為 + 錯誤碼的函式,以及錯誤訊息。
SysPrepLaunchModuleFailure 7905655C-F295-45F7-8873-81D6F9149BFD 指出 sysPrep 外掛程式在關鍵作業中失敗。 指出外掛程式名稱、作業名稱和錯誤碼。
UserProvidedDriverInjectionFailure 2247C48A-7EE3-4037-AFAB-95B92DE1D980 透過命令行輸入提供來設定 (的驅動程式) 在某些方面失敗。 輸出驅動程式安裝函式和錯誤碼。
DriverMigrationFailure 9378D9E2-256E-448C-B02F-137F611F5CE3 此規則表示移轉驅動程式時發生嚴重失敗。
UnknownDriverMigrationFailure D7541B80-5071-42CE-AD14-FBE8C0C4F7FD 此規則表示系統上有不正確的驅動程式套件。 當驅動程式套件嘗試移轉至新的OS時,驅動程式套件會導致升級失敗。 規則通常會指出造成問題的驅動程式套件名稱。 補救措施是移除不正確的驅動程式套件、重新啟動,然後再試一次升級。 如果 OEM 提供此驅動程式的更新,建議您更新驅動程式套件。
FindSuccessfulUpgrade 8A0824C8-A56D-4C55-95A0-22751AB62F3E 判斷指定的設定是否成功,或不是以記錄為基礎。
FindSetupHostReportedFailure 6253C04F-2E4E-4F7A-B88E-95A69702F7EC 提供升級程式初期出現的失敗相關信息, setuphost.exe
FindDownlevelFailure 716334B7-F46A-4BAA-94F2-3E31BC9EFA55 提供 SetupPlatform 稍後在下層階段呈現的失敗資訊。
FindAbruptDownlevelFailure 55882B1A-DA3E-408A-9076-23B22A0472BD 當系統在下層失敗,但記錄檔突然結束時,提供最後一個作業失敗資訊。
FindEarlyDownlevelError A4CE4FC9-5E10-4BB1-8ECE-3B29EB9D7C52 在叫用安裝平臺之前,偵測下層階段中的失敗。
FindSPFatalError A4028172-1B09-48F8-AD3B-86CDD7D55852 在安裝平台發生嚴重錯誤時擷取失敗資訊。
FindSetupPlatformFailedOperationInfo 307A0133-F06B-4B75-AEA8-116C3B53C2D1 當 SetupPlatform 指出重大失敗時,提供最後一個階段和錯誤資訊。 此規則指出與失敗相關聯的作業和錯誤,以供診斷之用。
FindRollbackFailure 3A43C9B5-05B3-4F7C-A955-88F991BB5A48 提供復原發生時的最後一個作業、失敗階段和錯誤資訊。

範例記錄

文字記錄範例

Matching Profile found: OptionalComponentOpenPackageFailed - 22952520-EC89-4FBD-94E0-B67DF88347F6
System Information:
    Machine Name = Offline
    Manufacturer = MSI
    Model = MS-7998
    HostOSArchitecture = x64
    FirmwareType = PCAT
    BiosReleaseDate = 20160727000000.000000+000
    BiosVendor = BIOS Date: 07/27/16 10:01:46 Ver: V1.70
    BiosVersion = 1.70
    HostOSVersion = 10.0.15063
    HostOSBuildString = 15063.0.amd64fre.rs2_release.170317-1834
    TargetOSBuildString = 10.0.16299.15 (rs3_release.170928-1534)
    HostOSLanguageId = 2057
    HostOSEdition = Core
    RegisteredAV = Windows Defender,
    FilterDrivers = WdFilter,wcifs,WIMMount,luafv,Wof,FileInfo,
    UpgradeStartTime = 3/21/2023 9:47:16 PM
    UpgradeEndTime = 3/21/2023 10:02:40 PM
    UpgradeElapsedTime = 00:15:24
    ReportId = dd4db176-4e3f-4451-aef6-22cf46de8bde

Error: SetupDiag reports Optional Component installation failed to open OC Package. Package Name: Foundation, Error: 0x8007001F
Recommend you check the "Windows Modules Installer" service (Trusted Installer) is started on the system and set to automatic start, reboot and try the update again.  Optionally, you can check the status of optional components on the system (search for Windows Features), uninstall any unneeded optional components, reboot and try the update again.
Error: SetupDiag reports down-level failure, Operation: Finalize, Error: 0x8007001F - 0x50015
Refer to https://learn.microsoft.com/windows/deployment/upgrade/upgrade-error-codes for error information.

XML 記錄範例

<?xml version="1.0" encoding="utf-16"?>
<SetupDiag xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://learn.microsoft.com/windows/deployment/upgrade/setupdiag">
  <Version>1.7.0.0</Version>
  <ProfileName>FindSPFatalError</ProfileName>
  <ProfileGuid>A4028172-1B09-48F8-AD3B-86CDD7D55852</ProfileGuid>
  <SystemInfo>
    <MachineName>Offline</MachineName>
    <Manufacturer>Gigabyte Technology Co., Ltd.</Manufacturer>
    <Model>X470 AORUS ULTRA GAMING</Model>
    <HostOSArchitecture>1033</HostOSArchitecture>
    <FirmwareType>UEFI</FirmwareType>
    <BiosReleaseDate>20180808000000.000000+000</BiosReleaseDate>
    <BiosVendor>F3</BiosVendor>
    <BiosVersion />
    <HostOSVersion>10.0.18908</HostOSVersion>
    <HostOSBuildString>18908.1000.amd64fre.rs_prerelease.190524-1658</HostOSBuildString>
    <TargetOSBuildString>10.0.18912.1001 (rs_prerelease.190601-1739)</TargetOSBuildString>
    <HostOSLanguageId />
    <HostOSEdition>Professional</HostOSEdition>
    <RegisteredAV>Windows Defender</RegisteredAV>
    <FilterDrivers />
    <UpgradeStartTime>2023-06-06T21:19:10</UpgradeStartTime>
    <UpgradeElapsedTime />
    <UpgradeEndTime>2023-06-06T22:21:49</UpgradeEndTime>
    <RollbackStartTime>0001-01-01T00:00:00</RollbackStartTime>
    <RollbackEndTime>0001-01-01T00:00:00</RollbackEndTime>
    <RollbackElapsedTime />
    <FinalizeStartTime>0001-01-01T00:00:00</FinalizeStartTime>
    <PostOOBESuccessTime>0001-01-01T00:00:00</PostOOBESuccessTime>
    <TotalOfflineTime />
    <CommercialId>Offline</CommercialId>
    <CV>MgUweCZk90KdwUiZ</CV>
    <SetupReportId>F21F8FB6-00FD-4349-84FB-2AC75F389E73</SetupReportId>
    <ReportId>F21F8FB6-00FD-4349-84FB-2AC75F389E73</ReportId>
  </SystemInfo>
  <LogErrorLine>2023-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2023 to structure[gle=0x00000057]</LogErrorLine>
  <FailureData>
Error: SetupDiag reports Fatal Error.
Last Setup Phase = Downlevel
Last Setup Operation: Gather data, scope: EVERYTHING
Error: 0x00000057</FailureData>
  <FailureData>LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2023 to structure[gle=0x00000057]</FailureData>
  <FailureData>LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2023 to structure[gle=0x00000057]</FailureData>
  <FailureData>
Refer to "https://learn.microsoft.com/windows/desktop/Debug/system-error-codes" for error information.</FailureData>
  <FailureDetails>Err = 0x00000057, LastOperation = Gather data, scope: EVERYTHING, LastPhase = Downlevel</FailureDetails>
</SetupDiag>

JSON 記錄範例

{
    "Version":"1.6.0.0",
    "ProfileName":"FindSPFatalError",
    "ProfileGuid":"A4028172-1B09-48F8-AD3B-86CDD7D55852",
    "SystemInfo":{
        "BiosReleaseDate":"20180808000000.000000+000",
        "BiosVendor":"F3",
        "BiosVersion":"F3",
        "CV":"MgUweCZk90KdwUiZ",
        "CommercialId":"Offline",
        "FilterDrivers":"",
        "FinalizeStartTime":"\/Date(-62135568000000-0800)\/",
        "FirmwareType":"UEFI",
        "HostOSArchitecture":"x64",
        "HostOSBuildString":"18908.1000.amd64fre.rs_prerelease.190524-1658",
        "HostOSEdition":"Professional",
        "HostOSLanguageId":"",
        "HostOSVersion":"",
        "MachineName":"Offline",
        "Manufacturer":"Gigabyte Technology Co., Ltd.",
        "Model":"X470 AORUS ULTRA GAMING",
        "PostOOBESuccessTime":"\/Date(-62135568000000-0800)\/",
        "RegisteredAV":"Windows Defender",
        "ReportId":"F21F8FB6-00FD-4349-84FB-2AC75F389E73",
        "RollbackElapsedTime":"PT0S",
        "RollbackEndTime":"\/Date(-62135568000000-0800)\/",
        "RollbackStartTime":"\/Date(-62135568000000-0800)\/",
        "SetupReportId":"F21F8FB6-00FD-4349-84FB-2AC75F389E73",
        "TargetOSArchitecture":null,
        "TargetOSBuildString":"10.0.18912.1001 (rs_prerelease.190601-1739)",
        "TotalOfflineTime":"PT0S",
        "UpgradeElapsedTime":"PT1H2M39S",
        "UpgradeEndTime":"\/Date(1559884909000-0700)\/",
        "UpgradeStartTime":"\/Date(1559881150000-0700)\/"
    },
    "LogErrorLine":"2023-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2023 to structure[
        gle=0x00000057
    ]",
    "FailureData":[
        "\u000aError: SetupDiag reports Fatal Error.\u000aLast Setup Phase = Downlevel\u000aLast Setup Operation: Gather data, scope: EVERYTHING\u000aError: 0x00000057",
        "LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2023 to structure[
            gle=0x00000057
        ]",
        "LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2023 to structure[
            gle=0x00000057
        ]",
        "\u000aRefer to \"https:\/\/learn.microsoft.com\/windows\/desktop\/Debug\/system-error-codes\" for error information."
    ],
    "FailureDetails":"Err = 0x00000057, LastOperation = Gather data, scope: EVERYTHING, LastPhase = Downlevel",
    "DeviceDriverInfo":null,
    "Remediation":[
        
    ],
    "SetupPhaseInfo":null,
    "SetupOperationInfo":null
}

範例登錄機碼

Addreg 登錄機碼的範例。