我dd bs=4M if=image.iso of=/dev/sda oflag=sync
在创建可启动驱动器而不是以 USB 记忆棒为目标时意外运行了该程序。
我相当确定大多数文件都没问题 - iso 只有~330mb,而驱动器有 500gb。
问题是,/dev/sda
在安装 manjaro 时已加密,因此诸如photorec
之类的工具无法访问这些文件。我也不确定被加密的驱动器会如何影响被 覆盖的数据dd
。
lsblk
的输出显示了新的分区表:
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 336M 0 part
└─sda2 8:2 0 2.4M 0 part
fdisk -l
显示同样的事情:
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 0 688127 688128 336M 0 Empty
/dev/sda2 3820 8747 4928 2.4M ef EFI (FAT-12/16/32)
/dev/mapper/
其中只有control
luks 分区,没有它的迹象:
lubuntu@lubuntu:/dev/mapper$ ls
control
不幸的是,我不确定旧的分区表是什么。我知道我在驱动器末尾有 12gb 的交换空间,我只使用了一个分区,/
没有手动分离任何其他东西,/dev/sda3/
挂载到/
,而且我有些默认情况下,它们/boot
是分开的,但这就是我所知道的全部。
我尝试过使用TestDisk
,但深度搜索的输出似乎与我所拥有的不一致,而且我不想让事情变得更糟:
Disk /dev/sda - 500 GB / 465 GiB - CHS 60801 255 63
Partition Start End Size in sectors
>* FAT12 0 60 41 0 138 54 4928 [NO NAME]
D Linux 38 127 26 60801 15 14 976150528
D Linux Swap 59317 172 56 60801 80 15 23834624
的输出head -c 1G /dev/sda | hexdump -C | grep LUKS
是:
# head -c 1G /dev/sda | hexdump -C | grep LUKS
00011110 0a 4c 55 4b 53 2e 4d 4f 44 3b 31 00 50 58 24 01 |.LUKS.MOD;1.PX$.|
004346a0 64 65 6e 69 65 64 00 4c 55 4b 53 ba be 00 25 73 |denied.LUKS...%s|
00b394a0 64 65 6e 69 65 64 00 4c 55 4b 53 ba be 00 25 73 |denied.LUKS...%s|
还有希望恢复数据吗?
答案1
如果没有 LUKS 头备份,就无法恢复 LUKS 容器。
坦率地说,答案包含在第一句话中,但我可以提供更多信息来解释这种情况。LUKS 加密的解释只是按以下方式工作:分区的一些初始 MB(实际大小取决于 LUKS 版本和配置)分配给 LUKS 标头,其余分区用于数据(根分区或主分区等)。LUKS 标头“包含”用于加密数据的“主”密码。此主密码由 LUKS 在第一次加密分区时生成(“大”和“强”)。主密码受“密钥槽密码”的“保护” - 用户实际输入该密码来解密驱动器。简而言之,LUKS 标头包含受“用户”密码保护的主密码。因此,如果 LUKS 标头消失,主密码也会消失,因此无法解密数据 - 即使您仍然知道“用户”密码。
LUKS.mod
关于 grep 的 'LUKS.mod' 输出 - 这看起来像是存储在 EFI 分区的 FAT 表中的grub 模块的名称。此输出显示启动分区(通常未加密)恰好位于您使用命令查询的磁盘的前 1G 中head -c 1G /dev/sda | hexdump -C | grep LUKS
。此信息无助于解决问题。