I upgraded my two laptops from Ubuntu 17.10 to Ubuntu 18.04.
The first laptop (my backup) had two failed packages (shim-signed
and grub-efi-amd64-signed
). Since I don’t have secured boot enabled, I just removed these packages and everything was fine.
The second laptop (my primary) had one failed package (ca-certificates
), which seemed a little less problematic then the other two packages, so I rebooted.
When asked for the passphrase to unlock my encrypted root device, I just got “bad password or options?”. Enter panic mode.
A google search showed a lot of `cryptsetup` problems in 18.04. However none seems to be the same problem as I had.
I tried booting a live usb-stick to unlock and mount the device there, but once again: “bad password”.
Gave it up for a couple of days when I finally got around to try with a 16.04 live usb-stick, same problem though.
For some reason, I tried entering the password with the characters that it should’ve been if I was using US layout.
Say my password contained = (swedish layout), I replaced those characters with ) (the character that the same key in US layout will give) and it actually worked! Note that I always changed to Swedish layout on the live system.
So it seemed like the upgrade actually changed my passphrase. There has probably been a bug that cryptsetup passphrases has been entered with US layout, and a the passphrase prompt it has always been US layout, and now it is fixed, so the passphrase prompt is with what the layout used in the system. Hence the old passphrase is not working. Re-reading this answer (and the comments that has been added since I read it the first time) actually makes a lot more sense now.
After successfully unlocking my root device, I added a “new” passphrase and removed the old one (actually a bunch of reboots inbetween to make sure the passphrases worked):
sudo cryptsetup luksAddKey /dev/sdXY sudo cryptsetup luksRemoveKey /dev/sdXY