Skip to content

Instantly share code, notes, and snippets.

@caccialdo
Last active July 17, 2025 18:09
Show Gist options
  • Save caccialdo/3b0d0113489ecee456d94c1e9462d755 to your computer and use it in GitHub Desktop.
Save caccialdo/3b0d0113489ecee456d94c1e9462d755 to your computer and use it in GitHub Desktop.
How to reinstall Windows 11 Home on a Snapdragon X Elite device

How to reinstall Windows 11 Home on a Snapdragon X Elite device

Note
As of June 2024, Snapdragon X Elite devices are still very new and support for installations of Windows on ARM by the consumers is not (yet) as straight forward as "burning" an ISO file supplied by Microsoft onto a USB drive like for their x86 counterparts. Currently, the only way to get a USB device to boot is to use an EFI partition created with diskpart or a WinPE boot drive.

What you’ll need

  • A machine that is up and running - on Windows preferably but a Windows VM in macOS or linux is also fine.

  • A USB hub with enough ports to plug all the devices below.

  • 2x USB sticks (one for WinPE and one to store the installation files).

  • A wired mouse or one using a USB dongle since the trackpad won’t be working during installation.

  • An ethernet adapter to provide internet access to the machine and download the device drivers (including those for the wifi controller and the trackpad).

Installation steps

1. Create a WinPE boot device

From a Windows device,

  1. Install Windows Assessment and Deployment Kit (Windows ADK) and Windows PE add-on (official guide, as of June 2024)

  2. Launch the "Deployment and Imaging Tools Environment" app with administrator privileges

  3. Run the following commands one by one:

    cd "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\arm64"
    copype arm64 C:\WinPE_arm64
    Dism /Mount-Image /ImageFile:"en-us\winpe.wim" /index:1 /MountDir:"C:\WinPE_arm64\mount"
    MakeWinPEMedia /ISO C:\WinPE_arm64 C:\WinPE_arm64.iso
    Dism /Unmount-Image /MountDir:"C:\WinPE_arm64\mount" /commit

The WinPE ISO should now be available at C:\WinPE_arm64.iso.

You can now simply use Rufus to "burn" the ISO file to a USB drive.

2. Create a Windows for ARM 11 24H2 (or newer) ISO file

Note
It appears that only recent versions of Windows on ARM 11 (24H2, as of June 2024), will allow the installation process to work. Make sure to keep that in mind when selecting the revision of Windows in the next steps.

There are many ways to achieve this outcome. If you have access to a macOS device, I’d suggest using the open source CrystalFetch app which will generate an ISO file from official ESD files downloaded from Microsoft servers. Otherwise, simply use a script from UUP dump to generate the ISO file.

3. Retrieve the install.win file from a Windows on ARM installation ISO file

  1. Mount the ISO file and locate the install.wim file. For me, that file lived at /sources/install.wim. The file should be quite large (4+GB). If yours is nowhere near as large, you’re probably using the wrong WIM file.

  2. Format the other USB drive (not the one used by WinPE) as NTFS.

  3. Copy the install.wim file to that newly formatted drive. Anywhere will do but the root will make scripts listed next work out-of-the-box.

4. Create the installation scripts

Original code from Microsoft (1, 2). Those guide were written in 2014 and a couple tweak were necessary to make them work with Windows 11 in 2024.

  1. Create a new file called CreatePartitions.txt next to the install.wim with the following content:

    rem == CreatePartitions-UEFI.txt ==
    rem == These commands are used with DiskPart to
    rem    create five partitions
    rem    for a UEFI/GPT-based PC.
    rem    Adjust the partition sizes to fill the drive
    rem    as necessary. ==
    
    select disk 0
    clean
    convert gpt
    
    rem == 1. Windows RE tools partition ===============
    create partition primary size=600
    format quick fs=ntfs label="Windows RE tools"
    assign letter="T"
    set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
    gpt attributes=0x8000000000000001
    
    rem == 2. System partition =========================
    create partition efi size=260
    format quick fs=fat32 label="System"
    assign letter="S"
    
    rem == 3. Microsoft Reserved (MSR) partition =======
    create partition msr size=128
    
    rem == 4. Windows partition ========================
    rem ==    a. Create the Windows partition ==========
    create partition primary
    rem ==    b. Create space for the recovery image ===
    shrink minimum=15000
    rem ==    c. Prepare the Windows partition =========
    format quick fs=ntfs label="Windows"
    assign letter="W"
    
    rem === 5. Recovery image partition ================
    create partition primary
    format quick fs=ntfs label="Recovery image"
    assign letter="R"
    set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
    gpt attributes=0x8000000000000001
    
    list volume
    exit
  2. Create a new file called ApplyImage.bat next to the install.wim with the following content:

    rem These commands copy the selected image file to
    rem predefined hard disk partitions on a UEFI-based computer.
    rem Usage:   ApplyImage WimFileName
    rem Example: ApplyImage E:\Images\ThinImage.wim
    
    rem === Copy the image to the recovery image partition =======================
    copy %1 R:\install.wim
    
    rem === Apply the image to the Windows partition =============================
    dism /Apply-Image /ImageFile:R:\install.wim /Index:1 /ApplyDir:W:\
    
    rem === Copy the Windows RE Tools to the Windows RE Tools partition ==========
    md T:\Recovery\WindowsRE
    copy W:\windows\system32\recovery\winre.wim T:\Recovery\WindowsRE\winre.wim
    
    rem === Copy boot files from the Windows partition to the System partition ===
    bcdboot W:\Windows /s S:
    
    rem === In the System partition, set the location of the WinRE tools =========
    W:\Windows\System32\reagentc /setreimage /path T:\Recovery\WindowsRE /target W:\Windows

