I'm searching for a way to expand my /boot partition. In general I have some free unallocated space. Using gparted the new size of /boot can't be bigger then the actual size according to the GUI.

enter image description here Is there any chance to resize this partition from 100mb to 200mb?

I'm having a multi boot system (win 7 / gentoo); so using a tool with windows would be also possible.

  • 4
    You need to have the unallocated space next to the partition you wish to extend.
    – sebasth
    Commented Sep 14, 2017 at 6:33
  • This can be done only manually? Like shrink sda3 and add this to sda2. Then shrink sda2 and add this to sda1? Is there any free tool which could manage this? And how to resize this Microsoft reserved partition? With gparted it cant be resized it seems...Resiizing is greyed out...
    – StephanM
    Commented Sep 14, 2017 at 6:39
  • If you can shrink sda3 at the beginning of the partition, then you could move sda2 to the freed space and finally extend sda1. It might not be possible to do all this using GParted.
    – sebasth
    Commented Sep 14, 2017 at 6:43

2 Answers 2


As mention in the comment you'll need to shrink sda3 from the LEFT (which is not the default why) then move sda2 the same way (expand to the right > then shrink from the left), then you'll have the free space needed to expand sda1.

P.S, you will need to do all this via external system which not using the disks, like a LIVECD - try systemrescuecd for that matter.

  • Thx, got it. Is it possible with any linux tool? With gparted i cant move/resize the Microsoft partion as this option is greyed out in the context menu. Or is it just because before and after sda2 is currently no unallocated space?
    – StephanM
    Commented Sep 14, 2017 at 7:02
  • use SystemRescueCD which have gparted included, make sure the partition is not mount/auto-mounted, then start the shifting like above.
    – Rabin
    Commented Sep 14, 2017 at 7:28

Since it's a Linux-compatible partition with relatively little data and you have a few larger empty spots in your partition layout, I'd suggest you just

  • backup the contents of the partition,
  • delete it¹,
  • recreate it in one of the larger empty spots (e.g. the 900 MB one),
  • change the mount information in /etc/fstab (since you just replaced the partition UUID with a new one),
  • mount it, and
  • copy the data backup onto it.

Since this is the /boot partition containing your kernel, you'll need to make its new position known to the bootloader (usually GRUB) afterwards.
The exact commands depend on the distribution you're using, but you'll usually boot a live CD/USB of your distro, mount your partitions in a chroot environment, and run grub-install /dev/<your main disk>.
With prior experience or a good tutorial, that's done in five to ten minutes. ;)

That should be much faster than moving around multiple large filesystems (which involves more than just moving the first few MB to the end of the partition, since the filesystem on the partition has to stay consistent).

Besides, I'm not sure if Windows likes having "Microsoft reserved" partitions moved around: partitions like that are often used for "revert to factory defaults" features and have their partition number and/or position hardcoded somewhere.

¹ Deleting it before recreating it only serves to keep the partition number the same. If you don't care if the partition gets changed from sda1 to sda4, you can create the new partition and copy over the data straight away. That way, you might even get away without requiring a live CD/USB after all, just running everything (including grub-install from your existing Linux system.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .