我应该删除磁盘的重要文件,然后启动到活动磁盘并运行dd
命令,还是可以继续运行dd
而/dev/sda
无需删除?
我问这个是因为我已经开始跑步了dd if=/dev/urandom of=/dev/sda bs=1M
。只是为了安全起见,我有点知道这两种方式都一样,但想知道是否dd
会对已删除的文件或尚未删除的文件造成更大的损害。我可以重新启动dd command
,但只需要确认。
我应该删除磁盘的重要文件,然后启动到活动磁盘并运行dd
命令,还是可以继续运行dd
而/dev/sda
无需删除?
我问这个是因为我已经开始跑步了dd if=/dev/urandom of=/dev/sda bs=1M
。只是为了安全起见,我有点知道这两种方式都一样,但想知道是否dd
会对已删除的文件或尚未删除的文件造成更大的损害。我可以重新启动dd command
,但只需要确认。
dd
是一个低级实用程序,用于将数据块读取或写入磁盘。它不知道(或关心)文件系统、目录结构、权限或任何其他高级文件细节。它基本上是用于在磁盘上的任何区域涂抹或擦除数据的抹刀。,
rm
,cp
或mv
其他高级文件实用程序竭尽全力确保您正在操作的文件在磁盘上的分配区域和文件系统指针无论在哪里都得到了完美更新。当您删除文件时,磁盘的数据区域很可能只是简单地标记为“可供使用”,而实际上并未清除任何以前的数据。如果您有一个包含社会安全号码的文件,即使在您rm
之后,该数据区域仍然可以被dd
.所以,在某种程度上,你的问题的答案是“是的”。
dd
“造成更大的伤害”,因为它写的任何东西都几乎永远消失了。可能有专门的取证设备可以恢复它,但我想这种服务的价格会让大多数人望而却步。更新:如何确认
dd
已覆盖磁盘。确保您使用正确的设备。下面的写入示例使您的数据无法恢复:从目标设备的引导扇区(512 字节)读入 1 块数据:
使用该
od
命令检查读取的数据(为简洁起见截断)。如果需要,可以使用
strings
命令查看块中任何可读的 ascii。(注意:具有“不可打印”ascii 的值,例如 00。不会显示,因此输出strings
不一定与上面显示的十六进制输出相关)。因为这是一个 GRUB 引导扇区,所以很容易看到引导签名。其他操作系统可能会有类似的东西。现在通过向设备写入 512 个零来清除引导扇区。
现在读回引导扇区的块
od
显示块中的所有内容现在都是00
sStrings 确认磁盘上不再有任何可打印的 ascii