SetupDiag - narzędzie do diagnozowania problemów i błędów podczas aktualizacji wersji systemu Windows 10

Zgodnie z cyklem życia systemu Windows 10 użytkownicy powinni instalować duże dodatki Service Pack częściej niż w poprzednich wersjach systemu Windows. Aktualizacja systemu Windows 10 odbywa się 2 razy w roku. W tej chwili - najnowsza aktualna wersja systemu Windows 10 1803 (aktualizacja z kwietnia 2018 r.). Uaktualnienie systemu Windows 10 można porównać do zainstalowania dodatku Service Pack we wcześniejszych wersjach systemu Windows. Uczestnicy programu oceny wstępnej - Windows 10 Insider Preview instalują takie zespoły znacznie częściej - w ciągu miesiąca kompilacja systemu jest aktualizowana 3-4 razy (jak zobaczyć historię aktualizacji Windows 10).

Proces aktualizacji systemu Windows 10 nie zawsze jest prawidłowy. Z różnych powodów proces instalacji nowego zestawu może się nie powieść. Jednak nie zawsze można zrozumieć, dlaczego aktualizacja nie mogła zostać zainstalowana; system Windows po prostu nie wyświetla istotnych informacji o przyczynie, dla której aktualizacja nie mogła zostać zainstalowana. Jednak wszystkie niezbędne informacje o procedurze aktualizacji wersji są przechowywane w plikach dziennika. Informacje te mogą się przydać podczas diagnozowania problemów z aktualizacją systemu Windows 10..

Te dzienniki reprezentują zwykłe pliki tekstowe i aby ręcznie znaleźć w nich przydatne informacje, musisz być prawdziwym ekspertem Windows.

Treść

  • Narzędzie SetupDiag.exe
  • SetupDiag Rules
  • Błąd SetupDiag: Main () nie powiódł się z nieobsługiwanym wyjątkiem

Narzędzie SetupDiag.exe

Na szczęście Microsoft wydał niedawno nowe osobne narzędzie diagnostyczne. SetupDiag.exe, co pozwala uzyskać szczegółowe informacje o powodach, dla których nie było możliwe zaktualizowanie wersji systemu Windows 10 na komputerze.

To narzędzie jest konsolą, musi być uruchomione bezpośrednio na komputerze z Win10, którego nie można zaktualizować, lub offline na innym komputerze, na który najpierw trzeba skopiować pliki dziennika z komputera, na którym występuje problem.

Narzędzie SetupDiag skanuje dzienniki instalacji systemu Windows i wyszukuje w nim określone błędy wskazujące na konkretny problem z aktualizacją systemu Windows.

Narzędzie SetupDiag.exe jest przeznaczone dla systemu Windows 10 i wymaga zainstalowania programu .NET Framework 4.6 lub nowszego (jak ustalić, które wersje programu .NET Framework są zainstalowane na komputerze). Możesz użyć tego narzędzia zarówno do analizy błędów aktualizacji kompilacji systemu Windows 10, jak i podczas aktualizacji do systemu Windows 10 z Windows 7 SP1 lub Windows 8.1 (musisz skopiować pliki dziennika aktualizacji do analizy na komputer z systemem Windows 10).

Pobierz narzędzie SetupDiag ze strony https://go.microsoft.com/fwlink/?linkid=870142 i uruchom je jako administrator. Po uruchomieniu bez parametrów narzędzie próbuje znaleźć pliki dziennika utworzone przez system Windows 10 w procesie aktualizacji.

Wyszukiwanie jest przeprowadzane na różnych standardowych ścieżkach tworzonych przez system na różnych etapach instalowania nowego zestawu. Pliki dziennika są domyślnie przechowywane w następujących folderach:

  • \ $ Windows. ~ Bt \ Sources \ Cofanie - pliki aktualizacji pojawiają się w tym katalogu, jeśli proces aktualizacji Windows 10 nie powiódł się i trzeba było przywrócić poprzednią wersję.
  • \ $ Windows. ~ Bt \ sources \ panther
  • \ Windows \ Panther
  • \ Windows \ Panther \ NewOS

