u/Western_Mixture_1500

▲ 6 r/ARMWindows+1 crossposts

Extended C: from 225GB to 600GB on an Acer Swift SFG14-01 (Snapdragon X Plus) using only diskpart — no partition software needed

TL;DR: Every partition tool (AOMEI, EaseUS, MiniTool, GParted Live) is unusable on Windows ARM. You don't need them. diskpart + reagentc do the whole job. I went from 225 GB to 600 GB on C: with zero data loss and zero third-party software.

I couldn't find a single thread covering this for Snapdragon, so here's the full writeup.

Why the usual tools don't work

AOMEI/EaseUS/MiniTool all install a kernel-mode driver to move partitions (ampa.sys and equivalents). Prism emulates user-mode x64 fine, but not kernel drivers — so these fail at launch or report "no disks found." AOMEI support has told users outright that Partition Assistant doesn't support ARM.

Their bootable media doesn't save you either: it's amd64 WinPE and won't boot on a Snapdragon. GParted Live is x86-only too. There's an unofficial aarch64 GParted ISO, but it targets VMs on Apple Silicon, and getting Linux booting on a random WoA laptop is a per-model firmware project.

And this isn't an old-hardware problem — mine is a current-gen Snapdragon X Plus. Anything needing kernel-level disk access still doesn't work in 2026.

Why Extend Volume is greyed out

Extend Volume only works when unallocated space sits immediately to the right of the partition. My layout was:

EFI | C: 225GB | Recovery 1GB | D: 1TB | G: 612GB

That 1 GB recovery partition wedged behind C: is the blocker. Shrinking D: doesn't help — the freed space lands at the end of D:, not next to C:. And diskpart can't move partitions, only delete and extend.

So the play is: get your data off D:, delete D: and the recovery partition, extend C: into the gap, then rebuild.

The steps

1. Back up the recovery partition (admin terminal)

reagentc /info

Note the partition number in the "Windows RE location" line. Then:

reagentc /disable

This moves winre.wim (~700 MB) out of the recovery partition to C:\Windows\System32\Recovery\. Copy it to a USB stick. The partition is now an empty shell.

2. Get your data off D: — external drive, or another partition, or both.

3. Find the real partition numbers

diskpart
select disk 0
list partition

Do not trust Disk Management's numbering. It hides the 16 MB Microsoft Reserved partition, so what it shows as partition 3 was actually partition 4 on mine. Verify against the size column and detail partition before deleting anything.

4. Delete D: and the recovery partition

select partition 5
detail partition
delete partition override
list partition
select partition 4
detail partition
delete partition override

Run detail partition every single time — it shows the drive letter and label so you can confirm the target. And re-list between deletes, because diskpart renumbers as it goes.

5. Extend C:

select partition 3
detail partition
extend size=383570

Windows counts in MiB. For a 600 GB target: 600 × 1024 = 614400, minus your current size in MiB. Bare extend with no size takes everything available.

6. Rebuild a data partition

create partition primary
format fs=ntfs quick label="Data"
assign letter=D

7. Recreate the recovery partition — at the END of the disk this time

This is the bit worth doing properly. Shrink your new data partition by 1 GB and put recovery there, so it never blocks a future extend:

select partition 4
shrink desired=1024
create partition primary
format quick fs=ntfs label="Recovery"
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001

The set id applies the Windows Recovery partition type GUID; the attributes make it hidden and protected. Don't assign it a letter (remove letter=X if one got auto-assigned).

8. Restore WinRE

reagentc /disable
reagentc /enable
reagentc /info

It scans for a properly-flagged recovery partition and prefers it over C:. Check the location line points at your new partition number.

9. Actually test it: Settings → System → Recovery → Advanced startup → Restart now. If you get the blue "Choose an option" screen, WinRE works. A config file saying "Enabled" is not the same as a bootable recovery environment.

Gotchas that cost me time

The recovery partition shows "100% free" in Disk Management and it's a lie. So does the EFI partition, which obviously contains your bootloader. Disk Management can't read partitions marked hidden/unmountable, so it reports capacity as free space. reagentc /info tells you the truth.

Shrink Volume capped me at 87 GB out of 976 GB free. Cause: a 14.8 GB system-managed pagefile living on D:. Note that Win32_PageFileSetting returns nothing for system-managed pagefiles — you need:

Get-CimInstance Win32_PageFileUsage | Select-Object Name, AllocatedBaseSize

Move it to C: via sysdm.cpl → Advanced → Performance Settings → Advanced → Virtual memory, then reboot (the file isn't released until restart). Other common culprits: shadow copies (vssadmin list shadowstorage) and BitLocker metadata. Event Viewer → Application → source Defrag → Event ID 259 names the exact unmovable file.

winre.wim moves around and it's not lost. While disabled it sits in C:\Windows\System32\Recovery\. After reagentc /enable it relocates to the recovery partition and the staging copy disappears. That's normal, not a failure.

Free up C: before you start. powercfg /h off frees roughly your RAM size instantly. Disk Cleanup → "Clean up system files" → Windows Update Cleanup is usually another 15–30 GB. You need headroom while the pagefile and winre.wim are temporarily parked on C:. Honestly, try this first — you might not need to repartition at all.

Caveats

This deletes partitions. Back up anything irreplaceable to a separate physical drive first — everything above happens on one disk, so none of it survives drive failure. Make a recovery USB (Start → "Create a recovery drive", 32 GB stick, tick "back up system files") before you begin, because WinRE is disabled for most of this process and you'd have no Startup Repair if something went sideways.

Machine was an Acer Swift SFG14-01, Snapdragon X Plus (X1P42100), Windows 11 24H2 ARM64. Should apply to any Windows-on-ARM device — nothing here is model-specific.

Happy to answer questions if anyone gets stuck.

reddit.com
u/Western_Mixture_1500 — 6 days ago