Steam - How to mount additional drive

Hello, I hope someone can help me because I’m stuck mounting a drive and adding it to my steam library.

The drive in question is empty and formatted with “ext4”.

Here is what I already did, please feel free to “correct” me if something that I did was wrong.

I added this line to /etc/fstab:
UUID=20c4240e-9c2f-4dd3-b2e9-1ac64eaf330a /mnt/EVO850 ext4 defaults,user 0 2

After that I gave the the mount point the following permissions:
chown -R shamshiel /mnt/EVO850

Then I ran
mount -a

Now if I try to add this drive as a library-source for Steam I get the following error:
New Steam library folder must be on a filesystem mounted with execute permissions

Can someone help me what the best way would be to mount this drive? I just want to use it as a normal drive like my root drive and be able to use it for Steam.

Would really appreciate some help here as I’m still new to Linux/Arch/EndeavourOS.

Can you check the mount options and permissions for the device with e,g,

mount | grep EVO750
ls -al /mnt/EVO850

Here the results of the two commands:

mount | grep EVO850
/dev/sdb1 on /mnt/EVO850 type ext4 (rw,nosuid,nodev,noexec,relatime,user)

ls -al /mnt/EVO850
total 28
drwxr-xr-x 4 shamshiel root 4096 1. Okt 15:10 .
drwxr-xr-x 4 root root 4096 1. Okt 13:50 …
drwx------ 2 shamshiel root 16384 1. Okt 13:41 lost+found
drwxr-xr-x 3 shamshiel shamshiel 4096 1. Okt 14:19 SteamLibrary

Welcome to the purple :enos: side of Linux.

So actually you just want to mount a drive and use it as your steam library which is nothing to do with steam.

Before adding the mount to your fstab you should have mounted it manually then added it to fstab. So you’re sure it works.

First off make a mount point in your system it could be in your /mnt, /run/media, or /home. Let’s take /mnt (hope you have this folder physically in your / partition) because you already used that.

  1. Make a folder using sudo mkdir /mnt/<your mount folder name> (If you already have done this you can skip this step).

  2. Now you have got ownership of this folder otherwise your normal use won’t be able to read/write to this folder because at the moment it’s owned by your root user. You can do this using the below command.
    sudo chown -R <your user name>:<your user group name> /mnt/<your mount folder name>
    Ex:sudo chown -R shamshiel:shamshiel /mnt/<your mount folder nam>

  3. Now you have to assign the permission for the folder. Like 777 (full read/write all), 755 (read/write/execute to the user and read/execute to the group and other), and 744 (read/write/execute to the user and read permission only to the group and other). Recommend using 744 and you can use the below command.
    sudo chmod -R 744 /mnt/<your mount folder name>

  4. Do a ls -l /mnt this should show your mount folder named with the assigned permissions and it should look like this drwxr-r-r.
    Ex: drwxr-r-r 5 sinux sinux 4096 Sep 5 15:05 sinux1 ← This is one of my mount points.

  5. Now you can add you mount point to fstab best use it like shown below.
    UUID=<your drives UUID> <your mount point folder name> ext4 noatime,x-systemd.automount,x-systemd.device-timeout=10,x-systemd.idle-timeout=1min 0 2
    why use like this? answer below.

You should use systemd-automounts to mount external drives. That way it doesn’t matter if they are connected or not. It won’t impact your boot and you won’t have to manually mount them later. – @dalto

  1. Now do a sudo mount -a to make sure there are no errors. If there’s none then do a reboot of the system and check if the drive is available in your file manager. Like below.
    image

Now try to use this as your steam library. It should work.

6 Likes

And your drive seems to be owned by the root user group because your chown -R shamshiel /mnt/EVO850 is missing the user group. It should be sudo chown -R shamshiel:shamshiel /mnt/EVO850 and then sudo chmod -R /mnt/EVO850.

1 Like

Thank you @s4ndm4n. I followed your step by step instructions and it works.

1 Like

Just returning to the original problem,

The method you used to mount your drive added the option noexec, which is why Steam was complaining it couldn’t run executables.

More information about mounting disks permanently via your /etc/fstab can be found on the Arch wiki page, https://wiki.archlinux.org/title/Fstab

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.