1

I am upgrading my Windows 10 boot disk. I went from a 128 GiB SSD to a 1 TiB SSD, with the old disk having the following layout:

|--99 MiB unalloc.--|--119 GiB boot--|--527 MiB recovery--| [MBR]

I successfully cloned the old to the new disk using GParted, keeping the old disk as a backup. Following this, I used mbr2gpt.exe to convert the disk to the GPT layout. The layout then looked like this:

|--99 MiB unalloc.--|--118 GiB boot--|--100 MiB EFI system--|--527 MiB recovery--|--899 GiB unalloc.--| [GPT]

Next, I followed this guide, to temporarily remove the recovery partition. Using GParted, I removed the msftrec partition.

|--99 MiB unalloc.--|--119 GiB boot--|--100 MiB EFI system--|--900 GiB unalloc.--| [GPT]

As visible, I cannot move the EFI system partition to the left since there is not enough space there. I would have to:

  1. Temporarily move the boot partition to the right;
  2. Move the EFI partition to the start of the drive;
  3. Move the boot partition to align with the start of the EFI partition;
  4. Expand the boot partition;
  5. (Add back the recovery partition.)

The final situation would be this:

|--100 MiB EFI system--|--1 TiB boot--|(--527 MiB recovery--|) [GPT]

I don't particularly care about the recovery menu since that gives even more headaches, but that should be something I can figure out by myself.

Using GParted, I know I can just force the swap to take place. However, this causes the disk to become unbootable, since Windows can be finnicky with partition order and position. What would be the best approach to performing steps 1-3, swapping and relocating two partitions?

I tried GParted, but this causes damage. I also tried AOMEI partition manager, but this did not allow me to swap around the active disk (I should have known this). Searching online only yielded results for either shady freeware or solutions to problems that did not match my symptoms. The closest matches were these these posts. Could someone either point me to a SE post that addresses this problem or give me some pointers towards a solution? Thank you in advance.

2 Answers2

2

The EFI and recovery partitions are recognized by their ID, so their order and positions are immaterial.

If you just want to get the EFI partition out of the way, you can also move it to the end of the disk. This will work just as well as being at the beginning, since the partition will be recognized anywhere on the disk, and doing that will be much simpler for you.

harrymc
  • 498,455
1

The order isn't strictly wrong; the EFI partition can be literally anywhere on the disk (anywhere that the GPT is able to describe, that is).

Use Windows tools (e.g. diskmgmt.msc or diskpart.exe) to create a dummy partition in the free space, then delete it using GParted before moving the EFI partition there. In some cases, it's the numbering of partitions that makes Windows complain (e.g. if its boot partition suddenly changes from being 1st to being 2nd), but that doesn't happen if the partitions are inserted or deleted using Windows Disk Management specifically.

Alternatively, just start fresh: nuke the current EFI partition, create a new one in the desired location, then use Windows' own bcdboot to install the bootloader there (as well as automatically generate its BCD configuration).

Don't forget to run reagentc /disable before deleting the recovery partition. This moves the recovery image (Recovery.wim) into C:\Windows, and you will need that in order to re-create the recovery partition later.

grawity
  • 501,077