Po zakończeniu analizy dzienników narzędzie tworzy w katalogu, z którego jest uruchamiany plik results.log, który zawiera listę błędów, które wystąpiły podczas procesu aktualizacji (lokalizację końcowego pliku można określić za pomocą /Wyjście). Ponadto narzędzie tworzy archiwum zip ze źródłowymi plikami dziennika.

Możesz uruchomić narzędzie offline, skanując pliki dziennika skopiowane z innego komputera. Na przykład, aby wyszukać pliki dziennika w określonym folderze offline i zapisać wynik w określonym pliku, wykonaj:

SetupDiag.exe /Output:C:\SetupDiag\Results.log / Tryb: Offline / Logs Ścieżka: D: \ Logs

Za pomocą narzędzia SetupDiag można analizować pliki minidump tworzone w systemie Windows 10 po pojawieniu się BSOD (do analizy należy zainstalować program WinDbg). Plik setupmem.dmp jest tworzony w% SystemDrive% $ Windows. ~ Bt \ Sources \ Rollback lub w% WinDir% \ Panther \ NewOS \ Rollback, w zależności od tego, na jakim etapie proces aktualizacji systemu Windows 10 został przerwany.

Aby przeanalizować plik zrzutu setupmem.dmp w określonym katalogu, uruchom:

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

SetupDiag Rules

Po uruchomieniu SetupDiag w konsoli zobaczysz następujące linie:

SetupDiag: reguła przetwarzania: CompatScanOnly. Brak dopasowania.
SetupDiag: reguła przetwarzania: BitLockerHardblock. Brak dopasowania.
SetupDiag: reguła przetwarzania: VHDHardblock. Brak dopasowania.
SetupDiag: reguła przetwarzania: PortableWorkspaceHardblock. Brak dopasowania.
SetupDiag: reguła przetwarzania: AuditModeHardblock. Brak dopasowania.
SetupDiag: reguła przetwarzania: SafeModeHardblock. Brak dopasowania.

Narzędzie SetupDiag wykorzystuje zestaw predefiniowanych szablonów (reguł), które są używane do wyszukiwania znanych problemów z aktualizacją wersji Windows 10. SetupDiag pomoże ci wykryć tylko błędy aktualizacji zdefiniowane w tych wzorcach. Wiersz Brak dopasowania oznacza, że ​​w dziennikach nie znaleziono określonego problemu.

