Challenge, Medium,  on  Linux

In the previous challenge you formatted a whole drive as ext4 without first creating a partition table. That shortcut is fine for disposable scratch volumes, but a GUID Partition Table (GPT) is preferred even for single-partition disks: it preserves helpful metadata (e.g., partition type) that keeps firmware and tooling happy, and also makes it easier to carve out more partitions on the same drive later.

This challenge is a follow-up to the previous one. As before, you have access to a Linux system with an additional entirely blank, unpartitioned drive.

Linux system with an additional drive that has a GUID partition table (GPT) and a single partition.

Device names on the diagram are deliberately generic.

Your mission is to:

  1. Create a GUID partition table (GPT) on the blank drive.
  2. Add one partition that spans the whole disk.
  3. Format that partition as ext4.
  4. Mount it at /mnt/new-partition.
  5. Write any non-empty test file success.txt there.
Hint 1: Finding the blank drive 💡

Use tools that list block devices (lsblk, fdisk -l, etc.) and look for one with no partitions and no filesystem information.

Hint 2: Writing a GPT label 💡

A partitioning tool must write the initial GPT header and table before you can create partitions. The right tool for the job is parted. Install it and get started with man parted.

Hint 3: Creating a full-disk partition 💡

When prompted for start and end sectors, use 0 %-100 % (or equivalent) to consume the whole drive in a single partition.

Hint 4: Make the kernel aware of the new partition 💡

Once you've created a partition, you need to make the kernel aware of it. There are multiple ways to do this, including the partprobe, blockdev, and partx commands (with the latter being the most portable).

Hint 5: Formatting & mounting 💡

After the partition exists you’ll see something like /dev/vdb1. Create an ext4 filesystem on it, pick a mount point (/mnt/new-partition), and mount it. Verify with lsblk or mount.

Hint 6: Proving it works 💡

Write any non-empty text file named success.txt into the mounted directory; the grader only checks that the file exists and isn’t empty.

Level up your Server Side game — Join 10,500 engineers who receive insightful learning materials straight to their inbox