Several days ago, I gave you a tutorial on how to recover from a
borked glibc, using tools available inside the installed system. We mentioned booting into a live session as
the last but always viable option. Then, I thought of a little snag that may come your way. What if the
installed system uses LVM?

Normally, you would just mount the root partition and then fix files and folders as needed. But what happens
when you're running LVM? The procedure as you know it no longer applies, and we need a new method. Let's see
what gives here.

LVM in action

The first step is to identify the right partition. Hence, fdisk or gdisk, depending on whether you have a
classic ms-dos partition table or GPT. Either way, you should be able to get some useful info regarding your
disk structure:

Typically, LVM setups will have a small boot partition, which corresponds to /dev/sda1, and the the rest of the
root under an LVM, which we can see falls under /dev/sda2 in our example. All right, naively, let's try to
mount it.

mount /dev/sda2 /mnt
mount: unknown filesystem type 'LVM2_member'

The reason why this won't work is because you're trying to mount a container, much like the extended partition.
So we will actually need to identify the mapped devices before we can mount them.

The name of the game: vgscan

We will now use LVM tools to manipulate this particular setup. LVM consists of volume groups (VG) and logical
volumes (LV). Or first task is then to identify the volume group(s) that correspond to the /dev/sda2 setup. So
we need vgscan to achieve that.

This particular utility may not be available on your particular distro, or you may not have the LVM kernel
modules loaded into memory to allow you to use LVM. If this is the case, you may need to install the LVM tools
first before you can proceed. Typically, vgscan comes as part of the lvm2
package. Then, run the following command:

vgscan
Reading all physical volumes. This may take a while...
Found volume group "fedora" using metadata type lvm2

The tool will scan all physical volumes and then present the groups as new devices under the /dev tree. In our
example, we have fedora, and this means that logical volumes that belong to this group will appear under
/dev/fedora.

We have root and swap, which makes sense, and they actually correspond to device mappers (dm) 3 and 4,
respectively. In other words, you can mount these filesytems either by reference or directly. Then, the mount
exercise becomes:

mount /dev/fedora/root /mnt

This will succeed - again, provided your distro supports whatever filesystem you're using for the LVM root
volume. Once mounted, you can manipulate the partition and its objects like you normally would, any which way.

Conclusion

This is a simple, quick tutorial. But it may save you some frustration. If you browse around, you will notice
additional suggestions on running pvscan and vgchange, but you do not need those commands, especially if you do
not intend to make any changes to the existing LVM setup - only the data stored on its volumes.

The LVM manipulation trick completes the exercise we started with busybox and LD_PRELOAD a while back. It gives
you the full range of options to fix your system problems. Knowing that you can always fall back to the live
session usage, and work from there, should give you a sense of peace. It means that if you ruin your Linux,
well not too stringently, you can use all sorts of tricks to get back in the game. But don't push your luck.
And keep those backups up to date. See ya.