Manufacturing Windows on Arm devices

Windows 11 is available in 64-bit Arm architecture. Deploying Windows on Arm is nearly identical to deploying the AMD64 version of Windows, with a few differences that are called out below. The differences are primarily in setting up your deployment, but customizing your image is the same process. You can follow the steps in the End to end deployment guide, substituting Arm64 for AMD64 in the commands that require specifying an architecture.

Customization processes that are the same

Below is a non-exhaustive list of processes that are identical between AMD64 and Arm manufacturing.

  • Windows Assessment and Deployment kit

    The Windows Assessment and Deployment kit (ADK) and Windows PE-addon include packages to work with Arm images, including creating bootable Arm Windows PE media. You must install the Windows ADK and matching Windows PE add-on on an AMD64 technician PC to start working with Arm images.

  • Images

    The Arm installation WIM is available on Windows installation media. You can service perform both online and offline customizations to an Arm installation WIM:

    • Offline servicing: You can mount and modify (service) this WIM just like any other WIM. You don't need a PC with an Arm processor to service an Arm WIM.
    • Online servicing: You can use online servicing in Audit mode, just as with other versions of Windows. When you're finished in Audit mode, run Sysprep, boot into Windows PE, and use DISM to recapture your image.
  • Languages

    Adding and removing languages is unchaged. Windows on Arm supports the same language components and processes as AMD64. Use the Arm version of the Languages and Optional Features ISO to work with languages.

  • Features on Demand

    The process of adding Features on Demand is the same. Use DISM /add-capabilityto add Features on Demand to ensure the compatible versions of the FOD packages are added to your image. Use the Arm version of the Languages and Optional Features ISO to add Arm FOD packages.

  • Drivers

    Adding drivers is the same process across architectures. Arm installation images don't include inbox drivers that you need to boot and run Windows, so make sure to use DISM to inject drivers into your offline image prior to deploying the image.

  • Applications

    Desktop applications, UWP, and desktop bridge applications are all installed the same way on Arm as they are for other Windows architectures. Make sure that you've tested your applications on a running Arm Windows installation.

  • Hardware validation

    Windows PE continues to not be supported for hardware validation scenarios. Validation OS is the Microsoft-recommended operating system for Hardware Validation and testing.

Differences in deploying Windows on Arm

Windows PE

What's not supported in Windows PE

The Arm version of Windows PE doesn't support:

  • PowerShell
  • .NET
  • Only Arm binaries can run, as there's no emulation layer to enable running x86 or amd64 apps.

Windows PE Bootable media

You have to create bootable Windows PE media for Arm. When you run CopyPE, specify Arm64 to create a set of Windows PE working files that you'll use to create bootable media that'll work on Arm.

Drivers

Drivers for your hardware are likely not included in boot images. Prior to booting and installing Windows, you should inject at least boot-critical drivers into the Arm installation and WinRE images. Make sure that you are using drivers that are compiled for Arm and have been tested with your hardware.

Unattend

Creating a catalog file (.clg) in Windows SIM requires you to use the 32-bit version of Windows SIM. You can use the 32-bit version of SIM by running it on a 32-bit version of Windows 10.

Disk partitions

The recommended partition layout is applicable on Arm, but your Arm SOC may require additional partitions that are setup using tooling provided by your ISV. Check with your ISV to see if they require additional partitions when deploying Arm.

Imaging tools

  • Windows setup - You can use Windows Setup to install the Windows on Arm onto your device.
  • DISM:
    • You can use DISM to apply an Arm WIM to a partition, but you may need to use custom tooling from your silicon vendor to configure any ISV-specific partitions.
    • You can't use DISM to flash an Arm FFU to a device.

Recovery

Windows on Arm includes the same recovery environment as AMD64 Windows 11:

  • The process to customize the recovery environment is the same for both architectures.
  • Tools that are used in an Arm recovery environment must be compatible with Arm.
  • PowerShell and .NET are not supported in the Arm WinRE environment.

Activation

Depending on your hardware platform, you may have to run additional tooling in addition to OA3Tool.exe to configure OEM activation. Check with your silicon vendor for information and instructions on any additional tooling you may need to configure OEM activation.