Herman Quick update: last update broke my ´/etc/mkinitcpio.conf´ file, so I downloaded a default one from github.
Well, this here seems to be your problem 👆
Taking a wild guess, but the default /etc/mkinitcpio.conf file didn't have hooks for encrypt and lvm2 I suppose. Luckily the fix is relatively easy. First, assuming lvm still works. Run:
sudo vgchange -ay
This will activate your lvm partitions so that you can unlock the crypt device. This only needs to be done for root. To do that, run:
sudo cryptsetup luksOpen /dev/lvm/lvroot root
Enter your encryption password. If everything works, you should now have the root file system available at /dev/mapper/root. Mount it with:
sudo mount /dev/mapper/root /mnt
Then mount the boot partition to /mnt/boot
sudo mount /dev/sda1 /mnt/boot
Now you can use arch-chroot /mnt
and if everything works, you're in your system. 👌
Open up ´/etc/mkinitcpio.conf´ in your favorite editor and look for the HOOKS="" line.
Change that to this:
HOOKS="base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems fsck"
Pay attention to encrypt and lvm2 specifically, because I bet those are the ones you don't have ;-)
Save the file and run:
sudo mkinitcpio -p linux
or:
sudo mkinitcpio -p linux-lts
For the lts kernel. Check to make sure this runs successfully and include all the modules into init. If it does, unmount:
sudo umount /mnt/boot
sudo umount /mnt
And reboot. Now you should be able to boot and get into your system as usual.