Ubuntu – re-allocate partition space from windows to linux

dual-bootgpartedpartitioningwindows

I installed Ubuntu 16.04 a while ago (that was a scary thing to do) alongside Win10 in dual-boot mode and really started to like it. Thus, I decided to install more stuff on it and, accordingly, uninstall stuff from Win10. When installing Ubuntu, I allocated it, it seems, too little space. I did a little research on it and found I could probably tackle my problem with GParted, as a bunch of people described it as being really easy to use. Let's first see what the partitioning looks like right now and I will tell you what I want to do next.

Current Partitioning

As you can see in the screenshot, compared to examples on dedoimedo, several youtube video tutorials on GParted and further websites, it's a mess. So, as far as I understood, sda4 is the partition left for MS Windows, sda9 is my linux boot partition, or root, and I can't and shouldn't do anything with it as long as I'm using linux and sda7 is my data partition under linux, which is almost full.

What I want to do is re-allocate a portion of sda4 to sda7. How do I do that?

As I'm really new to this, even though it seemed an easy task at first, the more I read about what I shouldn't do, the scarier it becomes, so I haven't touched any of it, yet. Can I just resize sda4 under linux, restart in Windows, open some partition manager under Windows, move sda9, 10, 5, and 6 (whatever sda5 and 6 are, I don't know), and then increase sda7? I read that Windows doesn't see linux partitions, so that actually seems like the wrong path to go.

Can I use any portion of the answer to this question?: Allocate memory from Windows to Linux partition

Also, I seem to only have primary partitions and no extended partition. I don't know exactly what that means, but it seemed to be easier to move around secondary partitions inside an extended partition.

Could I maybe shrink sda4 to have more than 23.87 GiB unallocated space, copy sda7 to that space, delete the old sda7, move sda9, 10, 5, and 6, and allocate the free space to the new sda7 (not all of it, since I still need some space for Win10)?

If any of the above doesn't make any sense at all, you are free to either completely ignore the unsensical portion or explaining why that that is utter rubbish. I'm happy with both.

Best Answer

You can, but this partition edit will take a long time as it requires the partitions to be copied.

I would definitely make a backup before doing this. There's always a possibility of data loss when performing partition edits.

  1. Shrink the NTFS partition by the desired size under Windows disk management
  2. Under gparted, move all the partitions in between the sda4 and sda7 (sda9, 10, 5, 6) as far to the left in the new unallocated space.
  3. Move sda7 as far to the left
  4. Increase sda7 to fill the space to the right

Again, this operation will take a long time in gparted because it involves copying the entire partition back.