How do I add an additional hard drive?
1 Partition
The easiest and user-friendly way is probably to use gparted
after you have installed your new HDD and boot your machine:
sudo gparted
Then you create partitions, by setting their size and type.
- If a partition table does not exist yet, you likely want to choose the type as
gpt
for Ubuntu-only machines andmsdos
(aka MBR) for dual-boot Ubuntu/Windows machines. See this forum post for additional discussion - Since your hard drive is additional storage space, you probably want to create one single big partition with the type of
ext4
- After adding the new partition, make sure that the left-most partition column shows a true filepath (i.e.
/dev/sdb1
) rather than a placeholder like "New partition #1". If you see the latter, click "Edit > Apply all operations" from the top-bar to actually execute the new partition. Otherwise, it is just in a pending state and your mount will fail in step 2.3
gparted
is a very easy to use tool, and yet very advanced.
2 Mount
After you are done creating your partitions (most likely it will be just one ext4
data partition, since this is your additional storage drive), you need to permanently mount it.
At this step you already know what names your new partition(-s) have. If not sure, following command will remind you about existing drives and partitions on them:
sudo fdisk -l
This will output something like this (intentionally skipped /dev/sda
system drive info):
Disk /dev/sda: 250.1 GB, 250059350016 bytes
....
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000814e3
Device Boot Start End Blocks Id Syste
/dev/sdb1 1 243201 1953512001 83 Linux
Output states, that your new partition is /dev/sdb1
. Now you need to mount it to utilize it's precious space. To achieve this, you need to perform three simple steps:
2.1 Create a mount point
sudo mkdir /hdd
2.2 Edit /etc/fstab
Open /etc/fstab
file with root
permissions:
sudo vim /etc/fstab
And add following to the end of the file:
/dev/sdb1 /hdd ext4 defaults 0 0
2.3 Mount partition
Last step and you're done!
sudo mount /hdd
Links
- fdisk partitioning tutorial, command line alternative.
- GParted tutorial.
Modern drives are huge and need to be partitioned with GPT to allow 2TB+ in size.
-
Find your disk:
sudo blkid
If it is already formatted, you should see entry like
/dev/sdb1
withUUID
andPARTUUID
settings. -
If your disk is not formatted, create a new partition:
sudo cgdisk /dev/sdb
and format it:
sudo mkfs -t ext4 /dev/sdb1
-
Create directory for your hdd:
sudo mkdir /media/storage
-
Run
sudo blkid
again, note theUUID
of your/dev/sdb1
partition and add it into/etc/fstab
(make a backup offstab
by installingetckeeper
- this file is important):UUID="b4c93..." /media/storage ext4 defaults 0 2
fstab wiki page describes what does it mean. This should make it persistent over reboots.
-
Finally mount it without rebooting to test:
sudo mount -av
First you need to identified the new hard disk.
press CTRL
+ALT
+T
to open a console then type :
lsblk
You will see something similar with this:
loop0 7:0 0 86.6M 1 loop /snap/core/4486
sda 8:0 0 5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 4.5G 0 part /
sdb 8:16 0 10G 0 disk
sr0 11:0 1 1024M 0 rom
For example the sdb it's the new hard disk that you want to add.
If the sdb it's a new hard disk , you need to format to ext3 or ext4
sudo mkfs.ext4 -j -L NewHDD /dev/sdb
Keep in mind, command above will delete everything on target hard disk. You can skip this step if there are any data on the hard disk and you want to not lose them.
Now you need the UUID of the new hard disk.
sudo blkid /dev/sdb
You will see something similar with this:
/dev/sdb: LABEL="NewHDD" UUID="5d6c8f68-dcc8-4a91-a510-9bca2aa71521" TYPE="ext4"
next step it's to add the new hard disk in fstab for auto mount after reset:
sudo nano /etc/fstab
And add new line on bottom, with follow content:
/dev/disk/by-uuid/5d6c8f68-dcc8-4a91-a510-9bca2aa71521 /mnt/NewHDD auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=NewHDD 0 0
Remeber to replace the 5d6c8f68-dcc8-4a91-a510-9bca2aa71521
and /mnt/NewHDD
whit your own UUID and path where will be mounted, CTRL
+X
then press Y
and ENTER
to save it.
To mount it use: sudo mount -a
, if the result will be:
mount: /mnt/NewHDD: mount point does not exist.
You must create mount point sudo mkdir /mnt/NewHDD
then use again: sudo mount -a
Also you need to change owner and group of the new hard disk using next command:
sudo chown user:user -R /mnt/NewHDD
Replace the: user:user
with your own user and group that you need it.