In November I bought a Librem 15, which is a Linux laptop running PureOS. PureOS isn't Ubuntu but it is a Debian-variant that has a lot of security/privacy settings enabled by default, so it's very similar. One of those default security settings is Disk Encryption, using a program called LUKS. So every time I start up my laptop, I have to first enter the disk encryption password so that it can start booting. Then it boots into PureOS and I enter my user password.
For the past four months this has worked great and it generally boots very fast. However, earlier today I ran
sudo apt upgrade to upgrade all of the software packages, and now I'm really regretting that I did that. It no longer boots! At least not fully.
Now, what's happening is this:
- It prompts me for my disk encryption password
- It displays the boot animation
- But it just hangs there
If I press Esc to get out of the boot animation screen, I'll see a bunch of boot messages and then this line at the bottom:
[ ***] A start job is running for /dev/mapper/luks-204dc5ca-8fbd-4b02-9833-3661ffd0c0aa (9min 38s / no limit)
9min / 38s is just a timer that continually counts up. But it just keeps counting and counting, never proceeding past that step to finish booting into PureOS. I'm not really sure what to do at this point. I tried pressing Ctrl+Alt+Delete from this screen, and one time it actually worked; on reboot I was able to get in. But now (after another reboot) I'm stuck on this boot screen again. And this time it doesn't seem to be going away.
How can I get my machine to boot?
UPDATE: After a little more digging, I discovered a few more details. It seems my disk is segmented into a couple of different partitions. Here is the output of
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 91.1M 1 loop /snap/core/6259 loop1 7:1 0 89.5M 1 loop /snap/core/6130 loop2 7:2 0 91M 1 loop /snap/core/6350 loop3 7:3 0 8K 1 loop /snap/anbox-installer/24 nvme0n1 259:0 0 465.8G 0 disk ├─nvme0n1p1 259:1 0 1.1G 0 part /boot ├─nvme0n1p2 259:2 0 447.5G 0 part │ └─luks-0a47a276-75cb-4928-8d8f-35a8d78c02ce 254:0 0 447.5G 0 crypt / └─nvme0n1p3 259:3 0 17.1G 0 part └─luks-204dc5ca-8fbd-4b02-9833-3661ffd0c0aa 254:1 0 17.1G 0 crypt [SWAP]
I noticed that when I'm first prompted to enter the disk encryption password, it references the UUID of the main partition, saying
Please unlock disk luks-0a47a276-75cb-4928-8d8f-35a8d78a02ce. But then when it gets stuck, it references the UUID of the swap partition. That suggests, to me, that it is having trouble decrypting the swap partition.