Windows upgrade has become a more frequent process in Windows 10 ear with two big feature updates every year. If you are Windows 10 insider who signed up for the Preview builds in the fast ring, you are going through the full upgrade cycle in a much faster pace, likely once a week, sometimes twice.
It’s not that easy to troubleshoot when an upgrade or feature update fails because Windows doesn’t provide a lot of details of the underlying problem. However, it does keep detailed records of every activity in the log files that helps you narrow down the issue.
Reading raw log files require some technical skills and a pair of very sharp eyes. Fortunately, Microsoft has a diagnostic tool called SetupDiag.exe, a command-line based standalone tool specifically designed to obtain details about why a Windows 10 upgrade was unsuccessful.
Download the tool from this page, save it to a fold that is easy to access and double-click it to identify the setup issues on the current PC. It’s a command-line tool but is smart enough to know the common places where the setup log files are saved.
It saves the result in a plain text file in the same folder as SetupDiag, named SetupDiagResults.log. However, you can use the switch /Output to specify a different location to save the result file.
If you are diagnosing a problem on another PC, copy the folders containing the log files to a local folder and run the following command.
SetupDiag.exe /Mode:Offline /LogsPath:d:dump /Output:c:setupdiagresults.log
Remember to replace d:dump with the name of the locations where you copied your log files.
Windows Setup log files are available in several places, depending on when the upgrade failed. If an upgrade failed and rolled back to the previous Windows version, the log files are stored in $windows.~btSourcesRollback. If it fails before getting the access to the drives, the log files will be saved in $windows.~btSourcesPanther.
Here is an example of the result with a successful upgrade.
Matching Profile found: FindSuccessfulUpgrade - 8A0824C8-A56D-4C55-95A0-22751AB62F3E System Information: Machine Name = C-20120711B Manufacturer = Hewlett-Packard Model = HP Compaq 6200 Pro MT PC HostOSArchitecture = x64 FirmwareType = PCAT BiosReleaseDate = 20111110000000.000000+000 BiosVendor = Default System BIOS BiosVersion = J01 v02.15 HostOSVersion = 10.0.15063 HostOSBuildString = 15063.0.amd64fre.rs2_release.170317-1834 TargetOSBuildString = 10.0.16299.15 (rs3_release.170928-1534) HostOSLanguageId = 1033 HostOSEdition = Professional RegisteredAV = Sophos Anti,Windows Defender, FilterDrivers = hmpalert,Sophos Endpoint Defense,SAVOnAccess,wcifs,luafv,Sophos Endpoint Defense,Wof,FileInfo, UpgradeStartTime = 3/25/2018 8:58:14 PM UpgradeEndTime = 3/26/2018 12:09:37 AM UpgradeElapsedTime = 03:11:23 CommercialId = Offline CV = ReportId = SetupDiag reports successful upgrade found. This appears to be a successful update as the last operation was: OOBEBoot and the result was: success