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
$