在格式化的 LVM(Luks、Ext3)上安装 Ubuntu 后恢复数据

在格式化的 LVM(Luks、Ext3)上安装 Ubuntu 后恢复数据

我有一块 1TB 的硬盘,前几天我弄坏了

该磁盘包含:

  • 一个 EXT3 分区 ( / )
  • 一个 EXT3 分区 ( /boot )
  • LUKS 逻辑卷管理器其中有一个大约 200 GB 的 EXT3 分区

我想用 Ubuntu 14.04 替换 Linux Mint 14,所以我从 USB 启动了 Ubuntu 14.04 并执行了安装向导。向导要求我“用 Ubuntu 14.04 替换 Linux Mint 14”,所以我照做了,我还检查了添加 LVM 和加密用户目录。我设置了密码并安装了它。

安装几乎在结束时自行阻止,通过 USB 重新启动,我注意到硬盘已被格式化,并且只有和/boot/我的 LUKS LVM 已被格式化并替换为这两个分区)

我有

  • 磁盘本身
  • dd image磁盘的灾难(1TB 图片)
  • 解锁 LVM 的密码:最旧的密码(我想要恢复)和最新的密码(用于解锁根分区)

问题
我怎样才能恢复我宝贵的数据?

答案1

我们不能保证您能恢复所有文件。如果您删除的文件中有一些珍贵的东西,那么下一个方法值得一试。

建议您先卸载此分区。为了保持驱动器上的数据链原样,建议您不要再在分区上写入任何内容。换句话说,避免覆盖。立即停止使用此驱动器!

从 Live CD 启动,或者更好的是从安装了操作系统的不同驱动器启动。

然后,您应该运行从物理存储中查找并恢复文件/数据的软件。尽管操作系统仍可能无法看到已删除的文件,但这些文件的引用已从文件表中删除,或者文件表已损坏。

解剖刀

这是 Linux 上独立于文件系统的恢复工具。最新版本是 2.0。在 Ubuntu 上安装

sudo apt-get install scalpel

接下来是一些文本编辑——配置文件是 /etc/scalpel/scalpel.conf。你会发现所有内容都被注释掉了——取消注释你想要恢复的特定文件格式。例如,如果我想恢复已删除的 zip 文件,我将取消注释 scalpel.conf 中的 .zip 文件部分

接下来,在终端中运行:

sudo scalpel  [device/directory/file name] -o [output directory]

在运行 Scalpel 之前,您要存储恢复文件的输出目录应该是空的;否则,您将收到错误。

摄影记录

这是三者中速度最快的一个。它由 testdisk 实用程序包安装。如果您不想弄乱命令行,那么这是最适合您的实用程序。只需在终端中以 root 用户身份运行 photorecas,您就会看到一个漂亮的基于 ncurses 的 UI。

选择要搜索的设备,它会询问您分区表类型。选择您的类型;在我的情况下,它是 Intel。接下来,您必须选择设备磁盘的文件系统或分区。接下来,它会提示您选择文件系统。

最后,它会要求指定一个输出文件夹来存储恢复的文件。选择后,按 y 继续。

注意:上述实用程序不会恢复被替换的文件,因为在替换的情况下,您正在替换 inode 本身,因此无法恢复它。

答案2

不幸的是,密码设置工具

LUKS 标头:如果 LUKS 卷的头部被损坏,所有数据永久丢失除非您有 header-backup。如果 key-slot 损坏,则只能从 header-backup 中恢复,或者另一个具有已知密码的活动 key-slot 未损坏。损坏 LUKS 标头是人们经常做的事情。这种风险是安全性和安全性之间权衡的结果,因为LUKS 的设计目标是快速地安全的只需覆盖标题和键槽区域即可擦除

根据您的评论(11 小时前),

谢谢你的回答!很遗憾,我没有。我没有密钥的备份,也没有 LUKS 标头的备份。

我认为您的磁盘已被(有效地)安全擦除;也就是说,扇区(至少在理论上)与随机数据无法区分。

答案3

你可以尝试gpart(注意:不是gparted!),它可以猜测丢失分区的边界。

gpart虽然我的分区没有加密,但它曾经在类似情况下拯救了我。不过你还是应该试一试。

相关内容