Linux  ·  critical  ·  Day-to-day operations

LVM volume group not found at boot

The logical volumes are not activated, so the root or data filesystem cannot be mounted. The data is normally untouched.

What you see

Boot drops to an initramfs or emergency prompt reporting that a volume group was not found. lvs and vgs show nothing, or show a volume group with a missing physical volume.

What is actually wrong

A disk that did not appear in time, a physical volume that has genuinely gone, an initramfs built without the LVM modules, or a filter in lvm.conf excluding the device.

Codes and articles

Volume group not foundvgchangedevice-mapperCannot process volume groupPV unknown device

Fixes (2)

Activate the group and repair the initramfs
Emergency shell or live USB40 minutesmedium riskreversible

All the physical volumes are present but the group is not active.

  1. Scan for physical volumes, volume groups and logical volumes in that order.

    Shell
    pvscanvgscanlvscan
  2. Activate everything.

    Shell
    vgchange -ay
  3. If it activates, you are booted — but it will happen again. Continue.

    Shell
    lsblk -fmount -a
  4. Check lvm.conf is not filtering the device out.

    Shell
    grep -E '^\s*(filter|global_filter)' /etc/lvm/lvm.conf

    A filter added for a SAN or a multipath setup that rejects everything not explicitly listed will silently exclude a newly added disk.

  5. Rebuild the initramfs so LVM is available at boot. Debian-family:

    Shell
    sudo update-initramfs -u -k all
  6. RHEL-family:

    Shell
    sudo dracut -f --regenerate-all
  7. Confirm the volumes are set to activate automatically.

    Shell
    sudo lvchange -ay --setactivationskip n /dev/vg0/rootsudo lvs -o lv_name,vg_name,lv_attr
Confirm it workedThe machine boots unattended and all volumes are mounted.
Shell
sudo lvs && findmnt --verify
If you need to undo itThe initramfs rebuild keeps previous kernels' images — select an older kernel from GRUB if needed.
Deal with a missing physical volume
Emergency shell or live USB1 hourhigh risknot reversible

A PV is genuinely absent. Understand what is on it before doing anything — this is the point at which data is lost or saved.

  1. Establish what is missing and what it held.

    Shell
    sudo pvs -o +pv_missingsudo vgs -o +vg_missing_pv_countsudo lvs -o lv_name,vg_name,lv_attr,devices

    If the missing PV held part of a linear LV, that LV has a hole in it. If the LV was mirrored or on RAID, it may be complete. This determines everything that follows.

  2. Check whether the disk is simply not detected rather than dead.

    Shell
    lsblksudo dmesg -T | grep -iE 'sd |nvme|ata' | tail -20
  3. If it is a cabling or enclosure problem, fix that and rescan — this is the good outcome.

    Shell
    echo '- - -' | sudo tee /sys/class/scsi_host/host0/scansudo pvscan --cache
  4. If the PV is truly gone and you have a backup, restore. If you do not, image what remains before going further.

    Shell
    sudo ddrescue -f -n /dev/sdb /mnt/backup/sdb.img /mnt/backup/sdb.map
  5. To bring up what survives, activate the group partially. This is a recovery measure, not a repair.

    Shell
    sudo vgchange -ay --activationmode partial vg0

    Filesystems on an LV with a missing extent will have holes. Mount read-only and copy off what you can; do not write to it.

  6. Once data is recovered, remove the missing PV and rebuild the group.

    Shell
    sudo vgreduce --removemissing --force vg0

    This permanently drops the LVs that depended on the missing device. Only run it after you have recovered everything you intend to.

Confirm it workedvgs reports no missing PVs and the surviving volumes mount.
If you need to undo itNone. LVM metadata backups in /etc/lvm/archive can restore a previous configuration with vgcfgrestore, but cannot bring back the missing disk's contents.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.