/ and /home in different hard drives

My laptop has a 20 GiB ssd and a 500 GiB HDD. I would like to install the system (Fedora 35) on the ssd for faster booting speed and set the HDD for storage, but I’m not finding how. If anyone could help…
Thanks in advance

(I’m a beginner)

Look at Documentation Fedora 35>installation guide > installing fedora > installing using anaconda

It’s all in there but you have to read through it as there is a lot in there.

1 Like

https://docs.fedoraproject.org/en-US/fedora/f35/install-guide/install/Installing_Using_Anaconda

Most important for you will likely be this and the subsequent:
https://docs.fedoraproject.org/en-US/fedora/f35/install-guide/install/Installing_Using_Anaconda/#sect-installation-gui-manual-partitioning

For some people it is easier to use the “click here to create them automatically” function (see figure 16 in the second link) and then adjust it instead of doing everything on themselves.

1 Like

Automatic config is probably not wise with the layout the OP is asking for. Fedora 35 by default creates a btrfs file system for / and /home, but it presupposes they are both on the same physical volume. As such it likely would span a single btrfs volume across the 2 drives and with one as SSD and the other as HDD that arrangement has been known to cause issues.

@joshington
If I am reading your request correctly it seems you are installing this as the only OS on the laptop.

If that is correct, then I suggest you use the custom config for the installation and define the 4 default partitions as such.
/boot/efi (the esp partition) as vfat, ~200 MB on the SSD
/boot as ext4, ~700 MB on the SSD
/ (your choice of btrfs or ext4) as the remaining space on the SSD.
/home (your choice of btrfs or ext4) on the HDD.

The manual config is not really difficult, but you do have to tell it what to put where as you set it up. It is also more difficult to manually define btrfs volumes so establishing the partitions as ext4 is a lot easier IMHO.

Fedora offers four options for the “click here to create them automatically” function (btrfs, standard partition, lvm, lvm thin) and once created, it gives an unexperienced user some indication of what is necessary and appropriate (separate boot, efi, appropriate file systems). For his purpose, modifications will be necessary in either case, and he will have to read some of the docs anyway to find out what the terms mean (the default creation shows him which terms he has to investigate). However, the table you already created may suit his purpose the best :wink: But especially in the beginning, the self-taught learning (and testing) processes and working with the docs can create valuable experience.

Fedora does NOT allow a user to define the partitions when they select the automatic option. (see the first image below)
If you select ‘custom’ then you get the second image, which is where I assume you referenced the "click here to create them automatically’ option. (which leads to the 3rd image) Yes, at that point you can select the main file system type and mount points, but then you have to be very careful which device is used to create the mount point. You really do not want a btrfs volume to span both SSD and HDD.

I agree that working on his own and experimenting will be the best learning experience. After all, all of us have made mistakes and learned from those experiences.


The other thing to consider are also placing Efi partition and boot partition to your SSD if your system using UEFI.

You could also using bilvet (if I remember correctly the name) on the far right menu.

SSD:

  • Efi partition 600Mb FAT32 mount to /boot/efi (If not currently available. If it already available, just mount it to /boot/efi)
  • boot 650Mb ext4 mount to /boot
  • root rest-of-ssd-space btrfs mount to /

Then for HDD:

  • create btrfs with any size then mount it to /home

Edit: update mounting of HDD.

I clearly linked this to the “manual partitioning” section in the docs, including referencing the picture (figure 16) of the “custom” page of the docs. I never suggested the automatic option (for the obvious reasons you just mentioned) or btrfs :slight_smile: I absolutely agree with your arguments.

I just offered a point to start, revealing the terms and considerations the user has to review in the docs. Explicitly searching for XFS, btrfs, efi, /boot is much easier than reading the whole docs page, especially as the majority will not do the latter and thus, may skip important issues :open_mouth: That was my thought in my recommendation. The user has to be careful anyway when working for the first time in the partitioning.

Another option to consider would be to install normally to the SSD, then set up the HDD in /etc/fstab to automount. Then, add any folders you would like to the HDD and replace the folder on the SSD with a symlink.

If you mount HDD at /mnt/example then your symlinks for the /home folder would look like this:

sudo ln -s /mnt/example/Documents
sudo ln -s /mnt/example/Downloads
sudo ln -s /mnt/example/Music
sudo ln -s /mnt/example/Pictures

And so on, for any folders where you would like the storage to be on the HDD instead of the SSD.

A benefit to this method is you do not have to modify the defaults for any applications you run. If your browser saves downloads to ~/Downloads, that path will work just fine still and will automatically be pointed to the HDD without you having to change anything.

I use this method for a couple multi-boot machines where I have a few different Linux distros installed that “share” a /home folder. It doesn’t matter which distro I boot into, all my stuff is there. I have four distros on an nvme drive with symlinks in the /home folder, but the “shared” home drive is a separate sata drive that actually stores all the stuff.

1 Like