Mounting Linux Partitions in Ubuntu

If you plug in an external hard drive with a Linux filesystem, it will automount and show up on your desktop, just like any external media. But what if you have an internal hard drive or partition with a Linux filesystem? Well, that's what this tutorial is about.

Warning: The tutorial on this page is for an internal drive that will serve as an extra data partition. If you would like to mount a separate drive or partition as /home instead, you want a different tutorial.

First you have to determine what the partition is called and what filesystem it is. One quick way to do it if you know what filesystem you formatted the drive as (Ext3, for example) is to just type the terminal command

sudo fdisk -l

Here's how it could come out:

Disk /dev/hda: 20.0 GB, 20020396544 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 1275 10241406 83 Linux
/dev/hda2 1276 2434 9309667+ 5 Extended
/dev/hda5 1276 2388 8940141 83 Linux
/dev/hda6 2389 2434 369463+ 82 Linux swap / Solaris

As you can see, I'm able to locate that /dev/hda5 is my Linux partition, but in System, I don't find out if it's Ext3, Ext4, Reiserfs, or what it is. If I happen to know it's Ext3, cool.

But let's say I didn't know. Well, one way to find out for sure is to install GParted and find out:

sudo apt-get update
sudo apt-get install gparted gksu
gksudo gparted

Ah, now I can definitely see it's Ext3 for sure. Under Partition I see it's /dev/hda5, and under Filesystem, I see it's Ext3.

If you have a second physical hard drive (not just another partition), you might have to click on the top-right corner to focus on the second hard drive.

So now I'll create a mount point for that partition:

sudo mkdir /storage

Next, I want to determine the UUID of my partition.***

ls -l /dev/disk/by-uuid
and I get back this output:
lrwxrwxrwx 1 root root 10 2009-11-04 17:05 069427AD94279E65 -> ../../hda1
lrwxrwxrwx 1 root root 10 2009-11-04 17:05 82b11ae0-e4c9-4e95-9518-06a337659dfb -> ../../hda5
lrwxrwxrwx 1 root root 10 2009-11-04 17:05 EA902C94902C6971 -> ../../hda7
Then I'll edit my /etc/fstab file:
sudo cp /etc/fstab /etc/fstab_backup
sudo nano /etc/fstab

Once in there, I should add in this line:

UUID=82b11ae0-e4c9-4e95-9518-06a337659dfb /storage ext3 defaults 0 0

Then I can save (Control-X), confirm (Y), and exit (Enter).

Since we've made changes to the /etc/fstab file, we need to have Ubuntu acknowledge those changes:

sudo mount -a

Now I need to give it the proper permissions. Let's just assume, for this example, that my username is marie.

sudo chown -R marie:marie /storage
sudo chmod -R 755 /storage

Now the partition is mounted in the /storage folder and is ready for use!

*** Yes, I could just use the name of it (/dev/hda5), but UUID is more precise. It's unlikely that I'll unplug my internal drive, plug in a new internal drive, and then plug back in my original internal drive so that the partition names are reassigned. Still, it's safer to use the exact partition identifier in /etc/fstab.

If you have suggestions or corrections for these tutorials, please post in this Ubuntu Forums thread or leave a comment on my blog.

I will not give help to people posting in the above places. If you require technical support, start a support thread on the Ubuntu Forums. That is the appropriate place to ask for help.