What's the procedure to resize the /boot partition?

I am using Parrot Home in an VirtualBox VM.

After a few updates of the kernel, the /boot partition has ran out of space.

I tried to resize the / partition (mounted on /dev/sda5) (I’m using 1 TB virtual hard drive), so I resized it to be 2 GB smaller, but it wouldn’t let me put that free space in front of the extended logical partition where / (or /dev/sda5 is located).

I tried to create a new partition /dev/sda6 (size=1 GiB) and then cloned the original boot partition (/dev/sda1) onto it, unmounted the original, mounted the new /dev/sda6 partition as /boot, updated grub and that seemed to work fine.

But it’s when I tried to shift the partitions around so that I can have have the /boot partition in front of the extended, logical partition, and that’s when I broke the partition table, so clearly, I am doing something wrong.

What would be the better way for me to achieve this goal?

  1. Free up a total of 2 GiB from /dev/sda5 (which is mounted on /).

  2. Make it so that there is 1 GiB in front of the extended, logical partition.

  3. Resize /dev/sda1 so that it would be 1 GiB instead of ~ 366 MiB.

  4. Resize /dev/sda5 again so that it would take up the extra slack in space once again.

(Because I toasted the partition table whilst trying to move the partitions around using fdisk (the system was booted into init s), I ended up toasting the entire system, so I am currently in the process of re-importing the Oracle Virtual Box Appliance back onto my system so that I can try this again.)

Your help is greatly appreciated.

Thank you.

Hello. First you could remove the old kernels from the boot partition, so that they are within the default size. It is a solution but it is not the solution. You probably forgot to generate a new UUID for the new partition. However personally I would follow this procedure (not the first solution proposed, but the last one): partitioning - Resize /boot partition - Ask Ubuntu