![清除 LVM-LUKS (dm-crypt) 卷上的可用空间](https://linux22.com/image/1368015/%E6%B8%85%E9%99%A4%20LVM-LUKS%20(dm-crypt)%20%E5%8D%B7%E4%B8%8A%E7%9A%84%E5%8F%AF%E7%94%A8%E7%A9%BA%E9%97%B4.png)
我的系统的三个分区是在 LUKS 分区 (dm-crypt) 上使用 LVM 创建的。它们是 /home、/ 和 swap。文件系统是 ext4。它们是加密的,因为它们在我的笔记本电脑上,我不希望某些笔记本电脑窃贼获取我的数据。但我经常与其他人共享我的笔记本电脑,这样他们就可以访问我的加密分区。我不希望这些人可以恢复我的缓存和我删除的所有数据。
因此,我现在试图擦除 /home 上的所有可用空间,以防止使用 photorec 之类的工具进行恢复。 (一次覆盖应该可以,需要多次覆盖只是传言)但我仍然没有找到成功擦除此可用空间的任何解决方案。 我试过 dd if=/dev/zero of=/home/fillitup bs=512 count=[count of free sectors] ,所以我的分区完全充满了数据。 df /dev/mapper/home 说已使用 100%,可用扇区为 0。 但是我仍然可以使用 photorec 恢复数千兆字节的数据,尽管我选择仅从可用空间中恢复。 photorec 显示: /dev/mapper/home - 340 GB / 317 GiB (RO),但 df 显示 /home 的大小只有 313G,为什么会有这些差异,340GB 又意味着什么?
看起来我的 /dev/mapper/home 分区上有一个地方我无法访问来覆盖,但我可以访问它来恢复。我还检查了损坏的扇区,但没有。也许这是我现有文件之间的空间?
有谁知道为什么我不能用 dd 擦除我的可用空间,以及如何找到大量可恢复文件的位置并安全地删除它们?
答案1
使用零填充所有可用空间的方法dd
绝对有效。
也许它检测到您正在写入零,但实际上并没有写入它们(这会使文件变得稀疏)。尝试改为写入其他字节值?
dd if=/dev/zero bs=512 count=[count of free sectiors] |
tr \\000 \\001 >/home/fillitup
关于你括号中的评论“一次覆盖就够了,需要多次覆盖只是谣言”,这无论如何都不适用。所谓的一次覆盖不足与从媒体物理恢复数据有关。在那个级别,你的数据无论如何都是加密的,所以即使他们能从媒体中恢复位,那些位也是加密的。