Auto-mounting Disks Fails but Can Mount from CLI

Howdy, I cannot for the life of me figure out why things are happening the way they are.

What I have: a custom-built desktop PC that dual-boots into Bazzite 44 by default and Windows 11 by choice, with 6 storage devices: 2x HDDs and 4x SSDs.
One of the HDDs and three of the SSDs are mostly BTRFS-formatted, and the other HDD and SSD are mostly NTFS-formatted. All six of the devices are viewable and controllable in the GNOME-Disks utility, and all six of them are also displayed in the output of cat /etc/fstab.

Five of the devices (not Windows’ home device) are configured to automount on startup of Bazzite, but only two of those five actually do: Bazzite’s home device (BTRFS-formatted SSD) and the NTFS-formatted HDD. When I open GNOME-Disks and click the ‘play’ button (hover-text says “Mount selected partition”) for any of the devices that failed to automount, I get prompted for my user password (presumably because it’s doing a SUDO operation), and then I see no indication of success or failure aside from the fact that absolutely nothing has changed and the partition has not mounted.

When I go to the CLI and enter sudo mount <path/to/device> <path/to/mounting/dir> and enter my user password, the partitions mount totally fine.

I’m not sure what this is worth, but for the record none of the devices auto-mount when I boot into Windows except for the NTFS-formatted SSD and HDD, which is what I want when booting into Windows.

Could anyone please help me understand why GNOME-Disks is unable to mount these partitions, and more importantly why the partitions (named Unger, Metcalf, and Lockett) don’t auto-mount on startup?
You can comfortably assume I know very little if not nothing about how Linux/Fedora/Bazzite handles device mounting because I’m still very new to this.

Output of cat /etc/fstab:

benji@bazzite:/var/home/benji$ cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Jul 11 05:03:54 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
# Updated by bootc-fstab-edit.service
UUID=dacc794d-b2fc-4609-8155-4de2caa16364 / btrfs subvol=root,noatime,lazytime,commit=120,discard=async,compress-force=zstd:1,space_cache=v2,ro 0 0
UUID=41789171-ea61-4d03-a90d-305c66276069 /boot                   ext4    defaults        1 2
UUID=4858-8FDC          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=dacc794d-b2fc-4609-8155-4de2caa16364 /home                   btrfs   subvol=home,noatime,lazytime,commit=120,discard=async,compress-force=zstd:1,space_cache=v2 0 0
UUID=dacc794d-b2fc-4609-8155-4de2caa16364 /var                    btrfs   subvol=var,noatime,lazytime,commit=120,discard=async,compress-force=zstd:1,space_cache=v2 0 0
/dev/disk/by-uuid/e4d00753-856a-4e8d-a034-995d98bce018 /mnt/e4d00753-856a-4e8d-a034-995d98bce018 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=SSDhasslebeck 0 0
/dev/disk/by-uuid/D016844316842C92 /mnt/metcalfmount auto nosuid,nodev,nofail,x-gvfs-name=SSDmetcalf,x-gvfs-show 0 0
/dev/disk/by-uuid/461E66181E660173 /mnt/wilsonmount auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/74086D39086CFB8C /mnt/wagnermount auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=HDDwagner 0 0
/dev/disk/by-uuid/76F462B1F46272F3 /mnt/ungermount auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=HDDunger 0 0
/dev/disk/by-uuid/76F25707F256CACF /mnt/lockettmount auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=SSDLockett 0 0
/dev/disk/by-uuid/b74cb313-07f7-4f85-a50e-4f4e42b34c07 /mnt/ungermount auto nosuid,nodev,nofail,x-gvfs-show,rw 0 0
/dev/disk/by-uuid/9faca75a-83da-4da2-ae6f-5e36eb5a8de8 /mnt/wilsonmount auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/ed847b52-e63e-479d-b956-ec3f8d106cc5 /mnt/ungermount auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/065b38e7-7bec-4fac-bffd-aba33365781f /mnt/wilsonmount auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/32a3c793-3769-4259-abbb-d1833299f82b /mnt/metcalfmount/ auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/C87E573D7E57238A /mnt/C87E573D7E57238A auto nosuid,nodev,nofail,x-gvfs-show,noauto 0 0
/dev/disk/by-uuid/e4af1560-78e0-44c6-a7ef-343bb427957a /mnt/metcalfmount auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=SSDmetcalf 0 0
/dev/disk/by-uuid/2b80d769-0c68-4bc2-8197-229ca793f1e2 /mnt/ungermount auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=HDDunger 0 0
/dev/disk/by-uuid/292b4342-2133-47bb-a83c-07de993bb7c9 /mnt/lockettmount auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=SSDLockett 0 0

Output of sudo blkid

