Shrinking a disk partition under Debian 11 bullseye

As usual, I will start by getting to the bottom of it, then explain everything

first, you need to first shrink the file system, then the partition where the filesystem resides, replace /dev/sda4 with whatever you partition is named

1- Shrinking the filesystem

Unmount the partition to be resized,

umount /mountpoint

otherwise you will get a message such as

Filesystem at /dev/sda4 is mounted on /mountpoint; on-line resizing required
On-line shrinking from 30453104 to 98098 not supported.

The following commands are relevant to the program resize2fs, they are hands on examples of use, take a close look at the description of what each does before you proceed by picking how you want to use the command.

* Show the minimum size we can squeeze this partition to without losing data
resize2fs -P /dev/sda4
* do the filesystem resize to the MINIMUM possible size (the number you ended up with in the previous command)
resize2fs -M /dev/sda4

The command above moves all data to the beginning of the filesystem/drive, then shrinks it to the smallest possible size.

2- Shrinking the partition

2.1- Find the boundaries of the file system with fdisk

3- You are DONE

If this is it, why is there much more in this tutorial, Simply put, what is above does very little explaining, if you want to understand what we did, you will need a bit more

the assumption, I have a partition that only has 5% data, I would like to shrink the partition to ten percent of it’s size.

Unlike windows, where your luck of where the data resides, you can always shrink a Linux partition to whatever size fits the data that is on it (without losing data)

in this tutorial, I will assume the partition is /dev/sda4, you will need to replace that with whatever your partition is.

1- collecting information about our partition

fdisk /dev/sda
then the p command for print

df -h
this should show you all the partitions, info about them and where they are mounted and how much space is used

the file system can be shrunk with resize2fs

the command “resize2fs -M” should first move the data to the beginning of the drive, then shrink it

first, how large is the file system ATM
tune2fs -l /dev/sda2 then multiply by block size

Leave a Reply

Your email address will not be published.