How to reinstall Windows 11 Home on a Snapdragon X Elite device
Why
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,
-
Install Windows Assessment and Deployment Kit (Windows ADK) and Windows PE add-on (official guide, as of June 2024)
-
Launch the "Deployment and Imaging Tools Environment" app with administrator privileges
-
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 ISO file
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. You can then transfer the ISO to a Windows machine and “burn” the ISO file with Rufus. 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
-
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. -
Format the other USB drive (not the one used by WinPE) as NTFS.
-
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.
-
Create a new file called
CreatePartitions.txt
next to theinstall.wim
with the following content: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 -
Create a new file called
ApplyImage.bat
next to theinstall.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
-
Make sure your Snapdragon X Elite computer is powered off.
-
Plug in all the USB drives, mouse and ethernet adapter to it.
-
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.
-
Identify the drive letter for the disk containing the
install.wim
,CreatePartitions.txt
andApplyImage.bat
files. You can use thelist volume
command fromdiskpart
to help here. -
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 -
If all went successfully, you can power off the machine via
shutdown /s
-
Once powered off, unplug all the USB drives (you can keep the mouse and thernet adapter plugged in).
-
Start your machine, which should boot into the Windows installation flow by itself 🎉