Move Windows 10 partition to another location on the same drive and avoid boot problems
Solution 1:
You can move C:
upward over the unallocated space, then move X:
over the
newly displaced unallocated space, ending up with the unallocated space below X:
,
ready to be merged via the resize of X:
.
This will not change the numbering of the partitions, since the unallocated space is not a partition and does not have a partition number.
Do not use GParted for resizing Windows partitions, and do not use Windows 7 for resizing a Windows 10 partition (the other direction is fine).
On some old-format disks GParted might warn that moving the starts of file systems is dangerous. In this case, moving any allocated partition is impossible on this disk, because the partitions are identified by their byte-offsets on the disk.
I would advice, before doing any partition work, to take a full backup of the disk and a have a boot media that can be used to restore the backup. This is because even a slight error might make the disk unbootable.
Solution 2:
I primarily stand with @harrymc but I would suggest imaging the whole disk with "Macrium Reflect" as a precaution. You have to select all the partitions on the disk & save its image to another Internal / external disk. You may use KYHI's Recovery ISO.
You don't have to move the whole partitions here or there but only resize them from left / right & you will be through the task:
Resize / extend C: from left to fill up the whole unallocated space.
Resize / Shrink C: from right to retain its final size as 100GB. ( I would suggest 150 GB )
Extend X: from left to include all the space made available after shrinking C:.
All good 3rd party partitioning programs give you a fair chance to know about the actual result before finally executing it. If you have any confusion, you should not apply the changes, and abort the process.
The terminology & options may be a little different from program to program. Take care of it.