Mounting of additional hard disks in Linux

In this tutorial, we are going to mount an additional hard disk in Linux.

If you’re not sure about your admin rights, always enter the command sudo -i at the beginning of every session:

sudo -i

This command will grant you the rights of a power user, so you don’t have to write the command sudo at the beginning of every command line.

At first, we list all the disks recognized by our system using the fdisk command:

fdisk -l

fdisk

In our example, two hard drives are plugged into our server: /dev/sda, our system disk which amongst other things contains the operating system, and /dev/sdb, an additional 50 GiB hard drive which we are about to mount in our system. The naming of those disks can vary.

First of all, we need to create a partition as well as a partition table. Of course, it is possible to create more than one partition on a disk, but in our example, we want to use the whole capacity of the drive for one partition. For the partitioning we use cfdisk, the graphical version of fdisk:

cfdisk /dev/sdb

If there is no existing partition table on the disk, yet, a menu pops up:

For our example, we choose dos, which writes a MBR partition table to the disk (for disks larger than 2 TB, we would choose GPT, otherwise we would not be able to make use of the entire available disk space). After that, the main menu of cfdisk opens:

cfdisk2

Here we can create our partition(s). We create a 50 GiB partition by entering 50G and confirming with the Enter-Key.

cfdisk3

In the next dialogue, we choose primary to create a primary partition.

We confirm with Write and type in yes to finish creating the partition.

Now we have a partition, but we cannot store data on it yet, as we still need to create a file system on it. We choose Quit to leave cfdisk and check if the partition has been created properly. To do so, we once again use fdisk:

fdisk -l

fdisk2

Our new partition is now listed as /dev/sdb1. Thus, everything went as expected.
Now, we’re going to format the partition with a file system. In Linux, we choose ext4 by default.

mkfs.ext4 /dev/sdb1

mkfs

The formatting is now finished and the hard disk is now prepared for utilisation. Next, we create a folder in which we mount the partition. All data we move or create in this folder after the whole procedure will be stored on our new hard drive. In our example, we use the name datastore for our folder, but of course you are free to choose any name you like. With the following command, we create the new folder:

mkdir /datastore

In order to mount the partition in the folder we just created, we type the following in our command line:

mount /dev/sdb1 /datastore

Our partition is now mounted in /datastore. In order to automatically mount the partition after a reboot, we add a line in the configuration file /etc/fstab. But before we do so, we need to find out the UUID of our partition.

blkid /dev/sdb1

blkid

The part after “UUID=” is the UUID of our partition. We copy it (without the quotation marks) and open /etc/fstab in a text editor:

nano /etc/fstab

With the arrow keys, we navigate our cursor to the end of the file and paste the following line:

UUID=d6ae62ff-c9b7-4a07-aea8-a36f55c5036d       /datastore      ext4    defaults      0       0

Make sure to replace the UUID with your actual one.

Scroll to Top