Here is a guide on setting up ConfigMgr 2403 or later to deploy Windows 11 for ARM64 to a compatible device. In my case I was deploying the Lenovo X13s Gen 1 laptop that is a ARM64 device (the CPU is a Qualcomm Snapdragon 8cx Gen 3, and the GPU is a Qualcomm Adreno 690).
Credits: Extra thanks to Joe Parker and Philip Jorgensen with Lenovo for putting up with all my ARM64 hardware questions 🙂
Prerequisites
First of all, you need to be on ConfigMgr 2403 Current Branch or later, since that's the first Current Branch version supporting OSD for ARM64 devices. Second you need to do the following:
- Install Windows ADK 10.1.26100 or later (do not use 10.1.25398). This version has the x64 Emulator optional component for WinPE, which isrequired by the new ConfigMgr OSD binaries (the ConfigMgr team took the easy route instead of compiling native arm64 code).

- Download the Windows 11 for ARM64 media or later from Microsoft. I recommend version 23H2 or later.
Note: The Windows 11 for ARM64 media is a separate ISO for volume license customers, or index 1 of the Windows 11 IoT Enterprise media if using Visual Studio for downloading ISOs. - Download and extract the ARM64 drivers for the Lenovo X13s Gen 1 model, then create a WIM file of the extracted drivers.

- For network boot support, configure your distribution points with PXE support. I recommend the WDS-less PXE responder (the native ConfigMgr responder), but I have seen others having success with the WDS-based PXE responder too.

Configuring ConfigMgr for ARM64 OSD
Here follows the steps to configure ConfigMgr for ARM64 OSD.
- Import the Qualcomm boot critical drivers into your arm64 boot image. Import the drivers from the Chipset/N3HQC12W folder only.
Note: Adding these drivers will make the boot image un-usable for other ARM64 deployments, for example Hyper-V VMs when running Hyper-V on an ARM64 device. For now, I used a dedicated arm64 boot image for my testing. I have a feeling the Qualcomm boot critical drivers have way more driver than actually needed. Will do some research on this. - Create a legacy package containing the arm64 drivers for WIM file only.
- Import the Windows 11 Enterprise edition from the Windows 11 for ARM64 media.
- Create a bare metal deployment task sequence, and configure it to use the arm64 boot image, the arm64 media, and a step to download the legacy package containing the drivers to a path in the TS cache (I used %_SMSTSMDataPath%\DriverPackage).
- Add a PowerShell script that will extract and stage (inject) the drivers from the WIM file in the WinPE phase. To avoid having the TS fail if deployed to an ARM64 device you haven't added drivers to, set a condition to only run the script if the drivers folder is there (again, in my case I used %_SMSTSMDataPath%\DriverPackage).
Script to extract and inject drivers from a WIM file:
https://github.com/DeploymentResearch/DRFiles/tree/master/Scripts/ConfigMgr/ARM64OSD - Deploy the newly created Task Sequence to your favorite OSD collection.

Deploying Windows 11 for ARM64
Here follows the steps to start the Windows 11 ARM64 deployment of the Lenovo X13s.
- Start the Lenovo X13s device, and press F12 to get to the boot menu. I have only tested with the standard Lenovo USB-C dongle (40B70090US), but others may work.
Note: Due to a known resolution issue, the Lenovo X13s screen will look quite messy during the WinPE phase, and you'll have to Zoom in quite a lot if trying to read log files etc. Hopefully that will be fixed soon. - Select the Task Sequence you deployed earlier.



Additional Resources
ARM-based Operating System Deployment – By Lenovo
https://blog.lenovocdrt.com/#/2024/arm_osd?id=arm-based-operating-system-deployment
Hi John, I am wondering if you found a way to create a Win11 ARM task sequence or an ISO that will join VMs to Entra and manage with Intune. If you’ve made any progress or have any recommendations, I’d appreciate your insights. Looking forward to hearing from you. We are looking to use VMware Fusion as the primary hypervisor on Mac M series.
Yes, I have. Provisioning packages are architecture-agnostic for standard configuration use cases such as joining Entra ID (with or without enrolling in Intune, depending on package settings).
Check out these two posts:
https://www.deploymentresearch.com/back-to-basics-using-an-autounattend-xml-file-to-automate-windows-11-setup-from-media/
https://www.deploymentresearch.com/windows-autopilot-plan-b/
Hi Johan, I'm encountering a peculiar issue while deploying 24H2 on my ARM laptop (Lenovo T14S Gen 6 Snapdragon). We've developed our own PowerShell scripts/modules for installing our applications. The problem arises when I try to import our modules during the task sequence (TS) execution; it doesn't work. However, if I perform the import manually, everything functions correctly. Additionally, if I use the same task sequence but switch the boot image and OS to non-ARM versions, everything works fine on a regular (non-ARM) laptop.
did you find any work around for "Adding these drivers will make the boot image un-usable for other ARM64 deployments.." I am seeing the same issue as well now
Not yet…
Hi Johan, did you have any luck narrowing down what drivers are actually required? I've got a Surface Laptop 7, and while I can image using it just fine, I need to use an external USB keyboard as the various drivers I've tried so far haven't been able to get the internal keyboard\touchpad to work during WinPE, although everything works fine after imaging and installing the full driver pack.
I don't have Surface Laptop 7 to try, but others have been lucky by exporting out the needed drivers from full Windows, and then add them to WinPE.
We have any hope of MDT being able to deploy an ARM image?
Sorry, nope.
Great article! Can I ask is there a reason not use a driver pack vs creting a WIM and using DISM to apply the drivers?
I stopped using legacy driver packages several years ago. It's way more efficient to copy a single compressed wim file, than hundreds of small driver files. Also, you don't bloat the ConfigMgr database by importing drivers.
Great post and thank you! I am currently working on one of these ThinkPad X13s as well as a Surface Pro 9 with 5G. So I am looking forward to trying this out. I do have one question though. Is there a reason you used DISM in the PE stage and didn't setup a driver package?
See my other comment
Sorry for the double post. I'll have to try this out. Thank you.