As I said, I am using the same UUID for EFI partition and ROOT partition, but my swap has a new UUID that I have implemented in the configuration, but during boot it still tries to look for the old UUID, as if some files during grub updating/install are not overwritten.
So you assigned the old one via tune2fs and you made sure you also got the correct UUID of your swap, changed the files and you run sudo update-grub
Rebooted and … ?
You only have to grub-install once, beforegrub-update
The old UUID-s are for 1. ESP partition 2. root partition
The swap partition has a new UUID.
After creating the new encrypted swap partition I changed all the old swap UUID-s to the new one and ran update-grub.
During booting, it says that it can’t find a disk with UUID of the old one, but the resume defined in /etc/default/grub has the new UUID. Somewhere there is something that stores the old UUID of the swap partition and it tries to use that.
Turns out the encrypted swap i made defaulted to luks2.
The following solution helped
# overwrite old cryptsetp
cryptsetup luksFormat --type=1 /dev/nvme0n1p3
# add same password as before etc.
#using gparted I made the underlying partition a linux-swap
# modify all the necessary files in /etc/* folder as per my previous comment in this thread
# mount the filesystem
cryptsetup luksOpen /dev/nvme0n1p2 cryptroot
mount /dev/mapper/cryptroot /mnt
# mount all volatile things as per usual chroot
mount /dev/nvme0n1p1 /mnt/boot/efi
cryptsetup luksAddKey /dev/nvme0n1p3 /mnt/crypto_keyfile.bin
cryptsetup luksOpen /dev/nvme0n1p3 cryptswap
chroot /mnt
swapon /dev/mapper/cryptswap
mkinitcpio -P
grub-install
update-grub