# LVM Salvage Tools Tools to scan and recover files from damaged LVM volumes. ## Scan: ```bash ./scan.sh '/lvm-vol/path1' ./scan.sh '/lvm-vol/path2' ./scan.sh '/lvm-vol/path3' ``` ## Recover: ```bash ./recover.sh '/lvm-vol/path1' ``` The source tree is mirrored beneath `/mnt/recovery`: ```bash /lvm-vol/path1 -> /mnt/recovery/lvm-vol/path1 /lvm-vol/path2 -> /mnt/recovery/lvm-vol/path2 /lvm-vol/path3 -> /mnt/recovery/lvm-vol/path3 ``` The scan creates uniquely named manifest/summary files under `/mnt/recovery`. Classifications: ```plain SAFE LOST ETB_LOST ETB_SURVIVES UNKNOWN OTHER ``` Only `SAFE` files are recovered. Safety: - damaged LV must remain kernel read-only; - `/mnt/recovery` must be a separate mounted filesystem; - filesystem root `"/"` is refused; - `".."` is refused; - each file is dumped by inode; - dumped byte size must match inode size; - existing same-size recovered files are skipped; - at least 2 GiB free is preserved on `/mnt/recovery`. Known dead ext4 block range: 3418636288 - 4395389951