1

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)

The 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 lsblk:

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.

1
0

I eventually got lucky and was able to boot into the system. As I mentioned in my update above, I noticed two different UUIDs during the boot process, so a little investigation revealed that one of them was my main / partition while the other was the swap partition, and moreover it was getting choked up on the swap partition.

I ended up running the following two commands in serial, to forcibly clear the swap:

sudo swapoff -a
sudo swapon -a

Then I rebooted and didn't seem to have any further issues (knock on wood). But had I not gotten "lucky" and gotten into the OS to do that analysis (and to clear the swap), I'm not sure how I could have solved this problem. So the only answer I have to how one can get at least that far is to pray!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.