Categories: TutorialsUbuntu

How to Convert a Directory to a Partition in Linux

If you have opted for the default options during the installation of your operating system, chances are that all your folders lie in the same partition which is the root ( / ) partition. While this is perfectly okay, it presents a challenge when you want to reinstall your OS as you won’t be able to preserve your files and documents. The entire root system is wiped clean. Good practice demands that you create a separate home partition as well as boot and swap partitions so that you can reinstall your OS at ease.

If you already have the home folder together with other folders in the same partition, worry not. In this guide, we demonstrate how you can migrate the home folder to another partition. We will demonstrate this using an external drive which we will back up the home directory and configure it as a partition.

Step
Sponsored
1: Confirm the size of the home partition and external drive

The first step is to confirm the size of your home directory.

$ df -Th /home

In our case, our directory is 13G.

The external drive should be greater in size than your home directory. We have a 16GB external drive which should be sufficient for the job.

Step 2: Format external USB drive

In the next step, we will format the external drive using the ext4 file format. First, we will unmount the drive.

$ unmount /dev/sdb

Then we will format it using ext4 file format.

$ mkfs.ext4 /dev/sdb

Step 3: Create a directory for mounting the drive

Next create a directory for mounting the external drive. In our case we have created the /srv/home directory.

$ mkdir -p /srv/home

Then , mount the external drive as follows.

$ mount /dev/sdb /srv/home

To confirm that the drive has been mounted, use the command as shown

$ df -Th | grep sdb

Step 4: Copy the home directory to the mounted drive

Next, transfer or copy all the files on your home directory to the /srv/home/ mount point.

$ rsync -av /home/* /srv/home/

This might take a while depending on the contents of your home directory especially in the Downloads directory. So, be patient as the copying process progresses.

Once done, you will get a summary of the total size copied. In our case, the size of files transferred was 3GB.

Sponsored

You can verify the disk space usage as follows:

$ df -Th | grep sdb

Step 5: Mount the filesystem

NExt, delete all the files and folders under the home directory.

# rm -rf /home/*

Then unmount the /srv/home mount point on which the /dev/sdb device is mounted.

# umount /srv/home

Next, mount the external drive to the home folder.

# mount /dev/sdb /home/

And list its contents to ensure that your folders are intact.

# ls -l /home

Then set the directory permissions as follows just in case the default umask has changed.

# chmod -R 755 /home

NOTE:

The changes that we have made will not survive a reboot. To address this matter, we need to append some parameters to the /etc/fstab file.

But first, let’s get the UUID of our external volume. You can achieve this as follows:

$ blkid /dev/sdb

/dev/sdb: UUID="56bd886b-daa0-4bc4-add1-e0e2b64bff01" TYPE="ext4"

Next, access the /etc/fstab file.

# vim /etc/fstab

Then append the following parameters

UUID=[ID] /home ext4 defaults 0 2

In our case, we have:

UUID="56bd886b-daa0-4bc4-add1-e0e2b64bff01" /home ext4 defaults 0 2

Save the file and reload the /etc/fstab file.

# mount -a

Your home folder has now been migrated and accessible in a separate partition.

Ubuntu Server Admin

Recent Posts

From sales development to renewals: Mariam Tawakol’s career progression at Canonical

Career progression doesn’t follow a single path – and at Canonical, we embrace that. Our…

16 hours ago

In pursuit of quality: UX for documentation authors

Canonical’s Platform Engineering team has been hard at work crafting documentation in Rockcraft and Charmcraft…

16 hours ago

Ubuntu 24.10 (Oracular Oriole) reached End of Life on 10th July 2025

This is a follow-up to the End of Life warning sent earlier to confirm that…

1 day ago

Canonical announces Charmed Feast: A production-grade feature store for your open source MLOps stack

July 10, 2025: Today, Canonical announced the release of Charmed Feast, an enterprise solution for…

2 days ago

Ubuntu Adding NVIDIA 575 Driver Support for 24.04 & 22.04 LTS

For NVIDIA users, the latest 575 series driver will be available soon in Ubuntu repository.…

2 days ago

Amarok Released 3.3 with Qt6/KF6 Port & GStreamer Backend

Amarok, the free open-source KDE music player, released new 3.3 version on Tuesday, named “Far…

2 days ago