Zestaw reguł SetupDiag rozwija się nieco. Na przykład w SetupDiag v1.00 (03.30.2018) istniało 26 reguł, a następnie w SetupDiag v1.20 (30.5.2018) jest już 41 szablonów. Każda reguła ma nazwę i unikalny identyfikator. Krótkie spojrzenie na reguły SetupDiag i powiązane błędy aktualizacji dla systemu Windows 10.

  1. CompatScanOnly - FFDAFD37-DB75-498A-A893-472D49A1311D - początek instalacji setup.exe został wywołany w trybie sprawdzania zgodności, a nie w trybie aktualizacji.
  2. BitLockerHardblock - C30152E2-938E-44B8-915B-D1181BA635AE - Funkcja BitLocker jest włączona w systemie źródłowym, który nie jest obsługiwany w systemie docelowym.
  3. VHDHardblock - D9ED1B82-4ED8-4DFD-8EC0-BE69048978CC - system uruchamia się jako obraz VHD (ten tryb aktualizacji systemu Windows 10 nie jest obsługiwany).
  4. PortableWorkspaceHardblock - 5B0D3AB4-212A-4CE4-BDB9-37CA404BB280 - system uruchamia się z urządzenia USB Windows To-Go (aktualizacja systemu w środowisku Windows To-Go nie jest obsługiwana).
  5. AuditModeHardblock - A03BD71B-487B-4ACA-83A0-735B0F3F1A90 - system operacyjny jest załadowany w trybie audytu (tryb audytu).
  6. SafeModeHardblock - 404D9523-B7A8-4203-90AF-5FBB05B6579B - system operacyjny jest ładowany w trybie awaryjnym (tryb awaryjny).
  7. InsufficientSystemPartitionDiskSpaceHardblock - 3789FBF8-E177-437D-B1E3-D38B4C4269D1 - na partycji systemowej jest za mało miejsca na aktualizację.
  8. CompatBlockedApplicationAutoUninstall - BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5 - znaleziono niezgodną aplikację, którą należy usunąć przed aktualizacją wersji.
  9. CompatBlockedApplicationDismissable - EA52620B-E6A0-4BBC-882E-0686605736D9 - podczas instalacji w trybie cichym (z przełącznikiem / quiet) wystąpił błąd, który wymaga interakcji użytkownika i uniemożliwia instalację.
  10. CompatBlockedApplicationManualUninstall - 9E912E5F-25A5-4FC0-BEC1-CA0EA5432FF4 - w systemie znaleziono niestandardową aplikację, której nie ma w Dodaj / Usuń programy, których pliki należy usunąć ręcznie.
  11. HardblockDeviceOrDriver - ED3AEFA1-F3E2-4F33-8A21-184ADF215B1B - jeden z zainstalowanych sterowników nie jest zgodny z nowym systemem operacyjnym i musi zostać usunięty.
  12. HardblockMismchedLanguage - 60BA8449-CF23-4D92-A108-D6FCEFB95B45 nie jest zgodny z językiem źródłowym i docelowym.
  13. HardblockFlightSigning - 598F2802-3E7F-4697-BD18-7A6371C8B2F8 - próbujesz zainstalować wersję wstępną (jako część programu Windows Insider) na komputerze z włączonym Bezpiecznym uruchomieniem. W tym trybie wersja wstępna nie zostanie załadowana.
  14. DiskSpaceBlockInDownLevel - 6080AFAC-892E-4903-94EA-7A17E69E549E Podczas operacji na dysku zabrakło miejsca.
  15. DiskSpaceFailure - 981DCBA5-B8D0-4BA7-A8AB-4030F7A10191 - Po ponownym uruchomieniu do nowej wersji zabrakło miejsca na dysku.
  16. DeviceInstallHang - 37BB1C3A-4D79-40E8-A556-FDA126D40BC6 - podczas instalacji system zawiesza się lub ulega awarii w BSOD.
  17. DebugSetupMemoryDump - C7C63D8A-C5F6-4255-8031-74597773C3C6 - BSOD podczas instalacji. W celu dalszej analizy należy sprawdzić plik zrzutu pamięci.
  18. DebugSetupCrash - CEEBA202-6F04-4BC3-84B8-7B99AED924B1 - błąd instalacji wymagający analizy zrzutu pamięci.
  19. DebugMemoryDump - 505ED489-329A-43F5-B467-FCAAF6A1264C - reguła do analizy pliku memory.dmp utworzonego podczas instalacji / aktualizacji.
  20. BootFailureDetected - 4FB446C2-D4EC-40B4-97E2-67EB19D1CFB7 - błąd ładowania na pewnym etapie aktualizacji.
  21. FindDebugInfoFromRollbackLog - 9600EB68-1120-4A87-9FE9-3A4A70ACFC37 - Informacje BSOD bez konieczności instalowania pakietu debugowania.
  22. AdvancedInstallerFailed - 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC - krytyczny błąd instalatora.
  23. FindMigApplyUnitFailure - A4232E11-4043-4A37-9BF4-5901C46FD781 - błąd w module migracji.
  24. FindMigGatherUnitFailure - D04C064B-CD77-4E64-96D6-D26F30B4EE29 - Szczegóły dotyczące komponentu nieudanej migracji.
  25. CriticalSafeOSDUFailure - 73566DF2-CA26-4073-B34C-C9BC70DBF043 - błąd aktualizacji obrazu SafeOS.
  26. UserProfileCreationFailureDuringOnlineApply - 678117CE-F6A9-40C5-BC9F-A22575C78B14 - wystąpił błąd podczas tworzenia lub zmiany profilu użytkownika w trybie fazy aktualizacji online.
  27. WimMountFailure - BE6DF2F1-19A6-48C6-AEF8-D3B0CE3D4549 - nie można zamontować pliku wim podczas aktualizacji.
  28. FindSuccessfulUpgrade - 8A0824C8-A56D-4C55-95A0-22751AB62F3E - Aktualizacja kompilacji systemu Windows 10 zakończyła się pomyślnie.
  29. FindSetupHostReportedFailure - 6253C04F-2E4E-4F7A-B88E-95A69702F7EC - awaria na początku procesu aktualizacji podczas uruchamiania setuphost.exe.
  30. FindDownlevelFailure - 716334B7-F46A-4BAA-94F2-3E31BC9EFA55 - błąd w SetupPlatform.
  31. FindAbruptDownlevelFailure - 55882B1A-DA3E-408A-9076-23B22A0472BD - informacja o ostatnim błędzie, gdy nieoczekiwanie psują się wpisy w dzienniku.
  32. FindSetupPlatformFailedOperationInfo - 307A0133-F06B-4B75-AEA8-116C3B53C2D1 - informacja o fazie i błędzie krytycznej awarii w SetupPlatform.
  33. FindRollbackFailure - 3A43C9B5-05B3-4F7C-A955-88F991BB5A48 - ostatnia akcja i nieudana faza przed rozpoczęciem procedury wycofywania do poprzedniej wersji systemu Windows 10.
  34. AdvancedInstallerGenericFailure - 4019550D-4CAA-45B0-A222-349C48E86F71 - błędy odczytu / zapisu AdvancedInstaller.
  35. OptionalComponentFailedToGetOCsFromPackage - D012E2A2-99D8-4A8C-BBB2-088B92083D78 - informacja o błędzie w komponencie opcjonalnym podczas próby uzyskania listy komponentów pakietu.
  36. OptionalComponentOpenPackageFailed - 22952520-EC89-4FBD-94E0-B67DF88347F6 - wystąpił błąd podczas próby otwarcia komponentu opcjonalnego.
  37. OptionalComponentInitCBSSessionFailed - 63340812-9252-45F3-A0F2-B2A4CA5E9317 - instalator lub określony komponent nie działa.
  38. UserProfileCreationFailureDuringFinalize - C6677BA6-2E53-4A88-B528-336D15ED1A64 - błąd podczas tworzenia profilu na ostatnim etapie aktualizacji.
  39. WimApplyExtractFailure - 746879E9-C9C5-488C-8D4B-0C811FF3A9A8 - błąd obrazu wim podczas rozpakowywania.
  40. UpdateAgentExpanderFailure - 66E496B3-7D19-47FA-B19B-4040B9FD17E2 - Błąd DPX podczas aktualizacji przez Windows Update.
  41. FindFatalPluginFailure - E48E3F1C-26F6-4AFB-859B-BF637DA49636 - błąd w jednej z wtyczek.

