![恢复已删除的分区](https://linux22.com/image/1567426/%E6%81%A2%E5%A4%8D%E5%B7%B2%E5%88%A0%E9%99%A4%E7%9A%84%E5%88%86%E5%8C%BA.png)
我的 Debian 系统默认采用加密安装(设置中为“使用带有加密 LVM 的整个磁盘”)。然后我使用 gnome-disks 在具有相同设置的 microSD 卡上执行一些操作。EFI 分区、交换分区、带有 ext4 的 luks 分区。我不小心使用了我的硬盘并删除了 LUKS 分区。系统仍然正常工作。直到我重新启动。现在它再也找不到 LVM 卷了。
有什么方法可以恢复吗?我可以从 debian netinstaller CD-Rom 启动实时媒体或恢复模式。
编辑:我现在正在虚拟机上进行同样的事情测试,完成后我会报告更多信息!
答案1
通常,删除分区后,其实际内容会保持不变。只有当你创造分区工具将提示删除旧数据。
因此,您应该能够使用fdisk
或gdisk
在相同的起点重新添加分区,只需确保不是接受 fdisk 的提示以删除旧的 LUKS 签名。(尽管如果您首先收到提示,则意味着您找到了正确的偏移量。)
(我不建议使用 GParted 或 GNOME 磁盘尝试此操作。但如果您还是要这么做,请再次检查您是否选择了非破坏性选项,例如“未格式化”。)
testdisk 可以帮助您找到分区的起始位置(...如果它知道 LUKS 是什么),尽管无论如何它都不会远离前一个分区的末尾,并且通常与兆字节对齐。(有时甚至通过反复试验并接受 fdisk 的默认建议也会起作用——不过,如果您再次收到“擦除旧签名?”问题,不要接受。)
分区的大小/终点并不重要;如果整个缺失区域属于一个分区,那么只需接受最大尺寸。
如果您再次执行此操作,请不要重新启动:只要该分区仍在使用,就可以从内核获取其位置和大小。