benji@bazzite:/var/home/benji$ sudo blkid
[sudo] password for benji: 
/dev/nvme0n1p1: LABEL="Metcalf" UUID="e4af1560-78e0-44c6-a7ef-343bb427957a" UUID_SUB="dc1627ec-5d56-4e42-af55-d546a42ef345" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="f275eb3c-d6e9-414f-af0f-75fa37e3bdb9"
/dev/sdd1: LABEL="Unger" UUID="2b80d769-0c68-4bc2-8197-229ca793f1e2" UUID_SUB="5ab0e06b-db43-4fb5-9240-407b87a42fe4" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="facd3c10-d69c-4e87-8b90-ee8a5953a3b7"
/dev/sdb2: BLOCK_SIZE="512" UUID="C87E573D7E57238A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="0ef7fead-8f79-4cfd-8aef-e7a1df083a24"
/dev/sdb3: BLOCK_SIZE="512" UUID="9EBE2ED6BE2EA6AD" TYPE="ntfs" PARTUUID="4a2e8642-372c-4290-ac38-f247766c56bf"
/dev/sdc1: LABEL="Wagner" BLOCK_SIZE="512" UUID="74086D39086CFB8C" TYPE="ntfs" PARTUUID="8288a2c6-01"
/dev/nvme1n1p2: UUID="41789171-ea61-4d03-a90d-305c66276069" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="2db1014f-a239-44b1-aea3-01406721f986"
/dev/nvme1n1p3: LABEL="bazzite-nvidia_fedora" UUID="dacc794d-b2fc-4609-8155-4de2caa16364" UUID_SUB="ed897098-aa5f-4f34-aace-b39b9f0093ce" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="11aefc0f-b794-4fbc-bcf5-5b0438ce6528"
/dev/nvme1n1p1: UUID="4858-8FDC" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="86185b60-609d-4aa1-9f8e-54fffd25e1fc"
/dev/sda1: LABEL="Lockett" UUID="292b4342-2133-47bb-a83c-07de993bb7c9" UUID_SUB="90ab4b95-7c58-4d1e-aebe-31f649ed6795" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="08c60067-01"
/dev/zram0: LABEL="zram0" UUID="17f5b988-4f4c-47f8-9e8d-f2f2d8b2f4c0" TYPE="swap"
/dev/sdb1: PARTLABEL="Microsoft reserved partition" PARTUUID="fc4ca36e-cdfc-4ac4-9b07-873d7621bf59"

So the logs I see coming from following the journalctl command don’t seem to reveal much. The sudo mount -a command mounted all the devices as I expected them to, given that I’ve never had issues with mounting the devices from the CLI before.

The only notable thing that I see is that the 3 devices that don’t auto-mount all have log lines that say “first mount” and that doesn’t make sense because they’ve all been mounted to Bazzite many times.

May 29 18:08:25 bazzite kernel: BTRFS: device label Lockett devid 1 transid 19196 /dev/sda1 (8:1) scanned by mount (72575)
May 29 18:08:25 bazzite kernel: BTRFS info (device sda1): first mount of filesystem 292b4342-2133-47bb-a83c-07de993bb7c9

May 29 18:08:23 bazzite kernel: BTRFS: device label Unger devid 1 transid 2575 /dev/sdd1 (8:49) scanned by mount (72575)
May 29 18:08:23 bazzite kernel: BTRFS info (device sdd1): first mount of filesystem 2b80d769-0c68-4bc2-8197-229ca793f1e2

May 29 18:08:23 bazzite kernel: BTRFS: device label Metcalf devid 1 transid 8669 /dev/nvme0n1p1 (259:1) scanned by mount (72575)
May 29 18:08:23 bazzite kernel: BTRFS info (device nvme0n1p1): first mount of filesystem e4af1560-78e0-44c6-a7ef-343bb427957a

I’m not sure what else is relevant but here is most of the rest of the output:

