-
Boot into the EndeavourOS live environment.
-
Open a terminal and run the following command to list all drives:
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT
- Drives will appear as
sdXn(e.g.,/dev/sda1) for SATA drives ornvmeXn(e.g.,/dev/nvme0n1p1) for NVMe SSDs. - Identify the partition where your root (
/) filesystem resides.
- Drives will appear as
-
Convert the root (
/) partition from EXT4 to Btrfs using the following command:sudo btrfs-convert /dev/sdXn
Replace
/dev/sdXnwith your root partition, e.g.,/dev/sda1or/dev/nvme0n1p1.
-
Mount the converted Btrfs partition:
sudo mount /dev/sdXn /mnt
-
Create the
@homesubvolume:sudo btrfs subvolume create /mnt/@home
-
Move your existing
/homedata to the new subvolume usingrsync:cd /mnt/home sudo rsync -ar --link-dest=. ./ /mnt/@home/This command ensures that all files from
/homeare moved to the@homesubvolume. -
Verify that all files have been copied correctly:
ls /mnt/@home
-
Change to the mount point and remove everything except the
@homesubvolume:cd /mnt ls -la sudo rm -rf bin boot dev etc lib lib64 media mnt opt proc root run sbin srv sys tmp usr var home ls -la -
Remove the old
ext2_savedsubvolume created by the conversion process:sudo btrfs subvolume delete /mnt/ext2_saved
-
Unmount the partition:
sudo umount /mnt
- Launch the EndeavourOS installer and start the installation process.
- When you reach the partitioning step, select the existing Btrfs partition.
- Choose manual partitioning and assign subvolumes:
/(new subvolume,@)/home(use the existing@homesubvolume)
- Continue with the installation as normal.