Steam doesn't recognize separate hard drive with Steam Library on it

Anything related to gaming on Linux Mint including game discussion or questions concerning Steam or Wine.
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Post Reply
featherlessbiped
Level 1
Level 1
Posts: 38
Joined: Sat Jan 06, 2024 11:57 am

Steam doesn't recognize separate hard drive with Steam Library on it

Post by featherlessbiped »

I have my Steam library on another drive, mounted at:
/media/[user]/

Sometimes when I load Steam, it doesn't recognize this drive, and I must go to:
Steam -> Settings -> Storage -> Storage Drop Down List -> Add Drive -> /media/[user]/Drive2/ -> Set as default

Any idea why this occurs?
User avatar
xenopeek
Level 25
Level 25
Posts: 29615
Joined: Wed Jul 06, 2011 3:58 am

Re: Steam doesn't recognize separate hard drive with Steam Library on it

Post by xenopeek »

featherlessbiped wrote: Mon Feb 26, 2024 6:29 am /media/[user]/Drive2/
That doesn't look good; /media is for removable storage devices. Is this Drive2 an internal drive or an external that you sometimes disconnect?

If this is an internal drive you should set it up to be mounted at boot, and make yourself the owner of the directory where you mount it. You can mount it anywhere you want but it must be an existing directory. /mnt and /media are treated special by the system so don't mount it there. For example you could create a directory in your home directory called "Drive2", or whatever name you want.

Then you can manually configure the partition to be mounted there in /etc/fstab or you can use the Disks app in your menu. In the Disks app click the partition you want to mount at boot (you may have to unmount it if it is currently mounted before you can make changes here), click the cogwheels button underneath it and choose Edit Mount Options. Disable user session defaults and enable mount at system startup, and configure the mount point to be the directory you created for it. If you want you can enable show in user interface to show it in the devices list; I always disable that because it can be accessed through its mount point directory so there's not need to clutter the devices list.
Image
featherlessbiped
Level 1
Level 1
Posts: 38
Joined: Sat Jan 06, 2024 11:57 am

Re: Steam doesn't recognize separate hard drive with Steam Library on it

Post by featherlessbiped »

Drive2 is an internal drive.

Where should I mount it so that Steam can recognize it? I previously had a drive mounted to /opt that Steam just plain didn't recognize at all.
User avatar
xenopeek
Level 25
Level 25
Posts: 29615
Joined: Wed Jul 06, 2011 3:58 am

Re: Steam doesn't recognize separate hard drive with Steam Library on it

Post by xenopeek »

Anywhere should be fine, so long as:
- you are the owner of the mount point directory
- it's not in /media or /mnt as these are treated special by the system
- format the partition with a Linux filesystem is probably a good idea

I've have a 2nd drive, formatted as ext4, mounted to /drive2 and I created a /drive2/Steam directory on it that I set as the primary storage in Steam settings. I've not had problems with that setup except once in the past year Steam somehow forgot about the 2nd drive -- after a Steam client update -- but adding back the /drive2/Steam directory as primary storage immediately got me back my games.

