One step you may have overlooked was consulting man fstab
- in other words, the system manual for creating & maintaining /etc/fstab
. Even though it's a bit dated now (Feb 2015 in my bullseye OS), and has at least one error (re behaviour of nofail
), it does mostly reflect the software on your system. At least man fstab
does a reasonable job of showing the syntax. In addition, the system manual man mount
covers additional details on the options for constructing a correct fstab
entry. You should read them both.
One of the problems I saw in your fstab
entry was that the third field (fs_vfstype
) is incorrect. You have put the term auto
in the third field, but auto
is not a proper entry for the type of file system.
Your question reveals that you correctly identified the type of file system used on /dev/sda1
as ext4
using the commands sudo blkid
and sudo lsblk ...
. THEREFORE: The value ext4
should be used for the fs_vfstype
field.
Also note that you could have simplified this by simply using the following command:lsblk --fs
. No sudo
is required, and the output is in easy-to-read tree format with headings - as shown below: (Note: I've substituted output from my system.)
$ lsblk --fs
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
└─sda1 ext4 1.0 PASSPORT2TB 86645948-d127-4991-888c-a466b7722f05 1.5T 10% /mnt/Passport2TB
mmcblk0
├─mmcblk0p1 vfat FAT32 boot 19E2-67CF 200.9M 20% /boot
└─mmcblk0p2 ext4 1.0 rootfs 97ca6ca8-5cb1-413f-84d0-569efd4e2c0f 25.8G 7% /
Your entries in the fourth field (fs_mntops
) were as follows:
nofail,uid=1000,gid=1000,noatime
My recommendation for your 4th field (fs_mntops
) entries is as follows:
rw,user,nofail
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 (last I checked) it halts the boot process on failure.
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
Testing your /etc/fstab
entries:
You can test/experiment with various options in your /etc/fstab
entry without having to reboot:
- unmount the drive (if it's mounted):
sudo umount /mnt/1TB-PiDrive
- 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
- 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:
$ sudo umount /mnt/Passport2TB
$ sudo mount -av
/proc : already mounted
/boot : already mounted
/ : ignored
/mnt/sdpi/boot : already mounted
/mnt/sdpi/root : already mounted
/mnt/Passport2TB : successfully mounted
$