Linux Storage 101: Drives, Partitions, and Mounts

theanonymousone1 pts0 comments

Linux Storage 101: Drives, Partitions, and Mounts

Skill Path Progress

Start Skill Path<br>Reset Progress<br>Are you sure you want to reset your progress for this skill path? This action cannot be undone.<br>Cancel<br>Reset

close

Skill Path on Linux<br>Discussion  Discord<br>#storage#drive#partition-table#mount#filesystem

This skill path was prepared for you by the iximiuz Labs team.

Skill Path (Easy, Medium) on LinuxLast updated: Sep 16, 2026

close<br>Linux Storage 101: Drives, Partitions, and Mounts

by  Ivan Velichko

Practice the most common Linux storage operations in a series of hands-on challenges: discover and mount drives, create partition tables, format partitions with different filesystems, map directories with bind mounts, and make mount points survive a reboot.

Introduction<br>Linux storage is a vast topic:<br>block devices, partition tables, filesystems, logical volumes, software RAID, network storage, and more.<br>This skill path doesn't try to cover it all.<br>Instead, it helps you get started by practicing the operations a Linux user or administrator needs most often:<br>finding an attached drive, partitioning it, formatting the partitions, and mounting them -<br>both temporarily and persistently.

The path consists of seven hands-on challenges, each running in a real Linux VM:<br>Mount a drive with existing data and read its contents.<br>Create an ext4 filesystem on an unformatted drive.<br>Create a GUID Partition Table (GPT) on a blank drive.<br>Split a drive into multiple partitions and format them as ext4 and btrfs.<br>Mount an existing directory at a new location (bind mount).<br>Make a filesystem mount survive a reboot.<br>Automate a storage provisioning workflow with a non-interactive script.<br>Every change you make is verified automatically, so you'll know right away whether your solution works.<br>By the end of this skill path, you'll be comfortable with lsblk, parted, mkfs, and mount -<br>the everyday tools of Linux storage administration -<br>and you'll have a solid base for exploring more advanced storage topics on your own.

Mount a Drive with Existing Data and Read Its Contents<br>A drive attached to a Linux machine is not automatically accessible:<br>until its filesystem is mounted somewhere on the directory tree, the data on it remains out of reach.<br>Discovering attached block devices and mounting them is one of the most basic storage skills,<br>and it's exactly what you'll practice first.

This is a CTF-style challenge:<br>the server has an extra drive with a flag file on it,<br>and your mission is to find the drive, mount it, and read the flag.

Create an Ext4 Filesystem on an Unformatted Drive<br>In the previous challenge, the drive already had a filesystem with data on it.<br>But a brand-new drive arrives completely empty:<br>before it can store any files, it needs to be formatted with a filesystem.

In this challenge, you'll identify the unformatted drive,<br>create an ext4 filesystem on it, mount it,<br>and write a test file to prove the new storage works.

Create a GUID Partition Table (GPT) on a Blank Drive<br>In the previous challenge, you formatted a whole drive as ext4 without creating a partition table first.<br>That shortcut is fine for disposable scratch volumes,<br>but the standard practice is to partition the drive before formatting it.<br>The de facto standard partitioning scheme today is the GUID Partition Table (GPT),<br>and it's preferred even for single-partition disks:<br>it records useful metadata about the partitions<br>and makes it easy to carve out more of them later.

In this challenge, you'll take a blank drive through the full preparation cycle:<br>create a GPT, add a partition spanning the whole disk, format it as ext4,<br>and mount it to verify that the new storage is usable.

Split a Drive into Multiple Partitions and Format Them as Ext4 and Btrfs<br>Real-world servers often need their storage divided for different purposes:<br>a fast, journaled filesystem like ext4 for logs and system data,<br>and a more advanced filesystem like btrfs for application data<br>that benefits from snapshots, compression, and copy-on-write semantics.

This challenge builds on the previous one:<br>instead of a single partition spanning the whole disk,<br>you'll split a blank 40 GiB drive into two partitions of specific sizes,<br>format them with different filesystems, and mount each at its designated location.

Mount an Existing Directory at a New Location (Bind Mount)<br>Not every mount involves a drive.<br>Linux can also map an existing part of the directory tree to another path -<br>an operation known as a bind mount .<br>Bind mounts are the core technology behind container volumes:<br>when you mount a host folder into a Docker container or a Kubernetes Pod,<br>a bind mount is what does the job.

In this challenge, you'll practice creating bind mounts:<br>first a simple one, and then a recursive one<br>that brings over a whole mount tree, including its sub-mounts.

Make a Filesystem Mount Survive a Reboot<br>The final challenge demonstrates a common pitfall:<br>a plain mount command creates a temporary mount that lives only in the...

mount drive storage linux partition filesystem

Related Articles