Skip to content

Linux logical volume manager (lvm)

The Linux Logical Volume Manager, is commonly abbreviated to LVM. Although LVM can used for other Logical Volume Management variants as well.

Not all forensic tools have support for Linux Logical Volume Manager (LVM) volumes, but most modern Linux distributions do.

Forensic analysis

The metadata area of a LVM Physical Volume can contain multiple versions of metadata section that contains the LVM Volume Group definitions, including a creation date and time value.

Mounting an LVM

Mounting an LVM from an image

If you have an image mount the LVM read-only on a loopback device (e.g. /dev/loop1) by:

sudo losetup -r -o $OFFSET /dev/loop1 image.raw

Note that the offset is in bytes.

If you need to write to the image, e.g. for recovery, use xmount to write the changes to a shadow file.

sudo xmount --in dd --cache sda.shadow sda.raw image/

You can then safely mount the LVM in read-write mode (just omit the -r in the previous losetup command).

To remove this mapping afterwards run:

sudo losetup -d /dev/loop1

To scan for new physical volumes:

lvm pvscan

You cannot unmount an active volume group. To detach (or deactivate) the volume group:

vgchange -a n $VOLUMEGROUP

Where \$VOLUMEGROUP is the corresponding name of the volume group

The individual volume devices are now available in:

/dev/mapper/$VOLUMEGROUP-$VOLUMENAME

Mounting an LVM from a device

To list the Volume Groups (VG) run:

pvs

To list information about a Volume Group (VG) run:

lvdisplay $VOLUMEGROUP

The field "LV Name" provides the volume name

To make the volume group known to the system (only if it was previously exported using vgexport command, note that vgimport will alter the data in the LVM2 header):

vgimport $VOLUMEGROUP

And activate the volumes in the volume group (sometimes you need to run vgscan first):

vgchange -a y $VOLUMEGROUP

Warning: LVM driver will synchronize all physical volumes if they are out of sync after the command above is issued

The individual volume devices are now available in:

/dev/mapper/$VOLUMEGROUP-$VOLUMENAME

These now can be analyzed with e.g. a tool like the The Sleuth Kit or loop-back mounted.

To read-only loop-back mount an individual volume:

mount -o ro,loop /dev/mapper/$VOLUMEGROUP-$VOLUMENAME filesystem/

Also see

Tools