Hey look, it’s my first post!
In my setup, I have 2 drives that I use. First, I have a smaller, faster 200 GB ssd that I installed EndeavourOS on, and second, I have a slower, 2 TB hard drive that I used for all my large programs, games, and documents when I was on Windows. As I’ve been using my system, I’ve been looking for ways to free up space on my ssd. My go-to on Windows was to move programs to my hard drive, but looking at this post on the Arch Linux wiki, it seems to me like that just doesn’t happen on Linux. So, I’m not really sure what to do. Will I just have to leave my 2 TB disk just sitting there? I looked into something like UnionFS and, I may be misunderstanding it, but I don’t think that’s what I need considering the hastle mentioned in the linked post.
What should I do? Is there a better solution I’m missing?
Thanks for help in advance!
Maybe you can move you’re home folder to the 2TB hard drive. This way all you’re documents, download files and pictures are stored on you’re second drive.
i would say everything is possible on linux… you could also put /usr/bin/ on a separate drive… but this is not convenient.
What you could easily do is to use big-slow-hd for data, you can let /home on ssd too and then create folders for documents, pictures, music, video on the slow-hd and bind them to the folders on the ssd under your /home/username/
so that they behave like being on the same disk.
will be like this:
- install EnOS to SSD, and boot into it
- create folders on hdd and edit fstab:
UUID=uuid-of-slow-hdd /mnt/data ext4 defaults,relatime,data=ordered 0 0
/mnt/data/pictures /home/username/pictures auto bind 0 0
/mnt/data/documents /home/username/documents auto bind 0 0
/mnt/data/music /home/username/music auto bind 0 0
/mnt/data/video /home/username/video auto bind 0 0
I think the first thing we need to know to help is how your system is currently set up. if you can post the result of:
that would help. An idea of the split between programs and data would also help. My own set up has all ‘data’ on a separate drive, with all the ‘standard directories’ redirected to it with soft links - which means that / and /home together only take up about 35-40 Gb while my data exceeds 1 Tb. If this might solve your problem, we’d be happy to show you how…
Edit: or bind mount them instead for the same result (post above crossed with mine)
Welcome to the forum!
If i understand your problem correctly, you could use some space from the hard drive and format it to e.g. ext4. Then check which data takes very much space from the SSD, e.g. command
du -hd 1 /
Then basically move the ”big stuff” from SSD to HDD to suitable folders, and mount the new folders accordingly.
But how to move stuff depends on where it currently is. You’ll need root rights to move system folders. But moving system folders may be really tricky if they are currently in use!
Moving just user data is much easier, but not trivial…
That sounds like it would work- What’s the best way to do that? Would I need to set up something like a symbolic link so that the folder on the ssd would point to my moved home folder on the hard drive? or could I set some default on Linux so that the file system knows that the folder moved?
Oh, so basically we mount the hdd, but then tell fstab that things like /home/username/pictures are mounted on the hdd?
Ah, here is the output of that. Note that there is an additional ssd, /dev/sdb, that currently has Windows on it and I’m going to uninstall and move to another computer later.
/dev/nvme0n1p1: UUID="0639-EEF4" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="567f4b52-bc68-6e42-91df-5d28aedd2bf3"
/dev/nvme0n1p2: UUID="6d652097-6ffa-43db-9146-1cd651113103" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c4b6c954-9b92-fe43-b2a3-96297d703a6e"
/dev/nvme0n1p3: UUID="97b9c16e-cf85-4938-9ebb-6956b326934f" TYPE="swap" PARTUUID="d300b1f7-fdae-fb4a-b4c3-d11c15764fc8"
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="05ef8e8b-f750-435a-98b3-019d337ccc79"
/dev/sda2: LABEL="Spinning" BLOCK_SIZE="512" UUID="7A125E9E125E5F67" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="969aa72d-7d4a-49b7-9944-0066e9cee5a9"
/dev/sdb1: LABEL="Recovery" BLOCK_SIZE="512" UUID="AC46A2F446A2BF08" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="3aee7247-d2c3-4b96-a22e-86deae5fd66c"
/dev/sdb2: UUID="4053-94CE" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="7364fa3a-ea8b-40b6-9435-bf55db105030"
/dev/sdb3: PARTLABEL="Microsoft reserved partition" PARTUUID="895d2390-9c18-46f0-b537-ca5dda125176"
/dev/sdb4: LABEL="SSD" BLOCK_SIZE="512" UUID="E476B29776B269C6" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8b966f12-2bfd-4375-bf6a-00d414931da6"
/dev/sdb5: BLOCK_SIZE="512" UUID="0EE2A233E2A21F49" TYPE="ntfs" PARTUUID="81a60792-20a4-4103-bce1-74e9243671a9"
/dev/sdc1: LABEL="ENDEAVOUROS" UUID="C2C2-15C4" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="0284b0a6-01"
I’m still in a fine situation right now, but I would like to get the problem solved sooner rather than later.
That makes sense. I think that would work for one off things, like a particularly large document and the like. Would the other solutions here would work for recurring things, like downloads?
folders are saved on hdd and mounted into your filesystem on the ssd to be exact so they behave like being on the ssd but are stored on the hdd. Also nice if you reinstall system as you simple can wipe the SSD and reinstall and then after first boot bind them again
Do you want/can reformat the HDD? Or you need to keep files/OS on it?
To help us understand and clarify what you want to achieve, could you show the output of the following command:
and explain the contents of each partition?
Thank you so much for all your help. Sorry, for wasting you time, I was away for a family event. I can reformat the HDD if need be. Here is the output of
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT SIZE OWNER GROUP MODE
sda 1.8T root disk brw-rw----
├─sda1 16M root disk brw-rw----
└─sda2 ntfs Spinning 7A125E9E125E5F67 1.1T 39% /mnt/Spinning 1.8T root disk brw-rw----
sdb 223.6G root disk brw-rw----
├─sdb1 ntfs Recovery AC46A2F446A2BF08 499M root disk brw-rw----
├─sdb2 vfat FAT32 4053-94CE 99M root disk brw-rw----
├─sdb3 16M root disk brw-rw----
├─sdb4 ntfs SSD E476B29776B269C6 222.5G root disk brw-rw----
└─sdb5 ntfs 0EE2A233E2A21F49 527M root disk brw-rw----
nvme0n1 232.9G root disk brw-rw----
├─nvme0n1p1 vfat FAT32 0639-EEF4 299.1M 0% /boot/efi 300M root disk brw-rw----
├─nvme0n1p2 ext4 1.0 6d652097-6ffa-43db-9146-1cd651113103 121.6G 37% / 215.4G root disk brw-rw----
└─nvme0n1p3 swap 1 97b9c16e-cf85-4938-9ebb-6956b326934f [SWAP] 17.2G root disk brw-rw----
sda1 is my large but slow 2 tb hard drive. Currently, it has some documents and the programs from that I was using on Windows, but am slowly moving to linux. sdb is where Windows is installed, and the drive will be removed. nvme0n1 is where Endeavouros is installed. Again, not out of space yet.
Thank you again for your help, you’ve been so nice!
I read fast the thread !
You have 2 solutions :
1/ Use the 61% freespace you have on sda and add a partion on it with ext4 that would be your /home
sda divided in 2 partitions :
- ntfs resize it first smaller
- ext4 /home. use the free space after resize (would be where your data goes from Eos)
nvme0n1 just uses it for system knowing that 20 or 30Go is enought for it if you maintain and clean with paccache regulary.
2/ Resize your sda like 1/ with same ext4
Then use nvme0n1 only for EndeavourOS system and data, so when your disk is full push and backup your data on sda ext4…