My Ubuntu 11.04 machine uses LUKS encryption for root, swap and home. A routine fsck -n revealed a set of errors I need to repair. fsck requires to unmount the partitions. Before luks I would simply boot from a USB stick and fix run fsck from there. What are the steps to do that for LUKS encrypted partitions?
The exact method depends on how you have setup luks, and if you have LVM on top of luks or if you just have a filesystem within the luks volume.
If you don't have LVM in addition to luks then you would probably do something like this.
cryptsetup luksOpen /dev/rawdevice somename fsck /dev/mapper/somename # or cryptsetup luksOpen /dev/sda2 _dev_sda2 fsck /dev/mapper/_dev_sda2
If you used the LVM on LUKS option providied by the Debian/Ubuntu installer, then you'll need to start up LVM. So
vgchange -aly after opening the encrypted volume, then run fsck against the
(If commands are missing, you may need to do
apt-get install cryptsetup first. Similarly if you need
apt-get install lvm.)
You need to open the LUKS volume first.
cryptsetup luksOpen /dev/(whatever) someName
This'll ask you for the password, then create
/dev/mapper/someName, which is the plaintext device that you can run
fsck on. When you're done,
cryptsetup luksClose someName
will remove the
/dev/mapper/someName plaintext device, .
The procedure should be the same.
Using a Debian (7.7.0 amd64 netinst, in my case) USB stick, one can go into rescue mode, which should identify the LUKS partition, prompt for a password, and map it. It also identifies and maps any LVM partitions contained therein. If you don't mount the root partition, from the shell prompt you can just
e2fsck -f -c /dev/system_name/partition_name, etc.
This question is four years old, but I don't think that the procedure has changed.
I should point out, though, that doing a
fsck -n on a mounted filesystem is almost sure to report errors that won't actually exist when you
fsck it unmounted!