Windows Server 2016 In-Place Upgrade to Windows Server 2025 Fails During System Reboot

Diego 20 Reputation points
2026-11-04T13:25:22.9633333+00:00

An in-place upgrade from Windows Server 2016 to Windows Server 2025 was initiated. The upgrade process starts successfully and progresses through the initial installation stages. However, during the reboot phase, the upgrade fails to complete successfully.

Windows for business | Windows 365 Enterprise
0 comments No comments

Answer accepted by question author
Ronald Sabiiti 1,585 Reputation points Independent Advisor
2026-11-04T14:16:08.2733333+00:00

Hi Diego,

Thank you for describing the issue.

Since the upgrade fails during the reboot phase, I recommend checking the Windows Setup logs to identify the cause:

  1. Navigate to C:\$WINDOWS.~BT\Sources\Panther\.

Review setuperr.log and setupact.log.

Run SetupDiag to identify potential upgrade issues.

Check for incompatible drivers, applications, or pending updates.

Ensure you have a verified backup before retrying the upgrade.

Could you please confirm:

Does the server roll back to Windows Server 2016?

Is there an error code after the failed reboot?

Can you share the SetupDiag results or setuperr.log?

Additional resources:

Windows Server upgrade options

Troubleshoot Windows Server Setup

Thank you for choosing Microsoft Q&A.

Was this answer helpful?

1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. AI answer

    2026-11-04T13:26:24.7966667+00:00

    A direct Windows Server 2016-to-2025 upgrade is supported only for an eligible nonclustered server using installation media; after the rollback, run SetupDiag and inspect the rollback logs before attempting the upgrade again.^1^

    1. Confirm that the attempted method is supported

    • Physical server or non-Azure VM: Windows Server 2016 can upgrade directly to Windows Server 2025 by launching setup.exe from Windows Server 2025 installation media.
    • Windows Update: Windows Server 2016 cannot use the Windows Update feature-upgrade path directly to Server 2025. That method requires Server 2019 or Server 2022 plus its required cumulative update.^2^
    • Failover cluster: A normal direct in-place upgrade is not applicable. Cluster OS rolling upgrades advance only one version at a time.^1^
    • RDS role installed: RDS supports upgrading only two Windows Server versions at a time. Therefore, Server 2016 cannot go directly to Server 2025; use a staged path or migrate to new Server 2025 RDS hosts. The documented role upgrade order begins with RD Connection Broker and then RD Licensing before RD Session Host.^3^
    • Azure VM: Use the Azure VM upgrade procedure or Windows Update rather than the general installation-media procedure. Azure also provides an OS Upgrade Assessment Tool for validating the path and known issues.^4^

    2. Obtain the actual reboot-stage failure

    After Windows rolls back to Server 2016, first check the SetupDiag result that Windows Setup normally creates:

    $paths = @(
      "$env:windir\Logs\SetupDiag\SetupDiagResults.xml",
      "C:\`$Windows.~BT\Sources\Rollback\setupact.log",
      "C:\`$Windows.~BT\Sources\Rollback\setuperr.log",
      "C:\`$Windows.~BT\Sources\Rollback\setupapi\setupapi.dev.log"
    )
    $paths | Where-Object { Test-Path $_ } |
      ForEach-Object { Get-Item $_ | Select-Object FullName, Length, LastWriteTime }
    

    SetupDiag examines Windows Setup logs and reports the matched failure rule. Windows Setup stores its automatic result at %WinDir%\Logs\SetupDiag\SetupDiagResults.xml; when multiple failures are reported, the last failure is normally the fatal one.^5^

    If that result is absent or inconclusive:

    1. Download and run the latest SetupDiag from an elevated command prompt.
    2. Save the result outside the temporary Setup folders:
    mkdir C:\SetupDiag
    SetupDiag.exe /Output:C:\SetupDiag\Results.log /Verbose
    notepad C:\SetupDiag\Results.log
    
    1. Record the complete result and extend code, such as 0xC1900101 - 0x30018, plus the matched rule and failing driver, file, or component.

    3. Inspect the rollback evidence

    For a failure after restart, preserve the entire hidden folder C:\$Windows.~BT\Sources before cleanup. The principal files are:

    • C:\$Windows.~BT\Sources\Rollback\setupact.log — rollback actions.
    • C:\$Windows.~BT\Sources\Rollback\setuperr.log — Setup errors.
    • C:\$Windows.~BT\Sources\Rollback\setupapi\setupapi.dev.log — device and driver installation.
    • C:\$Windows.~BT\Sources\Rollback\setupmem.dmp — upgrade bug-check dump, when created.
    • C:\$Windows.~BT\Sources\Rollback\*.evtx — rollback event logs.

    setupact.log is the primary starting point. Search from the bottom upward for the last occurrence of the result code, then correlate that timestamp across setuperr.log and setupapi.dev.log. Also search for Shell application requested abort and Abandoning apply due to error.^6^

    Do not apply a boot-record repair such as bcdboot, remove drivers, or alter partitions without a SetupDiag rule or log entry identifying that specific problem.

    4. Correct the identified blocker, then retry

    Before retrying:

    1. Create and restore-test a full backup of the OS, applications, and data.
    2. Verify that installed roles and applications support Server 2025. AD DS domain controllers should be replaced through clean installation, promotion, and demotion rather than upgraded in place.^2^
    3. Confirm that architecture, language, installation type, and edition transition are supported. Server Core cannot switch to Desktop Experience during the upgrade, and Datacenter cannot downgrade to Standard.^1^
    4. If NIC Teaming is configured, disable it for the upgrade and restore it afterward.
    5. On non-Azure, nonclustered systems, mount matching Server 2025 media, run setup.exe, select the correct edition, and choose Keep files, settings, and apps.^2^

    If SetupDiag still cannot identify the fatal failure, provide Microsoft Support with SetupDiagResults, the complete Panther and Rollback folders, the full result/extend code, and any setupmem.dmp.


    References

    1. Plan your Windows Server upgrade
    2. Perform an in-place upgrade of Windows Server
    3. Upgrade Remote Desktop Services deployments
    4. In-place upgrade for VMs running Windows Server in Azure
    5. SetupDiag
    6. Windows upgrade log files
    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.