Przykładowy plik results.log z informacjami o systemie, źródłowej i docelowej wersji systemu Windows 10 oraz wykrytym błędzie FindFatalPluginFailure:

Znaleziono pasujący profil: FindFatalPluginFailure - E48E3F1C-26F6-4AFB-859B-BF637DA49636
Informacje o systemie:
Nazwa komputera = Offline
Producent = VMware, Inc.
Model = VMware Virtual Platform
HostOSArchitecture = x64
FirmwareType = PCAT
BiosReleaseDate = 20150921000000.000000 + 000
BiosVendor = PhoenixBIOS 4.0 wydanie 6.0
BiosVersion = 6,00
HostOSVersion = 10.0.16299
HostOSBuildString = 16299.15.amd64fre.rs3_release.170928-1534
TargetOSBuildString = 10.0.17134.1 (rs4_release.180410-1804)
HostOSLanguageId = 1049
HostOSEdition = Professional
Zarejestrowany AV =
FilterDrivers =
UpgradeStartTime = 5/24/2018 21:17:59
UpgradeEndTime = 5/24/2018 10:10:36 PM
UpgradeElapsedTime = 00:52:37
ReportId = 004db4ee-17f9-4b6f-bc46-a8bd9877ccd8

Błąd: SetupDiag zgłasza krytyczną awarię wtyczki migracji. Nazwa wtyczki =% windir% \ system32 \igration \ CntrtextMig.dll, Operacja migracji = IPostApply-> ApplySuccess, Błąd wtyczki: 0x00000032

