1

I have a 500 gb ssd and a 8 tb hd. I would like to have linux boot off the ssd so that its super fast and such, but use my 8 tb physical hard drive to store all the programs and such on. This way I do not run out of space, as many of the games I play are like 100 gigs each.

Is there a way to do this?

  • Also, in case you use Steam for games, you can tell it where to install games. However, 500GB of SSD just for the OS seems like a bit of a waste. – Sebastian Apr 11 '20 at 16:41

1 Answers1

0

If your question is whether this is doable, the answer is yes.

If your question was about how can you do it, you need to understand the concept of "mount point" in Unix/Linux systems.

Compared to Windows file system, where each partition is mapped to a drive named C:, D: or E: etc and organized in a linear array fashion, Unix/Linux system is much more flexible and meaningful. All storage space, no matter it is a drive, a partition, a network drive, or a folder, can be all organized into a virtual file system tree start with root "/" and all sub directories. Any drive or partition can becomes any subfolder or root of this tree, as long as you "mount" them to this file system.

To answer your question how to do this, you simply get a Linux installation cd or live USB, and fire up the installation program. In one of the steps, it will ask you to pick which drive/hard disk to install Linux. If you are not familiar with Linux, you may just go along with the default setting, all you need to do is to pick your SSD drive to install Linux. Once this is done, after system reboot, you should now have a working Linux OS on your SSD drive. Now you can "mount" your 8TB drive to the system - pretty much anywhere you want. To mount a drive in a persistent way (so it will show up again after a reboot), you should run

sudo nano /etc/fstab

and add the below line

UUID=XXXXXXX  /home/myusername/ext ntfs  defaults,uid=????,rw        0       2

where UUID can be found by typing command blkid (if your system asks you to install a package to run this command, then install it first). The /home/myusername/ext is simply an existing folder where you want this drive to be appear in your file system. It can be anywhere. ntfs is a drive formatted with Windows NTFS partition, for example an existing Windows partition on it, but you can reformat it to ext4 using gparted and type ext4 in this field. The ???? in uid=???? is a number that is reported by

id `whoami`

which makes the drive to be readable/writable by your account. Once you add this line, and save /etc/fstab, then you can mount your drive by

sudo mount /home/myusername/ext

or whatever folder you want to mount it. Once you have the drive mounted, every time you go to the /home/myusername/ext folder, it will read/write the 8T drive.

If you want the drive to store system files, such as for installing new programs, it is recommended to set your mount point to /user/local or /opt and choose your installation path during your installation process.

Here are some of my partition tips: I usually do not let the Linux installer to use the entire drive for the OS. Instead, I go to the manual partition settings, and partition the system into dedicated partitions, aiming at separating user files from system files. This way, when there is a problem that I have to reinstall the system, I can pretty much keep my personal files intact by only replacing the system partitions. My typical partition scheme is

/ -> a partition ~10GB
/boot -> 1GB
swap -> 4GB - 8GB
/usr -> 20GB
/home -> all the rest 
may occasionally create /tmp or /var on certain systems

this way, you may have about 450GB SSD space to read/write your personal files, which is fast. Only use the 8TB drive for infrequently used files or backup/archive. You can see that Linux OS and apps only consume a very small foot print and have a stable size, in comparison, Windows OS bloats significantly over time and easily eats up all your "C:" drive using the junk files and inefficiently managed update packages.

FangQ
  • 367