恢复丢失的 LVM 逻辑卷的目录结构?

恢复丢失的 LVM 逻辑卷的目录结构?

我知道这个网站上有大量的数据恢复问题,读完所有问题后,我认为我的情况很独特,值得提出一个新的问题。

事情是怎么发生的

我在两个磁盘上为系统的每个部分设置了一个 LVM,其中包含单独的 LV

$ lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 931.5G  0 disk 
└─sda1            8:1    0 931.5G  0 part 
  └─datavg-data 254:4    0 543.8G  0 lvm  /data
sdb               8:16   0 111.8G  0 disk 
├─sdb1            8:17   0   487M  0 part /boot/efi
├─sdb2            8:18   0   244M  0 part /boot
└─sdb3            8:19   0 111.1G  0 part 
  ├─notapc-root 254:0    0   5.5G  0 lvm  /
  ├─notapc-usr  254:1    0   8.5G  0 lvm  /usr
  ├─notapc-var  254:2    0   4.8G  0 lvm  /var
  └─notapc-home 254:3    0  91.2G  0 lvm  /home

(我也可以给你输出lvdisplay,但我认为它太长而且不重要

apt/dpkg开始抱怨空间不足等/var/所以我决定增加它们的大小。我还决定减少我的主分区的大小,因为大多数只是符号链接(例如 ~/Downloads 到 /data/username/Downloads/)。所以我只是使用了 lvreduce<哎呀> 在缩小文件系统之前 </哎呀>. 和预期的一样,文件系统在重启时无法挂载。由于没有重要数据,我简单地dd if=/dev/mapper/notapc-home of=/data/brokenhome.bak在 LV 上创建了一个新的 FS。

我后来发现我从未将我的项目文件夹符号链接到/data,这意味着它从未进入备份(我只备份/data),这让我很高兴我 dd 了它。

不幸的是,我很难找到可以帮助我恢复分区的程序。Testdisk 要求我的磁盘仍然完好无损,而且我找不到可以重建分区表以外的更多程序。Strings找到了很多东西,这让我觉得也许我的项目文件可以恢复。

如何从分区的文件映像中恢复末尾缺少 2G 的 LVM LV 分区?

相关内容