After upgrading to Ubuntu 22.04 with an encrypted root filesystem, the root drive can no longer be unlocked at the "Please unlock disk <diskname>" prompt on boot.
The encrypted root disk can be unlocked fine from the liveCD, but not from the initramfs environment on boot.
The issue is caused by support for various luks encryption protocols now being missing from the initramfs environment due to changes introduced in OpenSSL 3.0 and Ubuntu pre-release testing not including a test-case of upgrading older Ubuntu versions with an encrypted root to the new version.
The issue can be worked-around by:
1. Booting from the 22.04 liveCD.
2. chrooting into the target system's root.
See https://help.ubuntu.com/community/ManualFullSystemEncryption/Troubleshooting
3. Creating a file /etc/initramfs-tools/hooks/custom-add-openssl-compat.conf containing:
---
. /usr/share/initramfs-tools/hook-functions
copy_exec /usr/lib/x86_64-linux-gnu/ossl-modules/legacy.so /usr/lib/x86_64-linux-gnu/ossl-modules/
---
4. Regenerating the initramfs. ie. update-initramfs -k all -u
After upgrading to Ubuntu 22.04 with an encrypted root filesystem, the root drive can no longer be unlocked at the "Please unlock disk <diskname>" prompt on boot.
The encrypted root disk can be unlocked fine from the liveCD, but not from the initramfs environment on boot.
The issue is caused by support for various luks encryption protocols now being missing from the initramfs environment due to changes introduced in OpenSSL 3.0 and Ubuntu pre-release testing not including a test-case of upgrading older Ubuntu versions with an encrypted root to the new version.
The issue can be worked-around by: /help.ubuntu. com/community/ ManualFullSyste mEncryption/ Troubleshooting tools/hooks/ custom- add-openssl- compat. conf containing: initramfs- tools/hook- functions x86_64- linux-gnu/ ossl-modules/ legacy. so /usr/lib/ x86_64- linux-gnu/ ossl-modules/
1. Booting from the 22.04 liveCD.
2. chrooting into the target system's root.
See https:/
3. Creating a file /etc/initramfs-
---
. /usr/share/
copy_exec /usr/lib/
---
4. Regenerating the initramfs. ie. update-initramfs -k all -u