Multiple Drive Questions

This might be a very “I only understand Windows” question, but I would really appreciate your guidance. I have a NVME drive that I want to use for boot and an SSD that I want to use for big applications like Steam and also just storing files and stuff. On Windows I’d just install Steam and or specific programs to the SSD. However, if I understand correctly, this isn’t really how Linux operates.

So my question is, what is the best way to partition everything to accomplish my goal? When I install, should I make the SSD my home folder and use the NVME my boot drive? Does my last question even make sense :laughing:? Is LVM something I should learn about and do so I can use all of my storage space? I’m just hopelessly lost as to the best way to keep my boot fast and take full advantage of all my storage.

1 Like

There are roughly 436,987 ways to solve this problem. :nerd_face:

Here is what I usually recommend:

  • Install the OS the nvme drive. Just ignore the second drive during installation
  • If you don’t need it for anything else, just create one large partition on the sata SSD
  • Mount the sata SSD somewhere. It can be anywhere but I will use /data for example purposes
  • Create directories under /data for things you want to store there. For example /data/videos, /data/steam, /data/music, etc
  • Use symlinks or bind mounts that point to those directories. For example:
ln -s /data/videos /home/averynewuser/Videos
ln -s /data/music /home/averynewuser/Music
ln -s /data/steam /home/averynewuser/.local/share/Steam

Replace “averynewuser” with your actual username.

Now the files that are written into your steam/Videos/Music directories will really be stored in /data even though applications will see them in both places.

The advantage of this approach is that it is fairly simple and allows you to treat your device as one biog storage pool instead of having to manually carve it up into partitions.

5 Likes

This is perfect. Thank you so much!
I’m glad I don’t have to do a fresh install or anything to make this work either.

1 Like

Just keep in mind that if you already have data in the destination directories you need to move it to the appropriate place in /data first

So, with Steam for example, I need to move everything from .local/share/Steam into /data/steam and then make the symlink. Correct?

Yes, exactly.

2 Likes

Great! As soon as work is over I’ll get started! Thanks again.

2 Likes

This solution is precisely what I was looking for.

For posterity, if you’re using Lutris, you may need to update the Default Installation Folder for the Steam runner in order for Lutris to play nicely with everything else.

1 Like