this post was submitted on 05 Jun 2025
36 points (95.0% liked)

Linux

55009 readers
588 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

Hey magical linux-oracle,

I recently made a full disk encryption on my computer via the debian installer.

I partitioned it like this:

SSD:

-- unencrypted part --

Boot - 1GB space, mounting point: /boot

EFI - 512MB space, mounting point: ESP, bootable flag: on

-- encrypted part --

Encrypted container with a volume group (vg-1) containing 3 logical volumes:

Root - 50GB space, mounting point: /

Swap - 30GB space, mounting point: swap

Home - Rest of space, mounting point: /home

& Second harddrive fully encrypted with one logical volume and mounting point /mnt/data


The install of linux worked pretty well.

Unfortunately, the hibernation part doesn't work out of the box. When I press hibernate (or standby), it only goes to the lock screen. How can I solve that issue? (Is it even a good idea to use hibernation on encrypted devices?)

Second thing: As you can see from my setup, I use 2 disks. When I start up my system, I only need to enter my decryption password once (not twice for the 2nd HD) and I see, that my second hard disk seems to be mounted already. It seems that people usually struggle with typing in their passwords twice and want a solution for that. Is it possible, that debian automatically fixed this for me (It's the same pw for both)?

Thanks!

~sp3ctre

you are viewing a single comment's thread
view the rest of the comments
[–] dbkblk@lemmy.world 2 points 4 days ago* (last edited 4 days ago) (2 children)

You have to use two swaps if you already use one swap, because one will be used when the system is on, but the second will be used to set the RAM content + the 1st content into SWAP (if any), otherwise, it would fail.

Then, find the hibernation swap uuid:

sudo swapon --show
lsblk -o name,uuid

Then

# /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=xxxx"

#/etc/initramfs-tools/conf.d/resume
resume=UUID=xxxx

# bash
sudo update-grub
sudo update-initramfs -k all -u

# to hibernate on lid switch
# /etc/systemd/logind.conf
HandleLidSwitch=hibernate

Then reboot :)

Note: this method works wonderfully, I use it personally. Just be aware that the hibernation swap content is not encrypted, so you're vulnerable if your laptop is stolen while hibernated.

[–] _Vi@programming.dev 7 points 4 days ago* (last edited 4 days ago)

It should work with just one swap (encrypted), unless the swap is full at the moment of hibernation attempt.

mkinitramfs-generated script should ask for the LUKS password, then it would start loading the pages.

Note that hibernation in general may fail to work (regardless of encryption) if, for example, a signed kernel and Secure Boot is used.

[–] sp3ctre@feddit.org 3 points 4 days ago (2 children)

Hmm, doesn't this undermine the whole purpose of encryption? If I understand that right, there will always be unencrypted stuff of me? Also when I completely shutdown?

[–] avidamoeba@lemmy.ca 3 points 4 days ago* (last edited 4 days ago) (1 children)

You can do encrypted swap as well. If you use the same passphrase you can install decrypt_keyctl and use it as described here. It will cache the passphrase and send it to every other LUKS volume that needs decrypting so you have to type it only once. This is what I'm currently using and my root is on ZFS on LUKS.

Another option which I haven't used is to have a small volume that only stores your LUKS keys as files, then your LUKS volumes reference those files as keys, then you decrypt only that volume with a passphrase upon boot.

Another option is to use a swap file. I used to run Ubuntu LTS on LUKS on LVM. That is disk > EFI and LVM partitions > LVM volume boot, LVM volume for LUKS > root filesystem inside LUKS > swapfile in that root filesystem. Upon boot, GRUB is able to read the Linux kernel straight from the boot volume on LVM. Boots the kernel. You get a prompt to decrypt the LUKS volume where the root filesystem is. Once decrypted, the kernel can access the swapfile if it needs to resume from it. If I didn't use ZFS, I'd be using this scheme as it's superbly flexible. Growing the volumes and filesystems for larger storage is easy. Adding redundancy via LVMRAID is easy. Changing the swap size is easy. Hibernation works.

[–] poinck@lemm.ee 2 points 3 days ago

I have it working with just one LUKS volume. The tricky part is, that the UUIDs of the decrypted and encrypted device differ. I would have to look at my setup to be sure (it has been more than a year I set this up and I am currently not on my computer).

[–] wildbus8979@sh.itjust.works 2 points 4 days ago

Yes. Unfortunately FDE hibernation is not well supported and in fact Debian used to disable it in the kernel (though that night have changed).

IMHO is a big oversight because encrypted swap hibernation is safer than sleep.