Perform an in-place upgrade - Amazon Elastic Compute Cloud

Perform an in-place upgrade

Before you perform an in-place upgrade, you must determine which network drivers the instance is running. PV network drivers enable you to access your instance using Remote Desktop. Instances use either AWS PV, Intel Network Adapter, or the Enhanced Networking drivers. For more information, see Paravirtual drivers for Windows instances.

Before you begin an in-place upgrade

Complete the following tasks and note the following important details before you begin your in-place upgrade.

Upgrade an instance in-place with AWS PV, Intel Network Adapter, or the Enhanced Networking drivers

Use the following procedure to upgrade a Windows Server instance using the AWS PV, Intel Network Adapter, or the Enhanced Networking network drivers.

To perform the in-place upgrade
  1. Create an AMI of the system you plan to upgrade for either backup or testing purposes. You can then perform the upgrade on the copy to simulate a test environment. If the upgrade completes, you can switch traffic to this instance with little downtime. If the upgrade fails, you can revert to the backup. For more information, see Create a custom Windows AMI.

  2. Ensure that your Windows Server instance is using the latest network drivers.

    1. To update your AWS PV driver, see Upgrade PV drivers on Windows instances.

    2. To update your ENA driver, see Install or upgrade Elastic Network Adapter (ENA) driver.

    3. To update your Intel drivers, see Enable enhanced networking with the Intel 82599 VF interface on Windows instances

  3. Open the Amazon EC2 console at

  4. In the navigation pane, choose Instances. Locate the instance. Make a note of the instance ID and Availability Zone for the instance. You need this information later in this procedure.

  5. If you are upgrading from Windows Server 2012 or 2012 R2 to Windows Server 2016, 2019, or 2022, perform the following on your instance before proceeding:

    1. Uninstall the EC2Config service. For more information, see Stop, restart, delete, or uninstall EC2Config.

    2. Install EC2Launch v1 or the EC2Launch v2 agent. For more information, see Configure a Windows instance using EC2Launch and Configure a Windows instance using EC2Launch v2.

    3. Install the AWS Systems Manager SSM Agent. For more information, see Working with SSM Agent in the AWS Systems Manager User Guide.

  6. Create a new volume from a Windows Server installation media snapshot.

    1. In the left navigation pane, under Elastic Block Store, choose Snapshots.

    2. From the filter bar, choose Public snapshots.

    3. In the search bar, specify the following filters:

      • Choose Owner Alias, then =, then amazon.

      • Choose Description, and then start typing Windows. Select the Windows filter that matches the system architecture and language preference you're upgrading to. For example, choose Windows 2019 English Installation Media to upgrade to Windows Server 2019.

    4. Select the check box next to the snapshot that matches the system architecture and language preference you're upgrading to, and then choose Actions, Create volume from snapshot.

    5. On the Create volume page, choose the Availability Zone that matches your Windows instance, and then choose Create volume.

  7. In the Successfully created volume vol-1234567890example banner at the top of the page, choose the ID of the volume that you just created.

  8. Choose Actions, Attach volume.

  9. On the Attach volume page, for Instance, select the instance ID of your Windows instance, and then choose Attach volume.

  10. Make the new volume available for use by following the steps at Make an Amazon EBS volume available for use on Windows.


    Do not initialize the disk because doing so will delete the existing data.

  11. In Windows PowerShell, switch to the new volume drive. Begin the upgrade by opening the installation media volume you attached to the instance.

    1. If you are upgrading to Windows Server 2016 or later, run the following:

      .\setup.exe /auto upgrade /dynamicupdate disable

      Running the setup.exe with the /dynamicupdate option set to disabled prevents Windows from installing updates during the Windows Server upgrade process, as installing updates during the upgrade can cause failures. You can install updates with Windows Update after the upgrade completes.

      If you are upgrading to an earlier version of Windows Server, run the following:

    2. For Select the operating system you want to install, select the full installation SKU for your Windows Server instance, and choose Next.

    3. For Which type of installation do you want?, choose Upgrade.

    4. Complete the wizard.

Windows Server Setup copies and processes files. After several minutes, your Remote Desktop session closes. The time it takes to upgrade depends on the number of applications and server roles running on your Windows Server instance. The upgrade process could take as little as 40 minutes or several hours. The instance fails status check 1 of 2 during the upgrade process. When the upgrade completes, both status checks pass. You can check the system log for console output or use Amazon CloudWatch metrics for disk and CPU activity to determine whether the upgrade is progressing.


If upgrading to Windows Server 2019, after the upgrade is complete you can change the desktop background manually to remove the previous operating system name if desired.

If the instance has not passed both status checks after several hours, see Troubleshoot an upgrade.

Post upgrade tasks

  1. Log in to the instance to initiate an upgrade for the .NET Framework and reboot the system when prompted.

  2. If you haven't already done so in a prior step, install the EC2Launch v1 or EC2Launch v2 agent. For more information, see Configure a Windows instance using EC2Launch and Configure a Windows instance using EC2Launch v2.

  3. If you upgraded to Windows Server 2012 R2, we recommend that you upgrade the PV drivers to AWS PV drivers. If you upgraded on a Nitro-based instance, we recommend that you install or upgrade the NVME and ENA drivers. For more information, see Windows Server 2012 R2, Install or upgrade AWS NVMe drivers using PowerShell, or Enable enhanced networking on Windows.

  4. Re-enable antivirus and anti-spyware software and firewalls.