我在 USB 磁盘上安装了 Ubuntu,我的安装是:
sudo fdisk -l /dev/sdb
Disk /dev/sdb: 7773 MB, 7773585408 bytes
240 heads, 62 sectors/track, 1020 cylinders, total 15182784 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 identifier: 0x0006f051
Device Boot Start End Blocks Id System
/dev/sdb1 * 62 12289124 6144531+ 83 Linux
/dev/sdb2 12290048 15182783 1446368 82 Linux swap / Solaris
然后我将保留的块清零
sudo tune2fs -m 0 /dev/sdb1
我已经覆盖了 /dev/sdb1 中的空白空间
dd if=/dev/urandom of=random.file bs=1024
然后我尝试使用 photorec 从“整个分区”sdb1 恢复已删除的文件。Photorec 检索到了很多文件,但我不知道它们保存在哪里。
我注意到分区之间存在未分配的空间,这可能是问题所在吗?
摄影记录
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <[email protected]>
http://www.cgsecurity.org
Disk /dev/sdb - 7773 MB / 7413 MiB (RO) - Sony Storage Media
Partition Start End Size in sectors
No partition 0 0 1 1020 83 38 15182784 [Whole disk]
> 1 * Linux 0 1 1 825 211 43 12289063
2 P Linux Swap 825 226 37 1020 83 38 2892736
答案1
是的,这看起来很奇怪;我发现有两件事可能出了问题:
您没有给出实际dd
命令。您是否收到错误消息?我不确定该dd
命令是否已用随机数据完成覆盖整个分区。
photorec
假设它确实完成了,我会认为你输入错误,并且在整个磁盘上运行,/dev/sdb
而不是分区/dev/sdb1
。或者你在交换分区上工作,/dev/sdb2
。
在这两种情况下,photorec
都会扫描交换分区(作为整个磁盘的一部分,或单独扫描)。该分区包含某个时间位于主内存 RAM 中的数据。由于很多原因,RAM 可能包含部分或全部文件块 - 因此当这些文件块最终位于交换分区中时,也就不足为奇了。
答案2
安全删除硬盘中所有文件痕迹、残余和碎片的唯一方法是备份那些我们想保留到另一个驱动器的文件(不是分区)。
然后我们可以完全覆盖整个驱动器用零(速度更快)或随机数重新分区,然后重新格式化该驱动器。此后,任何恢复都将无法进行。
最后我们可以恢复我们的备份文件。
请注意,这样做会导致驱动器的 UUID 发生改变,主引导记录也会丢失。因此,我们可能必须相应地编辑对该驱动器的引用,并且还必须恢复 MBR。