How To Automount File Systems on Linux

Today I’m going to show you how to automatically mount a drive at boot time in Linux. My laptop has one SSD and one mechanical drive. I install operating systems on SSD and store files on the mechanical drive. So oftentimes I need to mount the mechanical drive in the file manager manually to access my mp3 and video files. Mounting drive manually is just a waste of time. So I’m going to show you an easy way to automount drive in Linux.

Step 1: Get the Name, UUID and File System Type

Open your terminal, run the following command to see the name of your drive, its UUID(Universal Unique Identifier) and file system type.

sudo blkid

sudo blkid command

In the output of this command, the first column is the name of your drives. The second column is the label of the drive (if you set a label for it) and the third column is the UUID of your drives.

First, you need to know the name of the drive that is going to be automatically mounted. For example, the name of the drive that is going to be automatically mounted on my computer is /dev/sdb9.

Then you need to know its UUID and file system type. As you can see the UUID of /dev/sdb9 is eb67c479-962f-4bcc-b3fe-cefaf908f01e and the file system of /dev/sdb9 is ext4 which is the standard file system in Linux.

Step 2: Make a Mount Point For Your Drive

We are going to make a mount point under /mnt directory. Enter the following command,

sudo mkdir /mnt/<name-of-the-drive>

For example, I issued the following command:

sudo mkdir /mnt/sdb9

Step 3: Edit /etc/fstab File

Run the following command to edit the /etc/fstab file. Nano is a command-line editor on Linux.

sudo nano /etc/fstab

We need to append one line of code at the end of the file. The format of this line of code is as follows:

UUID=<uuid-of-your-drive>  <mount-point>  <file-system-type>  <mount-option>  <dump>  <pass>

Note that you need to separate these items with Tab key. For example, I added the following line to the end of /etc/fstab.

UUID=eb67c479-962f-4bcc-b3fe-cefaf908f01e  /mnt/sdb9  ext4  defaults  0  2

/etc/fstab automount

If you want to automount an NTFS file system, here is an example.

UUID=<uuid-of-ntfs-file-system>   /mnt/ntfs    ntfs    defaults   0   2

If you want to automount a Btrfs file system, then change the file system type to btrfs.

UUID=<uuid-of-btrfs-file-system>   /mnt/btrfs   btrfs   defaults  0   2

Save and close the file. Then run the following command to see if it works.

sudo mount -a

So that’s how you automount a file system in Linux.

Some Explanation

For swap partitions, the mount point field should be specified as none.

The defaults mount option will give users read and write access to the file system.

The value of the dump field is usually zero.

The pass field is used by the fsck program to determine the order in which filesystem checks are done at reboot time. As you can see in this file, the value of the pass field for the root file system is 1. Swap partitions do not need to be checked and the value for them is zero. All other file systems should have a value of 2. So I set the pass value to 2 for my drive.

Can’t Mount Your Disk Drive?

If you see the “can’t read superblock” error when trying to mount your disk drive, please follow the tutorial below to fix this error.

Rate this tutorial
[Total: 7 Average: 5]

