Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to: IoT Edge 1.5
Important
IoT Edge 1.5 LTS is the supported release. IoT Edge 1.4 LTS is end of life as of November 12, 2024. If you are on an earlier release, see Update IoT Edge.
When a new version of the IoT Edge for Linux on Windows (EFLOW) application is released, update your IoT Edge devices to get the latest features and security improvements. This article explains how to update your IoT Edge for Linux on Windows devices when a new version is available.
With IoT Edge for Linux on Windows, IoT Edge runs in a Linux virtual machine hosted on a Windows device. This virtual machine comes preinstalled with IoT Edge and doesn't have a package manager, so you can't manually update or change any of the VM components. Instead, Microsoft Update manages the virtual machine to keep the components up to date automatically.
The EFLOW virtual machine is designed for reliable updates through Microsoft Update. The virtual machine operating system uses an A/B update partition scheme to make each update safe and lets you roll back to a previous version if something goes wrong during the update process.
Each update has two main components that can be updated to the latest versions. The first is the EFLOW virtual machine and its internal components. For more information about EFLOW, see Azure IoT Edge for Linux on Windows composition. This also includes the virtual machine base operating system. The EFLOW virtual machine is based on Microsoft Azure Linux, and each update provides performance and security fixes to keep the OS up to date with the latest CVE patches. The EFLOW release notes show the Azure Linux version used, and you can check the CBL-Mariner Releases for the list of CVEs fixed for each version.
The second component is the group of Windows runtime components needed to run and interop with the EFLOW virtual machine. The virtual machine lifecycle and interop is managed through different components: WSSDAgent, EFLOWProxy service, and the PowerShell module.
EFLOW updates are sequential, and you need to update to every version in order. To get to the latest version, either do a fresh installation using the latest available version or apply all previous servicing updates up to the version you want.
Important
You can upgrade from EFLOW 1.4 LTS to EFLOW 1.5 LTS using any of the methods described in this article. No special steps are needed to upgrade from EFLOW 1.4 LTS to EFLOW 1.5 LTS.
To find the latest version of Azure IoT Edge for Linux on Windows, see EFLOW releases.
Update using Microsoft Update
To get IoT Edge for Linux on Windows updates, configure the Windows host to get updates for other Microsoft products. By default, Microsoft Updates is on during EFLOW installation. If you need a custom configuration after EFLOW installation, turn this option on or off with these steps:
Open Settings on the Windows host.
Select Updates & Security.
Select Advanced options.
Turn the Receive updates for other Microsoft products when you update Windows option to On.
Update using Windows Server Update Services (WSUS)
On-premises updates using WSUS are supported for IoT Edge for Linux on Windows updates. For more information about WSUS, see Device Management Overview - WSUS.
Offline manual update
If you have restricted or limited internet connectivity, you can manually apply EFLOW updates offline. Use Microsoft Update offline mechanisms to manually download and install IoT Edge for Linux on Windows updates. Follow these steps:
Check the current EFLOW installed version. Open Settings then select Apps -> Apps & features. Search for Azure IoT Edge.
Search and download the required update from EFLOW - Microsoft Update catalog.
Extract AzureIoTEdge.msi from the downloaded .cab file.
Install the extracted AzureIoTEdge.msi.
Managing Microsoft Updates
IoT Edge for Linux on Windows updates are serviced using Microsoft Update channel. To change receiving EFLOW updates, you have to manage Microsoft Updates. The following list includes ways to automate turning on or off Microsoft updates. For more information about managing OS updates, see OS Updates.
CSP Policies - Use the Update/AllowMUUpdateService CSP policy. For more information about the Microsoft Updates CSP policy, see Policy CSP - MU Update.
Manually manage Microsoft Updates - To opt in to Microsoft Updates, see Opt-In to Microsoft Update.
Migration between EFLOW with Azure Linux 2.0 to EFLOW with Azure Linux 3.0
Migration between Azure Linux 2.0 and Azure Linux 3.0 was introduced as part of EFLOW 1.5.5.07025 update. This migration handles the EFLOW VM migration from EFLOW 1.5.4.07025 with Azure Linux 2.0 to EFLOW 1.5.5.07025 with Azure Linux 3.0, including the following:
- IoT Edge runtime
- IoT Edge configurations
- Containers
- Networking and VM configuration
- Stored files
To migrate from EFLOW 1.5.4.07025 with Azure Linux 2.0 to EFLOW 1.5.5.07025 with Azure Linux 3.0, use the following steps.
Get the latest Azure EFLOW 1.5.4.07025 update. If you're using Windows Update, Check Updates to get the latest EFLOW update.
For auto-download migration (needs internet connection), skip this step. If the EFLOW VM has limited/no internet access, download the necessary files before starting the migration (download one of the following).
Open an elevated PowerShell session
Start the EFLOW migration
Note
You can migrate with one single cmdlet by using the
-autoConfirm
flag with theStart-EflowMigration
cmdlet. If specifiedConfirm-EflowMigration
doesn't needs to be called to proceed with the Azure Linux 3.0 migration.- If you're using the auto-download migration option, run the following cmdlet
Start-EflowMigration
- If you downloaded the MSI in Step 2, use the downloaded files to apply the migration (replace "X64" with "ARM64" in the filepath if using ARM64).
Start-EflowMigration -standaloneMsiPath "<path-to-folder>\AzureIoTEdge_Update_LTS_1.5.5.07025_X64.msi"
- If you're using the auto-download migration option, run the following cmdlet
Confirm the EFLOW migration
- If you're using the auto-download migration option, run the following cmdlet
Confirm-EflowMigration
- If you downloaded the MSI in Step 2, use the downloaded files to apply the migration (replace "X64" with "ARM64" in the filepath if using ARM64).
Confirm-EflowMigration -updateMsiPath "<path-to-folder>\AzureIoTEdge_Update_LTS_1.5.5.07025_X64.msi"
- If you're using the auto-download migration option, run the following cmdlet
Warning
If the migration fails for any reason, the EFLOW VM is restored to its original EFLOW 1.5.4.07025 version with Azure Linux 2.0.
To cancel the migration or manually restore the EFLOW VM to its prior state, run the Start-EflowMigration
cmdlet and then Restore-EflowPriorToMigration
.
For more information, check Start-EflowMigration
, Confirm-EflowMigration
and Restore-EflowPriorToMigration
cmdlet documentation by using the Get-Help <cmdlet> -full
command.
Next steps
View the latest IoT Edge for Linux on Windows releases.
Learn about IoT Edge for Linux on Windows security premises.