Resize ubuntu windows dual boot

I have a system running dual boot Ubuntu 20.04 and Windows 10.

I would like to add space to Ubuntu by removing space from Windows. By 150gb.

Is this doable?

If it is please explain.


Yes. :wink:
As a rule of thumb, I tend to use Windows tools to mess around with Windows file systems/partitions whenever possible.
So I would try to shrink Windows partitions from Windows. Either use builtin tools for that (disk manager), or some 3rd party app. Partition Magic had a free edition when I last time needed it, that will do the job easily.
So, first get that extra 150GB free from your Windows installation.
Of course your win partition has to have at least that amount of space free (better more).
Once you have unallocated space on your drive, you can boot a live system, and use Gparted to move/resize/rearrange your Linux partitions.
That’s it… :slight_smile:
Any time, anything can go wrong, if you play with partitions, when something unexpected happens, you may loose partitions, or data on that. So the best practice is to have backup of EVERYTHING.
Do you need more detailed help, or is that enough?

Thanks. I don’t enjoy the risk so I think I’ll stick with what I have for now.

I ran your message by a sysadmin I know who said unless I really need the space to avoid resizing Ubuntu and Windows and to watch grub.

I have two external drives. Would it be better to move /home to HDDX/home to gain space? Or , is that also tricky ?


I did partition moving/resizing countless times, and did not have a problem. It’s the usual warning to have backups before starting to do such thing.
If you don’t have backup, the risk is already there: any hdd/ssd can die at any time. I learned this the unhappy way many-many years ago.
If you have a desktop computer, it’s easy to install another drive, and move /home to it.
However, I would not move /home to an external drive - it’s possible though, but you need to make sure that drive is attached upon boot.
If it is about a laptop, installing another drive is probably hard or impossible, so I would go for the resize/move job, if I’d really need that space.
As for moving /home to somewhere:
I’d attach the drive, partition, format to ext4, etc.
Then mount temporarily into /mnt/home.
Then rsync -va /home /mnt/home
After rsync ran, edit /etc/fstab, so that the new drive will be mounted on /home.
Rename current home to something, and create a new (empty) /home. Also, chmod 755 it, if it was not created so.
Double check that fstab is correct, to avoid the necessity of a recovery mode :smiley:
If everything works as expected (it should), delete the old (renamed instance) of /home.

So, I had the chance, and created a test VM (no thorough setup, just quick and dirty done thing…), which I made EFI dualboot Win10 / Debian.
I have set it up with a 128GiB virtual drive, and originally made assigned approx. the half of the space to both systems. Then I “changed my mind” :smiley:
I wanted to add additional space to my Linux install. Vide starts here :wink:

The principle is the same, as it would be for you.

  1. Boot windows
  2. Shrink volume (there’s a recovery partition, which I completely forgot - I moved it with Gparted)
  3. Boot a live Linux (for me it’s Debian, but for you it will be Ubuntu. Doesn’t really matter, the idea is the same)
  4. Use GParted on the live medium to adjust Linux partition(s) - well, the rcovery too in this case :wink:
  5. Done :smiley:


Thanks for the input. I will read it carefully and consider my options.

After thought you are correct my additional drives are external.

If I go with the shrink Windows and grow Ubuntu I will let you know. Will gparted handle the grub entries?


1 Like

You’re welcome :wink:

No, and there’s no reason to touch GRUB in this case.