I copied my root filesystem to another partition today, using cp -r --preserve=all, as I want to have a backup in case I have an issue with my main system. I am using Parabola, which is a libre variant of Arch Linux. I have only one /home partition, which both systems will share. After copying the system (using a live USB), I did a full system upgrade using pacman (it was quite out-of-date). When I try to log in to the new system, everything seems to work and it boots to the DM login screen; however, my user password isn't working. So, I switch to a virtual terminal and try to log in as root, but that isn't working either.
So, I go back into the live USB; chroot in to the new cloned root partition and refresh all of the passwords (with passwd), including root. I then reboot, but the exact same thing happens - I still can't log in to either my user account or as root.
Have I missed something here?
Edit:
To clarify, I have not 'cloned' the partition, I have copied a root filesystem (using cp) to a new partition, which I created with gparted (I will change the question title to clarify). So, the new partition has a different UUID to the parent. I had to do some manual tweaks in grub.cfg and /etc/fstab because of that, to get the duplicated system to boot. Is the password system linked to the partition UUID? Could that be the reason for the issues?
Also, I would like to add that, when I ran passwd in the chroot, it gave me a message saying the passwords had been updated successfully (although still no password worked afterwards).