5. Setup your device for installation

  1. Make sure your Snapdragon X Elite computer is powered off.

  2. Plug in all the USB drives, mouse and ethernet adapter to it.

  3. Power on the machine and wait until the command prompt window on a plain blue background appears. This means that the WinPE environment has correctly started.

  4. Identify the drive letter for the disk containing the install.wim, CreatePartitions.txt and ApplyImage.bat files. You can use the list volume command from diskpart to help here.

  5. Run the following commands one at a time (replace D: with the drive letter found previously):

    diskpart /s D:\CreatePartitions.txt
    D:\ApplyImage.bat D:\install.wim
  6. If all went successfully, you can power off the machine via shutdown /s

  7. Once powered off, unplug all the USB drives (you can keep the mouse and ethernet adapter plugged in).

  8. Start your machine, which should boot into the Windows installation flow by itself 🎉

@peterdk
Copy link

peterdk commented Feb 2, 2025

@BobasoT You can now just download the Win 11 ARM ISO from Microsoft https://www.microsoft.com/en-us/software-download/windows11arm64

@dragon2611
Copy link

dragon2611 commented Feb 12, 2025

@peterdk it probably won't work, on the Lower end galaxy edge 4 (SD plus/LCD) the windows on ARM iso will boot, but then it will ask for drivers however it doesn't seem to even have drivers for the touchpad/keyboard and an external mouse didn't work either. So there appears to be no way to interact with it in order to even give it the driver.

I did try making a recovery usb before messing around with openBSD (Which btw installs but then doesn't boot) but it seems that didn't work (it just bootlooped)

It's stupid that Samsung don't provide a compatible image for download.

Edit: Keyboard does work, but it looks like USB doesn't
Edit2: I had to ensure it was a fat32 formatted stick - which required splitting the install.wim also injecting the drivers from the URL below worked for me.

https://medium.com/@4get.prakhar/create-windows-10-bootable-usb-from-iso-using-cmd-e200051c7401
Drivers (if needed)
https://www.samsung.com/global/galaxybooks-downloadcenter/model/?modelCode=NP750XQA-KB2UK&siteCode=uk

@dragon2611
Copy link

dragon2611 commented Feb 13, 2025

I got windows to install using an iso I built with uupdump, but it kept locking up shortly after installing the rest of the drivers ofrom Windows update.

Trying to build a new one with the release build incase it's a bug in the preview version (I was running preview versions before to play with the newer prism2 stuff)

Also trying with secure boot off.

@TroyKomodo
Copy link

This guide worked perfectly for me on the Thinkpad T14s Gen 6 (Type 21N1, 21N2). The one thing I struggled with was after the windows boot, the drivers were not installed so it was unable to complete the install due to a lack of a working network connection. bypassing this was easy enough with SHIFT + F10 (in my case also needed to press the FN key) and typing oobe\bypassnro. I then installed drivers after the local account was created.

@chamdeawis
Copy link

Amazing! Thank you so so much! Worked perfectly in my Asus S5507 with Snapdragon(R) X Plus - X1P4210. Some points to note:
1.) shutdown /s didn't work so I used Wpeutil Shutdown
2.) The laptop touchpad was detected but not the keyboard so had to use an external USB keyboard.
3.) The WiFi drivers (and probably ethernet drivers) were not included - but luckily I could use USB teathering from my phone during the installation to connect.
Thanks again. Really appreciate you posting this method. I was almost fed up with number of duplicate partitions create by windows when installing using the ISO without creating a boot disk.

@DimkaL62
Copy link

I have questions.
Source data. How to create bootable flash drive I understand. How to properly extract MS Surface 11 drivers from MS support site I understand. How to split ARM64 wim after add drivers I understand. But...

  1. Where are in unpacked MS SP 11 folder Group of Platform drivers?
  2. Where are in unpacked MS SP 11 folder Group of WinPE drivers?
  3. Where are in current Windows\System32... Qualcomm Color Library files?

Thank you.

@Askejm
Copy link

Askejm commented Mar 31, 2025

Seems like this guide is quite old by now, has it gotten any easier with new support? We are completely unable to wipe customer laptops at the store i work at.

@peterdk
Copy link

peterdk commented Mar 31, 2025

@Askejm Win 11 has now a downloadable arm64 edition ISO on their website.

@Askejm
Copy link

Askejm commented Apr 1, 2025

Tried getting it to work but the second USB doesn't appear in WinPE, even when formatted as fat32. Could this be due to a lack of drivers? IdeaPad Slim 5 14Q8X9 @peterdk

@Askejm
Copy link

Askejm commented Apr 7, 2025

Got it working by splitting the WIM into SWMs and putting it on the FAT32 USB, then combining it again on the internal NTFS drive.
dism /export-image /sourceimagefile:D:\install.swm /swmfile:D:\install*.swm /destinationimagefile:W:\install.wim /sourceindex:1

@DimkaL62
Copy link

DimkaL62 commented Apr 8, 2025

Friends, no one has answered me yet: does anyone know where exactly the WinPE drivers are in the general Microsoft driver package (after unpacking) msi? To successfully create a bootable USB stick, I have to embed drivers TWO times into the WIM: chipset drivers and WinPE drivers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment