I wanted to move root partition to another drive. Usually, it was enough to change UUID of / in /etc/fstab and run mkinitcpio -P. However, just after copying the files, when I wanted to edit /etc/fstab I found that there is only one entry there - /boot/.
How is this possible? How does Manjaro boot?
I know that there are MNJRO_BOOT and MNJRO_ROOT labeled partitions, but where is the code responsible for mounting them?
In a GNU/Linux system installed on a GUID-partitioned drive ─ which is the default and recommended partitioning format for UEFI systems ─ and systemd running as PID 1, systemd will inspect the partition table for certain flags that designate the EFI system partition, the root filesystem and the swap partition, and will automatically mount them accordingly unless overridden by an entry in /etc/fstab.
I’ve marked this answer as the solution to your question as it is by far the best answer you’ll get.
However, if you disagree with my choice, please feel free to take any other answer as the solution to your question or even remove the solution altogether: You are in control! (If you disagree with my choice, just send me a personal message and explain why I shouldn’t have done this or or if you agree)
P.S. In the future, please don’t forget to come back and click the 3 dots below the answer to mark a solution like this below the answer that helped you most:
so that the next person that has the exact same problem you just had will benefit from your post as well as your question will now be in the “solved” status.