如何恢复错误格式化的 2 个 LUKS2 分区?

如何恢复错误格式化的 2 个 LUKS2 分区?

我想安装一个新的 Linux 发行版,所以我删除了磁盘开头~120 Gb 处用于安装 Fedora 的先前分区,并且我将剩余的 2/3 磁盘由 Fedora 36 或 37 以来的 2 个 LUKS2 分区组成。

不幸的是,新发行版安装程序的自动分区决定格式化我的整个驱动器,而不是使用空白空间。我一看到正在发生的事情就停止了安装程序。

我已尝试过其他人在此处采取的步骤:

sudo hexdump -C /dev/sda  | grep LUKS

我得到了 6700 行长的输出(如果您告诉我如何才能做到这一点而不会淹没这个网站,我可以分享它)

我已经尝试了输出中的一些偏移量:

sudo losetup -o 0x......... -r -f /dev/sda
losetup -a
and they seem to work but  
sudo cryptsetup luksOpen /dev/loop0 luksrecover 
gives me an error output  
Device /dev/sda is not a valid LUKS device.

有人能帮助我吗 ?


正如我所料,TestDisk 无法识别从 ~120 Gb 之后开始的分区。

TestDisk 7.1, Data Recovery Utility

Disk /dev/nvme0n1 - 512 GB / 476 GiB - CHS 488386 64 32
     Partition               Start        End    Size in sectors
 P FAT32                    0   1  3   476  53  2     976512 [EFI System Partition] [NO NAME]
 P FAT32                    0   1  9   476  53  8     976512 [NO NAME]
 P NTFS                     1   0  1 488386  20 15 1000213135
 P ext4                   489   0  1 106915  63 32  217962496
 P ext4                   490   0  1 116452   0 32  237490208 [Linux]
 P ext4                   602   0  1  1625  63 32    2097152
 P ext4                   667  63 31 488385  63 30  998846464
>P ext4                   668   0  1 488385  63 32  998846464
 P ext4                 11163  63 31 12827  63 30    3407872 [/]
 P ext4                 11164   0  1 12827  63 32    3407872 [/]
 P ext4                 11259  63 31 11734  49 14     972336 [vendor]
 P ext4                 11260   0  1 11734  49 16     972336 [vendor]
 P ext4                 11675  63 31 13339  63 30    3407872 [/]
 P ext4                 11676   0  1 13339  63 32    3407872 [/]
 P ext4                 11771  63 31 12246  49 14     972336 [vendor]
 P ext4                 11772   0  1 12246  49 16     972336 [vendor]
 P ext4                 12187  63 31 13851  63 30    3407872 [/]
 P ext4                 12188   0  1 13851  63 32    3407872 [/]
 P ext4                 13075  63 31 14739  63 30    3407872 [/]
 P ext4                 13076   0  1 14739  63 32    3407872 [/]
 P ext4                 13587  63 31 15251  63 30    3407872 [/]
 P ext4                 13588   0  1 15251  63 32    3407872 [/]
 P ext4                 13844   0  1 15507  63 32    3407872 [/]
 P ext4                 15716   0  1 16190  49 16     972336 [vendor]
Structure: Ok.


Keys T: change type, P: list files,
     Enter: to continue
ext4 blocksize=4096 Large_file Sparse_SB, 511 GB / 476 GiB

答案1

很抱歉给大家带来坏消息。

除非你在某处有分区或磁盘级别的备份(或 LUKS 标头的副本),否则你就没那么幸运了。

LUKS 有一个标头,其中包含最终使用的加密密钥 - 没有它,数据就无法解密。

如果您已经覆盖了该标题(看起来是这种情况),则任何恢复都需要提供该标题 - 实际上在解密数据之前先恢复到 LUKS 块。

相关内容