LUKS Filesystems When setting up a new Linux installation, I decided to take advantage of LUKS (Linux Unified Key System) to encrypt the data on my device. The setup is pretty turn-key, most Linux distributions offer an option for guided LUKS setup during installating. When rebooting my device you get a prompt to enter a password and the storage is decrypted. I recently decided to retire my internal SSD to use it as external storage instead. Before formatting the SSD, I had hoped to mount it to a new Kubuntu 22.04 installation and copy over any files I wanted to keep. This was the first time I had ever tried mounting a LUKS filesystem manually, and it took a bit of messing around. Mostly I think this was because both SSDs were full installations of Kubuntu, so the partitions happened to be named the same - they were both created with guided setup for LUKS. For some context, here's output of vgdisplay and all currently mapped devices on my system before making any modifications. It may be useful to compare this against later output to help see what's happening. sudo vgdisplay [sudo] password for kapper: --- Volume group --- VG Name vgkubuntu System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <1.82 TiB PE Size 4.00 MiB Total PE 476372 Alloc PE / Size 476372 / <1.82 TiB Free PE / Size 0 / 0 VG UUID uACwRN-syEc-S99E-tznk-3hYD-062d-oWVbKv ls /dev/mapper/ control nvme0n1p3_crypt vgkubuntu-root vgkubuntu-swap_1 When initially plugging the device in, we run lsblk and check the output to find the name of the device we want to access is sda3 . My system automatically mounted sda2 which is /boot - not what we want, but understandable since the other partition was encrypted and not immediately available for mounting. lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 4K 1 loop /snap/bare/5 loop1 7:1 0 61.9M 1 loop /snap/core20/1405 loop2 7:2 0 55.6M 1 loop /snap/core18/2538 loop3 7:3 0 62M 1 loop /snap/core20/1587 loop4 7:4 0 163.3M 1 loop /snap/firefox/1635 loop5 7:5 0 163.3M 1 loop /snap/firefox/1670 loop6 7:6 0 400.8M 1 loop /snap/gnome-3-38-2004/112 loop7 7:7 0 164.8M 1 loop /snap/gnome-3-28-1804/161 loop8 7:8 0 248.8M 1 loop /snap/gnome-3-38-2004/99 loop9 7:9 0 81.3M 1 loop /snap/gtk-common-themes/1534 loop10 7:10 0 91.7M 1 loop /snap/gtk-common-themes/1535 loop11 7:11 0 43.6M 1 loop /snap/snapd/15177 loop12 7:12 0 47M 1 loop /snap/snapd/16292 loop13 7:13 0 169.4M 1 loop /snap/spotify/60 sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 512M 0 part ├─sda2 8:2 0 732M 0 part /media/kapper/20e58d66-eaa7-4c73-b40f-b293f9a468da └─sda3 8:3 0 930.3G 0 part └─luks-f08f6bfc-fd1f-49cc-8882-c566f19189a3 253:3 0 930.3G 0 crypt mmcblk0 179:0 0 3.7G 0 disk └─mmcblk0p1 179:1 0 3.7G 0 part nvme0n1 259:0 0 1.8T 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi ├─nvme0n1p2 259:2 0 1.7G 0 part /boot └─nvme0n1p3 259:3 0 1.8T 0 part └─nvme0n1p3_crypt 253:0 0 1.8T 0 crypt ├─vgkubuntu-root 253:1 0 1.8T 0 lvm / └─vgkubuntu-swap_1 253:2 0 976M 0 lvm [SWAP] Now we can use cryptsetup to open the LUKS device and map the unencrypted data to a device. We choose the name of the mapped device - so you can change the ssd name below to be anything you want. The mapped device will be created in /dev/mapper/ . sudo cryptsetup luksOpen /dev/sda3 ssd-kubuntu Enter passphrase for /dev/sda3: Note that if your current system is using LUKS, some mappings may already exist - you should provide unique names for each device. ls /dev/mapper/ control nvme0n1p3_crypt ssd-kubuntu ssd--kubuntu-root ssd--kubuntu-swap_1 vgkubuntu-root vgkubuntu-swap_1 If you did not provide a unique name or if the devices default name happened to collide with an existing mapped device, you can change it with vgrename . This command needs to reference a UUID to rename the mapped device though, so we first use vgdisplay to get this information. sudo vgdisplay [sudo] password for kapper: WARNING: VG name vgkubuntu is used by VGs 3Ab6YC-AsQ0-BKfF-F5QA-OXb3-HvIu-hsLuyX and uACwRN-syEc-S99E-tznk-3hYD-062d-oWVbKv. Fix duplicate VG names with vgrename uuid, a device filter, or system IDs. --- Volume group --- VG Name vgkubuntu System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <930.28 GiB PE Size 4.00 MiB Total PE 238151 Alloc PE / Size 238151 / <930.28 GiB Free PE / Size 0 / 0 VG UUID 3Ab6YC-AsQ0-BKfF-F5QA-OXb3-HvIu-hsLuyX --- Volume group --- VG Name vgkubuntu System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <1.82 TiB PE Size 4.00 MiB Total PE 476372 Alloc PE / Size 476372 / <1.82 TiB Free PE / Size 0 / 0 VG UUID uACwRN-syEc-S99E-tznk-3hYD-062d-oWVbKv The two devices above may have the same name but they provide unique UUIDs. The device I want to rename is 1TB, so here I'll use the 3Ab6YC-AsQ0-BKfF-F5QA-OXb3-HvIu-hsLuyX UUID to rename it. You may get a warning here. The warning is referring to the device we just renamed - notice the matching UUIDs. We just need to update our VG devices with the new name, which we will do in the next step. sudo vgrename 3Ab6YC-AsQ0-BKfF-F5QA-OXb3-HvIu-hsLuyX ssd-kubuntu WARNING: VG name vgkubuntu is used by VGs 3Ab6YC-AsQ0-BKfF-F5QA-OXb3-HvIu-hsLuyX and uACwRN-syEc-S99E-tznk-3hYD-062d-oWVbKv. Fix duplicate VG names with vgrename uuid, a device filter, or system IDs. Processing VG vgkubuntu because of matching UUID 3Ab6YC-AsQ0-BKfF-F5QA-OXb3-HvIu-hsLuyX Volume group "3Ab6YC-AsQ0-BKfF-F5QA-OXb3-HvIu-hsLuyX" successfully renamed to "ssd-kubuntu" Activate the devices - this will resolve the warning from the previous step. If you still get a warning here, you do have two devices with the same name. Check the output of vgdisplay to determine which device needs to be renamed. sudo vgchange -ay 2 logical volume(s) in volume group "ssd-kubuntu" now active 2 logical volume(s) in volume group "vgkubuntu" now active Check the devices were activated successfully sudo lvscan ACTIVE '/dev/ssd-kubuntu/root' [929.32 GiB] inherit ACTIVE '/dev/ssd-kubuntu/swap_1' [976.00 MiB] inherit ACTIVE '/dev/vgkubuntu/root' [<1.82 TiB] inherit ACTIVE '/dev/vgkubuntu/swap_1' [976.00 MiB] inherit See information for the activated VG devices - sudo lvdisplay --- Logical volume --- LV Path /dev/ssd-kubuntu/root LV Name root VG Name ssd-kubuntu LV UUID VgiJki-nRap-tE3q-etn0-HKJz-2g6V-9TXg19 LV Write Access read/write LV Creation host, time kubuntu, 2021-12-06 09:26:51 -0500 LV Status available # open 0 LV Size 929.32 GiB Current LE 237907 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4 --- Logical volume --- LV Path /dev/ssd-kubuntu/swap_1 LV Name swap_1 VG Name ssd-kubuntu LV UUID feQi9r-QVBH-ukjv-sE6P-jgzX-x46p-ahxPz9 LV Write Access read/write LV Creation host, time kubuntu, 2021-12-06 09:26:52 -0500 LV Status available # open 0 LV Size 976.00 MiB Current LE 244 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:5 --- Logical volume --- LV Path /dev/vgkubuntu/root LV Name root VG Name vgkubuntu LV UUID 00Zi9e-JF5h-WNZn-527p-Tfqq-RGc2-kRdtds LV Write Access read/write LV Creation host, time kubuntu, 2022-07-29 19:47:38 -0400 LV Status available # open 1 LV Size <1.82 TiB Current LE 476128 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Path /dev/vgkubuntu/swap_1 LV Name swap_1 VG Name vgkubuntu LV UUID ATtx1E-9CDY-R349-pzqJ-f6id-RGd0-Zz136a LV Write Access read/write LV Creation host, time kubuntu, 2022-07-29 19:47:38 -0400 LV Status available # open 2 LV Size 976.00 MiB Current LE 244 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2 Finally, create the directory where you want to mount the device if it doesn't exist already, then mount the device. It's likely that you can skip this step. If for some reason your device isn't automatically mounted, this is an example of how to mount a mapped device. On Kubuntu 22.04, my device was automatically mounted at /media/kapper/174fdc5d-0e9b-4be2-aeea-1c2fbfd65c28 and avaialble to browse in Dolphin. mkdir /mnt/ssd sudo mount /dev/ssd-kubuntu/root /mnt/ssd/ ls /mnt/ssd/ bin cdrom etc lib lib64 lost+found mnt proc run snap swapfile tmp var boot dev home lib32 libx32 media opt root sbin srv sys usr Done! You can now access the filesystem from your last LUKS installation and transfer any files you want to keep.