Managing disks in Linux can feel confusing at first. You see names like sda, sdb, partitions, mount points, and it’s not always clear what any of it means.
The goal of this guide is simple: walk through the exact steps to take a new disk and make it usable on a Linux system. No extra theory. Just the practical process you’ll actually use in real environments.
All steps and examples in this guide are based directly on the original script.
Step 1: View All Disks
Before you change anything, you need to see what disks exist.
Command
lsblk
Example Output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 50G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 49G 0 part /sdb 8:16 0 20G 0 disk
What This Means
-
sdais your main disk -
sda1andsda2are partitions -
sdbis a second disk with no partitions yet
What’s Happening
Linux is showing you every storage device and how it is divided.
Real-World Use
This is the first command you run on any new server to confirm what storage is available.
Step 2: Check What’s Mounted
A disk is not usable until it is mounted. Mounting connects storage to the filesystem.
Command
df -h
Example Output
Filesystem Size Used Avail Use% Mounted on/dev/sda2 49G 10G 37G 22% //dev/sda1 1.0G 200M 800M 20% /boot
What This Means
-
Shows active storage
-
Displays usage in a readable format
What’s Happening
You are seeing which partitions are actually being used by the system.
Real-World Use
This is how you check disk space when systems slow down or applications fail.
Step 3: Create a Partition
A disk must be divided into partitions before it can be used.
Command
sudo fdisk /dev/sdb
Inside fdisk
np1Enterw
What This Means
-
ncreates a new partition -
pselects a primary partition -
1sets the partition number -
wsaves the changes
What’s Happening
You are defining how the disk is split into usable sections.
Real-World Use
Used when adding a new disk for logs, backups, or application data.
Step 4: Format the Partition
Formatting prepares the partition so Linux can store data on it.
Command
sudo mkfs.ext4 /dev/sdb1
Example Output
Creating filesystem with 5242880 4k blocks...
What This Means
-
ext4is the standard Linux filesystem -
This step makes the partition usable
What’s Happening
You are setting up how files will be stored and organized.
Real-World Use
Required before any storage can be used by applications or users.
Step 5: Mount the Partition
Mounting connects the storage to a directory.
Commands
sudo mkdir /datasudo mount /dev/sdb1 /data
Verify
df -h
Example Output
/dev/sdb1 20G 24M 19G 1% /data
What This Means
-
/datanow points to your new disk -
You can read and write files there
What’s Happening
The system now treats this disk like part of the filesystem.
Real-World Use
Common for application storage, backups, and shared directories.
Step 6: Make the Mount Persistent
Without this step, the disk will disappear after a reboot.
Command
sudo nano /etc/fstab
Add This Line
/dev/sdb1 /data ext4 defaults 0 0
Test It
sudo umount /datasudo mount -a
What This Means
-
/etc/fstabcontrols automatic mounts -
mount -averifies your configuration
What’s Happening
You are telling Linux to reconnect the disk every time the system starts.
Real-World Use
Critical for production systems where storage must always be available.
Common Beginner Mistakes
1. Mount Fails After Reboot
-
Cause: Incorrect
/etc/fstabentry -
Fix: Double-check device name and mount path
2. Permission Denied on Mounted Directory
-
Cause: Ownership not set
Fix
sudo chown -R $USER:$USER /data
3. Disk Not Showing Up
-
Cause: System hasn’t detected it yet
Fix
lsblksudo fdisk -l
Real-World Scenario
A common situation is a server running out of space because logs are filling up the main disk.
Instead of risking downtime, you:
-
Add a new disk
-
Partition it
-
Format it
-
Mount it to
/data/logsor/var/log
This keeps your system stable and separates storage properly.
This is a standard task in real IT environments.
Next Step (Optional)
Once you’re comfortable with this process, move to using UUIDs instead of device names.
Command
blkid
Device names like /dev/sdb1 can change. UUIDs do not.
This makes your system more reliable, especially in production.
Conclusion
Disk management in Linux looks complex at first, but it follows a clear pattern:
-
Identify the disk
-
Partition it
-
Format it
-
Mount it
-
Make it persistent
Work through this process a few times, and it will start to feel natural. The goal is not memorization. It’s understanding the flow.