May 29 18:08:23 bazzite systemd[1]: Started session-c7.scope - Session c7 of User root.
May 29 18:08:23 bazzite sudo[72572]: pam_systemd(sudo:session): Failed to check if /run/user/0/bus exists, ignoring: Permission denied
May 29 18:08:23 bazzite sudo[72572]: pam_unix(sudo:session): session opened for user root(uid=0) by benji(uid=1000)
May 29 18:08:23 bazzite audit[72572]: AUDIT1105 pid=72572 uid=1000 auid=1000 ses=2 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=bazzite addr=? terminal=/dev/pts/2 res=success'
May 29 18:08:23 bazzite kernel: BTRFS: device label Metcalf devid 1 transid 8669 /dev/nvme0n1p1 (259:1) scanned by mount (72575)
May 29 18:08:23 bazzite kernel: BTRFS info (device nvme0n1p1): first mount of filesystem e4af1560-78e0-44c6-a7ef-343bb427957a
May 29 18:08:23 bazzite kernel: BTRFS info (device nvme0n1p1): using crc32c (crc32c-lib) checksum algorithm
May 29 18:08:23 bazzite nfsrahead[72589]: skipping non-NFS device btrfs-3
May 29 18:08:23 bazzite kernel: BTRFS info (device nvme0n1p1): enabling ssd optimizations
May 29 18:08:23 bazzite kernel: BTRFS info (device nvme0n1p1): turning on async discard
May 29 18:08:23 bazzite kernel: BTRFS info (device nvme0n1p1): enabling free space tree
May 29 18:08:23 bazzite kernel: BTRFS: device label Unger devid 1 transid 2575 /dev/sdd1 (8:49) scanned by mount (72575)
May 29 18:08:23 bazzite kernel: BTRFS info (device sdd1): first mount of filesystem 2b80d769-0c68-4bc2-8197-229ca793f1e2
May 29 18:08:23 bazzite kernel: BTRFS info (device sdd1): using crc32c (crc32c-lib) checksum algorithm
May 29 18:08:23 bazzite nfsrahead[72606]: skipping non-NFS device btrfs-4
May 29 18:08:25 bazzite kernel: BTRFS info (device sdd1): enabling free space tree
May 29 18:08:25 bazzite kernel: BTRFS: device label Lockett devid 1 transid 19196 /dev/sda1 (8:1) scanned by mount (72575)
May 29 18:08:25 bazzite kernel: BTRFS info (device sda1): first mount of filesystem 292b4342-2133-47bb-a83c-07de993bb7c9
May 29 18:08:25 bazzite kernel: BTRFS info (device sda1): using crc32c (crc32c-lib) checksum algorithm
May 29 18:08:25 bazzite nfsrahead[72626]: skipping non-NFS device btrfs-5
May 29 18:08:25 bazzite kernel: BTRFS info (device sda1): enabling ssd optimizations
May 29 18:08:25 bazzite kernel: BTRFS info (device sda1): turning on async discard
May 29 18:08:25 bazzite kernel: BTRFS info (device sda1): enabling free space tree
May 29 18:08:25 bazzite sudo[72572]: pam_unix(sudo:session): session closed for user root
May 29 18:08:25 bazzite audit[72572]: AUDIT1106 pid=72572 uid=1000 auid=1000 ses=2 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_close grantors=pam_keyinit,pam_limits,pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=bazzite addr=? terminal=/dev/pts/2 res=success'
May 29 18:08:25 bazzite audit[72572]: AUDIT1104 pid=72572 uid=1000 auid=1000 ses=2 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="root" exe="/usr/bin/sudo" hostname=bazzite addr=? terminal=/dev/pts/2 res=success'
May 29 18:08:25 bazzite systemd[1]: session-c7.scope: Deactivated successfully.
May 29 18:08:25 bazzite systemd-logind[1587]: Session c7 logged out. Waiting for processes to exit.
May 29 18:08:25 bazzite systemd-logind[1587]: Removed session c7.
May 29 18:08:35 bazzite systemd[1]: Stopping user@0.service - User Manager for UID 0...
May 29 18:08:35 bazzite systemd[72364]: Activating special unit exit.target...
May 29 18:08:35 bazzite systemd[72364]: Stopped target default.target - Main User Target.
May 29 18:08:35 bazzite systemd[72364]: Stopping unity-gtk-module.service - Unity GTK Module Environment variables...
May 29 18:08:35 bazzite systemd[72364]: Stopped unity-gtk-module.service - Unity GTK Module Environment variables.
May 29 18:08:35 bazzite systemd[72364]: Stopped target basic.target - Basic System.
May 29 18:08:35 bazzite systemd[72364]: Stopped target paths.target - Paths.
May 29 18:08:35 bazzite systemd[72364]: Stopped target sockets.target - Sockets.
May 29 18:08:35 bazzite systemd[72364]: Stopped target timers.target - Timers.
May 29 18:08:35 bazzite systemd[72364]: Stopped systemd-tmpfiles-clean.timer - Daily Cleanup of User's Temporary Directories.
May 29 18:08:35 bazzite systemd[72364]: Closed podman.socket - Podman API Socket.
May 29 18:08:35 bazzite systemd[72364]: Closed systemd-ask-password.socket - Query the User Interactively for a Password.
May 29 18:08:35 bazzite systemd[72364]: Closed systemd-importd.socket - Disk Image Download Service Socket.
May 29 18:08:35 bazzite systemd[72364]: Closed systemd-machined.socket - Virtual Machine and Container Registration Service Socket.
May 29 18:08:35 bazzite dbus-broker[72388]: Dispatched 203 messages @ 3(±23)Όs / message.
May 29 18:08:35 bazzite systemd[72364]: Stopping dbus-broker.service - D-Bus User Message Bus...
May 29 18:08:35 bazzite systemd[72364]: Stopped systemd-tmpfiles-setup.service - Create User Files and Directories.
May 29 18:08:35 bazzite systemd[72364]: Stopped dbus-broker.service - D-Bus User Message Bus.
May 29 18:08:35 bazzite systemd[72364]: Removed slice session.slice - User Core Session Slice.
May 29 18:08:35 bazzite systemd[72364]: Closed dbus.socket - D-Bus User Message Bus Socket.
May 29 18:08:35 bazzite systemd[72364]: Removed slice app.slice - User Application Slice.
May 29 18:08:35 bazzite systemd[72364]: Reached target shutdown.target - Shutdown.
May 29 18:08:35 bazzite systemd[72364]: Finished systemd-exit.service - Exit the Session.
May 29 18:08:35 bazzite systemd[72364]: Reached target exit.target - Exit the Session.
May 29 18:08:35 bazzite systemd-logind[1587]: Removed session 5.
May 29 18:08:35 bazzite systemd[1]: user@0.service: Deactivated successfully.
May 29 18:08:35 bazzite systemd[1]: Stopped user@0.service - User Manager for UID 0.
May 29 18:08:35 bazzite audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=user@0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
May 29 18:08:35 bazzite systemd[1]: Stopping user-runtime-dir@0.service - User Runtime Directory /run/user/0...
May 29 18:08:35 bazzite systemd[1]: run-user-0.mount: Deactivated successfully