27 Responses to “How To Automount File Systems on Linux

  • Robert Cotterman
    2 years ago

    Hello, this works beautifully minus one problem, i can’t write to the volumes without using sudo or some other form of root access

    • You can run the following command to grant read, write and execute permissions. Replace username with your real username and mount-point with the path of mount point.

      sudo setfacl -R -m u:username:rwx mount-point
      • Robert Cotterman
        2 years ago

        Thank you, i will try this once i am finished repairing the pc

  • Thank you, this technique has worked very well for me. I think it is also worth mentioning that if there is an error or typo in fstab, it will boot in emergency mode, at least in my case using Debian 10.

  • sepehr
    1 year ago

    I also have my OS(ubuntu) on an SSD drive and had the same problem, I opened nautilus from the terminal with root access to open and edit the file with GUI text editor, entered a carriage return, then entered lines as instructed (NTFS file systems) saved the fstab , ^C out of nautilus and reboot then os failed to boot and entered emergency mode from which I deleted the added lines and reboot again, where do you think the problem is? editing the text with graphical tools or opening it with nautilus? cause I’m sure I didn’t make any mistakes typing the directories and device names

  • Kenneth
    1 year ago

    The trouble with this method is that many people (me!) have a lot of usb drives for various purposes. Trying to maintain a fstab with a listing for each of them would be impossible, not to mention creating all those different mountpoints.

    Better to let udev handle it. If you give the usb drive partitions a label, it will create “/media//

  • Kenneth
    1 year ago

    The number of usb ports isn’t really the issue with regard to what I said. I didn’t suggest I had dozens of USB drives all plugged in at once. Even if I had only one port, and I plugged in my USB drives one at a time ( I have many! ), each partition on each drive would have its own UUID, and would need its own individual entry in fstab. If I was *sure* no two would be plugged in at the same time, I could escape with just one mountpoint, although any programs and scripts that referenced it might get confused.

    On the other hand, with udev, you just give each partition it’s own label, and all would be taken care of. No fstab changes needed.

    • By default, when you insert an USB drive to a Linux computer, you need to click the name of the drive in file manager to mount it.

      This article assumes the USB drive is plugged in before the computer boots, adding a fstab entry would automatically mount it. This is useful when the Linux system doesn’t have a GUI or does’t have a monitor connected to it, like a Raspberry Pi.

  • Pierre-Yves
    1 year ago

    Didn’t work for mounting volumes on my RAID5 array. Rebooted in emergency mode where I had to remove the /etc/fstab additional line. Volumes automatically mount when I click on them in Nautilus. Is there a way to see how they are mounted in order to reproduce this in /etc/fstab? (Not a big deal, but until I manually mount them in Nautilus, Plex server doesn’t see the files.)

    My mdadm conf file has the following line:

    ARRAY /dev/md/pv00 metadata=1.2 UUID=f28ef44a:f135a3ed:6314af35:6f68c74c name=nasdcde96:pv00

    What should the /etc/fstab line be ?

  • Humayun Akhtar
    11 months ago

    it is mounted in directory but I want it to show in file manager as moounted like other storage devices like usb .

  • ChiCHiii
    9 months ago

    Is there a way to undo this?

  • Natetronn
    9 months ago

    Does this look correct to mount an external USB drive?

    UUID=eb67c479-962f-4bcc-b3fe-cefaf908f01e /wdusb         ext4    defaults,nofail,x-systemd.device-timeout=1ms 0 2
    • Natetronn
      9 months ago

      I went with this instead and it seems to be working okay:

      UUID=eb67c479-962f-4bcc-b3fe-cefaf908f01e /wdusb         ext4    defaults,nofail,discard 0 2

      Not totally sure about discard, however.

  • Hi,

    I followed the instructions but can’t see the drive at all

    HELP

    Below is my code

    UUID=01D39AF1CB6EFA00 /mnt/sda1 ntfs defaults 0 2

  • my kali linux os showing
    Escritorio
    file system
    waterbasket

    =

    Desktop
    Computer
    Trash

    How to change this ?

  • Terrance
    4 months ago

    I would really like to be able to use this technique to mount two drives from my in-house server. However, I have never been able to get it to work. The Ubuntu 20.04 server drives show up in Nemo (Linux Mint Cinnamon 19.3), but I get an “operation permitted for root only.” message.

    Here’s the line I am using for one of them. I would like to use a more secure way to log in (store a file), but for now if I could just get THIS part working I’d be happy.

    //192.168.0.7/media/serverhd1 /home/mainuser/ubuntuserver/serverhd1 nfs4 username=YYYYYYY,password=XXXXXXX,dir_mode777,file_mode=0777,iocharset=utf8 0 0

  • David Armstrong
    4 months ago

    Thank you! That worked perfectly for me. Very concise and to-the-point.

  • YouFriend
    3 months ago

    Man please, be careful with html tags in comments – its very dangerous to give this kind of option for user without registration – they can inject code and make xss atacks on website’s or what ever they want. Take this comment into consideration – above I have created a button – do you know what can I also ? 😛

  • Thanks for this tutorial, worked flawlessly

  • Hi.
    I have done the similar line in fstab, with a cifs nas mount.
    Working fine but when i restrt the system i have to run the sudo mount -a command to mount the drive.

    How can I mount it automaticly?
    I was reading instructions for a day and I can’t find the soultion.
    I’m using a plex server, watching it outside from home, and if a powercut happens the plex can’t see the files.

    Please help!
    Many thanks

Leave a Comment

  • Comments with links are moderated by admin before published.
  • Your email address will not be published.
  • Use <pre> ... </pre> HTML tag to quote the output from your terminal/console.
  • Please use the community (https://community.linuxbabe.com) for questions unrelated to this article.
  • I don't have time to answer every question. Making a donation would incentivize me to spend more time answering questions.

The maximum upload file size: 2 MB. You can upload: image. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here