I'm new to Linux and the Raspberry pi. I'm having trouble mounting my USB 1TB HDD automatically using fstab. It mounts no problem when using something like this in the terminal:

sudo mount /dev/sda1 /mnt/1TB-PiDrive

I've copied the UUID number of the drive and used it in the fstab file:

UUID=c6c93d58-8648-4e33-9178-ca6c1d4043e3 /mnt/1TB-PiDrive auto nofail,uid=1000,gid=1000,noatime 0 0

but it doesn't automount after boot. Please see the attached screenshots to see my fstab file and drive information. Would the pi store any errors from this file anywhere? Where would I find them?

Any help would be appreciated Thanks Cameron

Fstab File blkid and lsblk info

  • 1
    Please don't post pictures of text. Instead paste the text direct into the question.
    – Ingo
    Jun 8 '20 at 18:34

One step you may have overlooked was checking man fstab - in other words, the system manual for creating & maintaining /etc/fstab. Even though it's a bit dated now (Feb 2015), and has at least one error (re behaviour of nofail), it does reflect the software on your system. I've always found the fstab incantations a bit arcane, and man fstab at least does a reasonable job of showing the syntax.

One of the problems I saw in your fstab entry was that the third field (fs_vfstype) is missing. man fstab tells us that there should be an entry in this field. It appears you have put the term auto in the third field. AFAIK, auto is not a proper entry for the type of file system. You should use instead the name of the file system used for formatting the drive/partition being mounted. For example: ext4, ext3, vfat, exfat, ntfs, etc, etc. The system manual man mount has additional details on the options.

Moving on to your 4th field entries (fs_mntops), you have the option string:


Perhaps you intended that your 3rd field entry auto was to be included here? It would have been a valid entry.

My recommendation for your 4th field (fs_mntops) entries is as follows:


rw: allow read and write on the mounted filesystem user: allow a user to mount the filesystem - which would include user pi (typically the same as uid=1000,gid=1000, but not necessarily) nofail: don't stop the boot process if this filesystem cannot be mounted. Note that man fstab says do not report errors, but actually it halts the boot process on failure (last I checked anyway).

You do not need the noatime option as that is typically used only on devices such as SD cards which have a "wearout mechanism"

Finally, the two 0 (zero) values at the end of your /etc/fstab entry are the fifth and sixth fields. They are fine as is, but 0 is the default for both so they aren't actually needed in your case.

If you'll try this entry in /etc/fstab, I hope it will work. If not, let us know & we'll fix that:

UUID=c6c93d58-8648-4e33-9178-ca6c1d4043e3 /mnt/1TB-PiDrive ext4 rw,user,nofail 0 0

Please verify that your HDD is formatted as ext4 before trying this; otherwise replace ext4 with the format used.

Testing your /etc/fstab entries:

Finally, you can experiment with various options in your /etc/fstab entry without having to reboot:

  1. unmount the drive (if it's mounted):
sudo umount /mnt/1TB-PiDrive
  1. make a change to your /etc/fstab entry; e.g.:

FROM: UUID=c6c93d58-8648-4e33-9178-ca6c1d4043e3 /mnt/1TB-PiDrive ext4 rw,user,nofail 0 0
TO: UUID=c6c93d58-8648-4e33-9178-ca6c1d4043e3 /mnt/1TB-PiDrive ext4 rw,user,nofail.

  1. have mount re-read /etc/fstab to verify this works (it still mounts):
sudo mount -av

This will attempt to mount all (-a) drives in /etc/fstab and give a verbose (-v) report. For example, on one of my systems (without unmounting anything first):

sudo mount -av
/proc                    : already mounted
/boot                    : already mounted
/                        : ignored
/home/pi/mntThumbDrv     : already mounted
/home/pi/mntBackupDrv    : already mounted
/home/pi/mntPassport     : already mounted
/home/pi/mntNetgearNAS-3 : already mounted
  • See, this explains the problem in great detail, should be the accepted answer, as the accepted answer does not explain anything at all Jun 8 '20 at 2:34
  • Thank you so much! That explains it nicely, I wish I knew I could test fstab first without having to reboot. At one point I changed something in there that bricked the whole machine, I had to set up an Ubuntu VM to remove the command I just added. Jun 9 '20 at 7:54
  • 1
    Now you know :)
    – Seamus
    Jun 9 '20 at 8:00

I'm using a very similar line in /etc/fstab, you can try something similar:

UUID=76634fc7-bf80-470e-9cf7-727e8e13581c /mnt/slave_hdd/  ext4 defaults,errors=remount-ro 0 0

Alternatively, reading logs in /var/log/ may help you.

  • It worked! Your line of code did the trick, maybe it was the extra / at the end of your mount folder? I did check /var/log/ and it said this: [^[[0;1;31m TIME ^[[0m] Timed out waiting for device ^[[0;1;39m/dev/sda1^[[0m. [^[[0;1;33mDEPEND^[[0m] Dependency failed for ^[[0;1;39m/1TB-PiDrive^[[0m. [^[[0;1;33mDEPEND^[[0m] Dependency failed for ^[[0;1;39mLocal File Systems^[[0m. It would be interesting to know what I actually did wrong haha. This was driving me insane :) Jun 7 '20 at 17:56
  • 1
    the reason this works and yours didn't ... you don't have defaults in the flags, which expands to rw, suid, dev, exec, auto, nouser, and async - the important missing flag for auto mounting is, you guessed it ... auto Jun 8 '20 at 2:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.