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.
|
-
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).
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.
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.
-
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.
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: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
-
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
-
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 ethernet adapter plugged in).
-
Start your machine, which should boot into the Windows installation flow by itself 🎉
Hey, I made an Windows Image Splitter so you can make it work in FAT32, turns out the only issue is your boot drive not being formatted in FAT32. It's not perfect yet but it works. Maybe give it a shot if you plan on reinstalling? (Also, you can use Rufus optimization with this, telemetry question bypass etc)