如何完全擦除(微)SD卡上的所有数据?
我刚买了一张micro SD卡,我打算用Raspberry Pi。
我使用KDE分区管理器删除卡上的原始分区并写入新的12GiB ext4分区。 在这之后,该卡仍然表示正在使用其中的6%,30.02 MiB。
基本上,我想彻底擦除所有内容的卡片,以便为新操作系统做好准备。 像shred
或dd
这样的命令可以做到这一点,还是会破坏分区?
你对dd
猜测是正确的。 您可以通过以下命令擦除SD卡(假设您的SD卡是/dev/sdd
):
不要中断此命令,否则可能会破坏SD卡。
$ sudo dd if=/dev/zero of=/dev/sdd bs=8192
注意: 如果此命令未成功完成且您必须中止,那么很可能它可以通过其他post中介绍的磁盘分区恢复程序进行恢复。
根据SD卡的大小和速度,可能需要一些时间。 如果你确信,CIA想要恢复你的文件,那么用urandom
而不是zero
来覆盖SD卡:
$ sudo dd if=/dev/urandom of=/dev/sdd bs=8192
上面的示例中的dd
命令将擦除整个SD卡,使其没有任何分区,即使没有分区表。 因此,您需要在SD卡上重新创建分区。 您可以通过任何分区工具(如cfdisk
, parted
(我的推荐)或gparted
)执行此操作。
还有一件事: 在调用dd
命令时要非常小心 。 输入of=
参数值的拼写错误会导致灾难。
如果您刚刚创建了一个新分区,则不应该有任何实际文件。 30MB可能只是文件系统本身。 分区需要几个不同的表,以及实际跟踪文件的内容。
您可以通过ls -alph
查找带有ls -alph
的隐藏文件或在Nautilus的“视图”菜单中启用隐藏文件来仔细检查其中没有任何内容。
根据您调用命令的具体方式,使用shred
或dd
可能会覆盖分区表和/或文件系统。
你想要达到什么目的?
(A.)删除所有当前分区,重新使用该卡:
要擦除分区和/或重新格式化(微)SD卡,只需使用gnome-disk-utility (又名“Disks”)。
要么
(B.)删除卡上的任何当前(或以前)内容,因此无法恢复:
要安全地擦除卡,您需要物理破坏卡(渲染成小于2mm²的粒子) 或使用实用程序(来自供应商)来触发安全擦除function。
多次写入(随机数据)或重新格式化不一定会删除数据。
您可以在删除文件之前将其粉碎:
find /media/user/SD32/ -type f -exec shred -v -f -n0 -z -u {} \;
shred
params意思是:详细,强制删除不可写文件,不写随机字节(加速),写零(更快),截断并删除文件后写入零。
这将以像photorec
这样的应用程序无法恢复的方式摆脱数据。
请参阅https://unix.stackexchange.com/questions/27027/how-do-i-recursively-shred-an-entire-directory-tree