How to mount /home dir on separate partition?

I wanted to move my /home dir onto a separate parition from the one that my root dir is on. I previously asked how to do it and I’ve been given some tutorials which have not been efective. Many of them either have me delete my /home dir, or “renaming” it (example: mv /home /old-home) and it can’t be done. The other method that I’ve been given was making a reinstall and mount everything how I want. The only problem is I don’t know how to do it. So I am asking you, how to mount the home dir on a separate partition when installing Fedora? I am willing to reinstall it because I don’t really have anything to lose and because after this, I wouldn’t lose any data if something happens and I have to reinstall my OS again.
I don’t know if it’s relevant, but I only have a 512GB SSD.

In Fedora 33 Workstation, by default /home is a separate btrfs subvolume rather than a separate partition. While it’s theoretically possible to rearrange this on the fly (by shrinking the filesystem and then rearranging the mount points), doing it at install time is by far the easiest, and can be accomplished in either Custom or Advanced Custom partitioning in the installer GUI. The guide here should give you the background you need to do this.

What is your goal in having a separate partition? Note that many of the reasons for doing that are also met by the current system of having a separate Btrfs subvolume.


Thank you for your reply!
I will try to use that guide, which I’ve read in the past, when I last installed my OS.
My goal is not having to worry about all my data, in case I need to reinstall my OS again. I also read about people who use 2 distros and want a unified home dir. It seems to me that having the home dir separate opens a few more door than not having it separate.

I tried custom partitioning in a virtual box. I can set the mount point, but I can’t set the partitions to which the points mount because " Anaconda uses an opposite approach.".
I tried the Advanced-Custom partitioning and I can’t format the partition to which /boot/efi should be mounted. On top of that, when I try to format a partition to btrfs, it doesn’t act like a ext4 one, meaning that it’s presented as a “btrfs volume” instead of “vdax”.
Can anybody explain how the Anaconda installer works? because I am sure I can’t figure it out by myself.

In Anaconda, it works like that:

  • For an existing partition, you edit it and set mount point, just set it to be /home

  • When creating a new partitions, or formating an existing partition, you can set the mount point in one go.

  • to mount a btrfs subvol in Anaconda, the best is to use Advanced Partitionig (blivet-gui). From there, you can choose any of existing subvol and set the mount point. Or create new subvol and set their mount points.


Thanks! But, do I have to create the /boot and /boot/efi partitions too? Because I can’t format any partition as fat32(required for /boot/efi).

Under Anaconda, you format the efi partition as “efi”, it will use fat32 format plus with the correct partition flags set correctly.


These are the options available when trying to create the partition for /boot/efi. Should I format it as “BIOS boot”?

Please verify if you are booting with legacy BIOS or UEFI.

“4. Is your system UEFI or BIOS?”

If you are in BIOS, then you do not need a EFI partition.

BIOS Boot partition, normally will be created 2MiB in size, is a compatibility way to use GPT partition table under BIOS system.