The UUIDs in your /etc/fstab file do not appear to match the UUIDs in the output from your commands.

What does that mean for the system? Is it possible that the UUIDs change under some circumstances?
I have noticed that the /dev/ path for the device named “Metcalf” has changed after some reboots. Sometimes it’s /dev/nvme0n1p1 and sometimes it’s /dev/nvme1n1p1. I have no idea why that might happen nor what impact it could have.

There is a lot to it. A filesystem UUID will not normally change. But there are tools that you can use to forcibly change it. Or, if you create a new filesystem, it will by default get a new and unique UUID. Likewise for partition UUIDs.

If you want to know more about how they work, there is a good write up about the different kinds of storage identifiers here:

I see multiple mounts of different UUIDs to the same mount point. Such as /mnt/ungermount & /mnt/wilsonmount.

I would guess that either the last one mounted is the only one seen, that the UUIDs are not correct, or that there is a race condition with mounting that prevents the actual mount.

In my experience you really should only have one device mounted on one mount point. Any other config can lead to confusing results.

/dev/disk/by-uuid/D016844316842C92 /mnt/metcalfmount auto nosuid,nodev,nofail,x-gvfs-name=SSDmetcalf,x-gvfs-show 0 0
/dev/disk/by-uuid/32a3c793-3769-4259-abbb-d1833299f82b /mnt/metcalfmount/ auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/e4af1560-78e0-44c6-a7ef-343bb427957a /mnt/metcalfmount auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=SSDmetcalf 0 0

Shows 3 different UUIDs to be mounted at the same location, yet your blkid output shows

/dev/nvme0n1p1: LABEL="Metcalf" UUID="e4af1560-78e0-44c6-a7ef-343bb427957a" UUID_SUB="dc1627ec-5d56-4e42-af55-d546a42ef345" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="f275eb3c-d6e9-414f-af0f-75fa37e3bdb9"

and that UUID only matches the last of the previous 3 lines.

I suggest you clean up the fstab so you have only one line for each file system to be mounted and ensure that the UUID in the remaining line matches the blkid for that device/partition/

You are mounting using two different uuid formats on to the same mount point.
Is this left over entries from failed experiments to mount the disks?

Suggest you review all the lines you added the fstab and delete the ones that fail or are duplicates.

That is why UUID’s are used. Modern systems do device enumeration with parallel processes, so the order in which devices are discovered is unpredictable. You have multiple entries for the same mountpoint with different UUID’s, so a bunch of error processing that likely makes device discovery less predictable.

Others have noted issues with many fstab entries. A systematic way to solve such problems is manually edit the file. Experienced users will do this in a terminal. This has the advantage that you can easily post text error messages if you hit problems. https://LinuxCommand.org/ will help you learn the necessary command-line tools.

  1. make a copy of the current fstab file
  2. delete all the entries that aren’t working, run ‘sudo systemctl daemon-reload’, and reboot.
  3. add entries that have correct UUID values (from: lsblk -l -o PATH,UUID) one by one, checking each time that the new entry works.

I greatly appreciate the detailed analysis and instructions in your response here. I will give this a try and report back.