LUKS 加密闪存驱动器:没有分区表

LUKS 加密闪存驱动器:没有分区表

我有 16GB 加密的 LUKS 闪存驱动器,其分区表已损坏。以下是 fdisk 输出:

fdisk -l /dev/sdf 

Disk /dev/sdf: 16.2 GB, 16236150784 bytes
64 heads, 32 sectors/track, 15484 cylinders, total 31711232 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdf doesn't contain a valid partition table

这可以恢复吗?

答案1

首先,您是否加密了整个硬盘/dev/sdf或分区/dev/sdf1?尝试cryptsetup luksOpen /dev/sdf test从根终端查看您是否加密了整个卷而不是其中的第一个分区。这没关系,您只需要在每次安装时记住这一点并忽略分区警告。(您可能无法通过磁盘实用程序 GUI 安装它 - 每次都需要使用命令行。)

如果您确实覆盖了分区表,则可能需要使用工具来重新创建。如果您只有一个分区,则应该不会太难,并且诸如这样的实用程序cfdisk可能会有所帮助。显然,不要在之后格式化分区。

如果您确实覆盖了分区表,那么比在其上放置新分区表更安全的方法可能是cryptsetup查看加密卷的起始扇区而不是该卷的 0 扇区。我确信这在某种程度上是可行的,但想不出有什么工具可以做到这一点(您可以使用“回送”文件轻松做到这一点,但我不确定它是否losetup适用于原始设备/dev/sdf)。

您可以dd if=/dev/sdf | hexdump -C | less滚动浏览直到找到文本LUKS- 然后将其除以 512 以获取 LUKS 分区的起始块。

相关内容