I configured the mount through /etc/fstab (xed admin:///etc/fstab to edit), with a line like below and the UUID of the partition copied from lsblk -o +UUID. But it should work fine also if configured through the Disks program.

Code: Select all

UUID=long-string	/drive2    	ext4      	rw,relatime	0 2
You can also use /home/yourusername/drive2 or such if you prefer. To create the /drive2 directory use:

Code: Select all

sudo mkdir -v /drive2
sudo chown -v $USER: /drive2
I then I created a directory Steam on it just for clarity for myself but you should be able to set /drive2 as primary storage in Steam settings just as well.
Image
1000
Level 6
Level 6
Posts: 1040
Joined: Wed Jul 29, 2020 2:14 am

Re: Steam doesn't recognize separate hard drive with Steam Library on it

Post by 1000 »

I don't know how user mount hard drives,
but long time ago I noticed that when hard drive is mounted with " Disks " ( gnome-disks ) app
then mounted path is changed every boot, so Steam can find saved path.
Maybe it's already been fixed, I don't know.

With fstab path is always constant.
Probably " disks " use " /media/your_username/ ... " ( Edited or something other )
I created folder Steam64 in /mnt/ and I mounted in fstab.

I have something like
/dev/disk/by-uuid/my_numbers_UUID /mnt/Steam64 auto nosuid,nodev,nofail,x-gvfs-show 0 0

It may be useful ( the options are explained there )

Code: Select all

man fstab


Additionally

- Probably Steam requires creating a folder called Steam
( At least in the old version of Steam I had to do this to select this folder in Steam, to mount )

- As mentioned above, Steam to save new files to a new partition needs permissions
with the "ls -l" command you can check what permissions you have in your own directory and in the directory on the new partition.
Additionally, I used something like, because the R option allows you to change the rights also for subdirectories.

Code: Select all

chown user_name mounted_folder_name -R
If I'm not mistaken, the rights are inherited, but maybe I already had the files there.

If you use multiple Linux distributions,
and you want to play from every one,
then you need to grant permissions from each linux distribution.
featherlessbiped
Level 1
Level 1
Posts: 38
Joined: Sat Jan 06, 2024 11:57 am

Re: Steam doesn't recognize separate hard drive with Steam Library on it

Post by featherlessbiped »

Following xenopeek's thorough advice, and I noticed something.

Here's my fstab

Code: Select all

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=a86a6499-5b67-4e80-8e54-9e32314dbcb8 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=B59C-447F  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/nvme0n1p3 during installation
UUID=9f616d47-8eb7-479b-b3eb-883bfce70412 none            swap    sw              0       0
/dev/disk/by-uuid/c0bbaf3d-ad3d-470d-b468-5369bc18bbdc /media/richard auto nosuid,nodev,nofail,x-gvfs-show 0 0
The partition not consistently being mounted is the only one that does not follow the format "UUID=". I suppose this may contribute to the problem?
1000
Level 6
Level 6
Posts: 1040
Joined: Wed Jul 29, 2020 2:14 am

Re: Steam doesn't recognize separate hard drive with Steam Library on it

Post by 1000 »

The partition not consistently being mounted is the only one that does not follow the format "UUID=". I suppose this may contribute to the problem?
Well then show us. Because I can't predict.

Your fstab does not show the description of which partitions you want to mount.
Is this the partition at the end?

TIP:
I recommend using partition descriptions.
With GParted I can change
- name of the partition
- partition label

Then, the partition is more easily recognizable with blkid or lsblk command.
Can you paste the output from lsbk or blkid?
Which partition do you want to mount?

Commands can be modified to show more or less, for example

Code: Select all

lsblk -o NAME,FSTYPE,FSUSE%,MOUNTPOINT,LABEL,PATH,UUID -e7
more in

Code: Select all

man your_name_command
Debug problems.
- system logs
- you can mount and umount in the terminal, then you will see error if exist.
You can even mount partitions temporarily without fstab
temporarily = it will only work until the next time you start your computer.

Remember:
By default, the system mounts the partition from /etc/fstab after restarting the computer.

Only / alone the " mount " command without options, will show the installed devices.
There's some spam, so I use the grep command to show only partitions.

Code: Select all

mount  | grep ^/dev
Example how mount all ( from /etc/fstab )

Code: Select all

mount -all
or

Code: Select all

sudo mount -all
I don't know if sudo is needed. However it will mount all partitions from /etc/fstab and you don't need restart computer.
If there is no error, it is good.

I don't know how your system is configured.
Some users keep folders such as /home , /etc on separate partitions.
In this case, I do not recommend unmounting all partitions.
But you can umount only the one which you don't need.

Edit

And remember to free the partition from the Disks app if you permanently mounted it there.
Post Reply

Return to “Gaming”