W tym przykładzie narzędzie SetupDiag wykryło, że instalacja aktualizacji nie powiodła się z powodu błędu we wtyczce% windir% \ system32 \igration \ CntrtextMig.dll.

Po pomyślnej aktualizacji plik results.log będzie zawierać wiersz:

Znaleziono pasujący profil: FindSuccessfulUpgrade - 8A0824C8-A56D-4C55-95A0-22751AB62F3E

Błąd SetupDiag: Main () nie powiódł się z nieobsługiwanym wyjątkiem

W niektórych przypadkach po uruchomieniu SetupDiag w dzienniku może wystąpić błąd: „SetupDiag: Main () nie powiódł się z nieobsługiwanym wyjątkiem„.

10:20:58 - Błąd SetupDiag: Main () z nieobsługiwanym wyjątkiem:
Nie można znaleźć części ścieżki „C: \ $ Windows. ~ Bt \ sources \ rollback”.
Wyjątek System.IO.DirectoryNotFoundException: Nie można znaleźć części ścieżki „C: \ $ Windows. ~ Bt \ sources \ rollback”.
Źródło: mscorlib
Stos: w System.IO .__ Error.WinIOError (Int32 errorCode, String możeFullPath)
w System.IO.FileSystemEnumerableIterator'1.CommonInit ()
w System.IO.FileSystemEnumerableIterator'1 ... ctor (ścieżka String, String originalUserPath, string searchPattern, SearchOption searchOption, SearchResultHandler'1 resultHandler, Boolean checkHost)
w System.IO.DirectoryInfo.InternalGetFiles (string searchPattern, SearchOption searchOption)
w System.IO.DirectoryInfo.GetFiles (string searchPattern, SearchOption searchOption)
w Microsoft.Internal.Deployment.SetupDiag.CSetupAPIParser.GetCorrectSetupApiLog (String logsPath, DateTime dtSetupActLogTime)
w Microsoft.Internal.Deployment.SetupDiag.Directive.DirectiveDetermineDeviceInstallHang ()
w Microsoft.Internal.Deployment.SetupDiag.Directive.DoDirective ()
w Microsoft.Internal.Deployment.SetupDiag.CSetupDiag.RunDiag (String strRulesFile, String strlogsPath, String strMode, String strOutPut, String strFormat, String resLevel, Boolean fCreateLogs)
w Microsoft.Internal.Deployment.SetupDiag.Program.Main (Argumenty String [])

W moim przypadku było to spowodowane brakiem jednego z folderów z dziennikami. Rozwiązałem ten problem, kopiując pozostałe dzienniki do określonego folderu i uruchamiając SetupDiag w trybie offline:

SetupDiag.exe / Wyjście:C:\tools\Results.log / Tryb: Offline / Logs Ścieżka: c: \ Logs \

Niektóre znalezione błędy są dość łatwe do naprawienia (na przykład brak miejsca na partycji systemowej), inne są trudniejsze. W każdym razie narzędzie SetupDiag pozwala diagnozować i naprawiać problemy z aktualizacją edycji na komputerach z systemem Windows 10 znacznie szybciej i eliminuje potrzebę ręcznej analizy dzienników przez administratora.