I want to use the Btrfs partition type for my main ("/") logical volume which is under encryption. The encrypted LVM will occupy my entire device aside from the two small "EFI-system" and "Boot" partitions.

I want to use Btrfs because of the Copy-on-Write feature. However I'm not sure whether it's OK to use Btrfs specifically for an encrypted logical volume. Could this cause any issues like data loss or severely hurt my SSD's life expectancy due to the encryption of a Btrfs volume? I'm just not entirely sure how well Btrfs works with encryption.

The Debian installation offers an easy and guided partitioning procedure with LVM and encryption all set while using ext4 for the logical volumes in it. Is this default choice of ext4 necessary for the encryption to work properly, or should I simply change it from ext4 to Btrfs and move on?

1 Answer 1


You can certainly format an LVM logical volume with BTRFS, and have the LVM volume group in a LUKS container.

BUT, and this is very important, you must avoid creating an LVM snapshot of said logical volume. And in the event that you do create an LVM snapshot, you must NEVER allow the origin and snapshot logical volumes to be activated at the same time.


make a block-level copy of a Btrfs filesystem to another block device... use LVM snapshots, or any other kind of block level snapshots... turn a copy of a filesystem that is stored in a file into a block device with the loopback driver...

... and then try to mount either the original or the snapshot while both are visible to the same kernel.


If there are multiple block devices visible at the same time, and those block devices have the same filesystem UUID, then they're treated as part of the same filesystem.

If they are actually copies of each other (copied by dd or LVM snapshot, or any other method), then mounting either one of them could cause data corruption in one or both of them. - BTRFS gotchas

Encryption with BTRFS is no different than encryption with other filesystems; It's transparent to the filesystem because it's handled by LUKS.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .