问题
我意外地按下了我的一个外部硬盘右下角的红色按钮,删除了一个 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 来定位丢失的分区并重写分区表。