如何恢复意外删除的 LUKS 分区表?

如何恢复意外删除的 LUKS 分区表?

问题

我意外地按下了我的一个外部硬盘右下角的红色按钮,删除了一个 LUKS 分区。

现在它只显示“可用空间”:

文件仍然存在

sudo hexdump -C /dev/sda  | grep LUKS

输出如下:

00100000  4c 55 4b 53 ba be 00 01  61 65 73 00 00 00 00 00  |LUKS....aes.....|

这意味着 LUKS 标头仍然存在。

然后我通过运行以下命令挂载并解密该分区:

sudo losetup -o 0x00100000 -r -f /dev/sda
losetup -a
sudo cryptsetup luksOpen /dev/loop17 luksrecover

我能够读取磁盘上的所有文件。

问题

如何重新创建 LUKS 分区的分区表?

答案1

我最终做的是手动安装驱动器,然后将所有文件复制到另一个磁盘。

1. 找到 LUKS 标头

sudo hexdump -C /dev/sda  | grep LUKS

输出如下:

00100000  4c 55 4b 53 ba be 00 01  61 65 73 00 00 00 00 00  |LUKS....aes.....|

这意味着,LUKS 标头仍然存在0x00100000

2. 挂载磁盘

然后我通过运行以下命令挂载并解密该分区:

sudo losetup -o 0x00100000 -r -f /dev/sda
losetup -a | grep sda
sudo cryptsetup luksOpen /dev/loop17 luksrecover

3. 备份你的文件

手动将所有文件复制到另一个磁盘

答案2

根据您的图片,只有第三个分区被加密,而第一和第二个分区没有被加密。在这种情况下,可以使用 Testdisk 来定位丢失的分区并重写分区表。

相关内容