如何完全擦除(微型)SD卡上的所有数据?


16

我刚刚获得了计划在Raspberry Pi上使用的Micro SD卡。

我使用KDE分区管理器删除了卡上的原始分区并编写了一个新的12GiB ext4分区。完成此操作后,该卡仍显示正在使用其中的6%,即30.02 MiB。

基本上,我想完全擦除卡中的所有内容,以便为新的操作系统做好准备。是否会执行类似命令shreddd执行技巧,还是会破坏分区?


我有偏见,但如果您想完全控制分区,请不要使用图形分区,而要使用老式的fdisk。(除非您由于GPT或其他技术限制而不能这样做。)
CijcoSistems 2014年

顺便说一下... RaspberryPi是否支持直接从ext4加载内核?我记得在早期启动过程中使用FAT(内核,cmdline,SoC配置和内存拆分),然后将根文件系统放在另一个分区(如果需要,也可以在NFS上)
CijcoSistems 2014年

[安全擦除磁盘-archlinux.org]“擦除磁盘是通过在每一位上写入新数据来完成的。” wiki.archlinux.org/index.php/Securely_wipe_disk

Answers:


24

您的猜测dd是正确的。您可以通过以下命令清除SD卡(假设您的SD卡为/dev/sdd):

不要中断此命令,否则可能会阻塞SD卡。

$ sudo dd if=/dev/zero of=/dev/sdd bs=8192

注意: 如果此命令未能成功完成,而您必须中止该命令,则很可能可以使用其他文章中介绍的磁盘分区恢复程序来恢复它。

可能需要一些时间,具体取决于SD卡的大小和速度。如果您确信CIA想要恢复您的文件,请使用urandom而不是覆盖SD卡zero

$ sudo dd if=/dev/urandom of=/dev/sdd bs=8192

dd上面示例中的命令将擦除整个SD卡,使其没有任何分区,即使没有分区表也是如此。因此,您将需要在SD卡上重新创建分区。您可以通过任何分区工具(例如cfdiskparted(我的建议)或)来执行此操作gparted

还有一件事:调用ddcommand 时要格外小心of=参数值的错字可能会导致灾难。


2
如果您担心CIA,则应使用/dev/random它并进行5至10次操作...更不用说还应该在烤箱中燃烧,着火并掩埋在海洋深处:P
CijcoSistems

3
@CijcoSistems: 燃烧,点燃或掩埋的建议可能
david6

1
@ david6您能解释一下为什么通过覆盖多次写入数据可能无法正常工作吗?
丹尼斯

7
现代的非易失性固态存储器使用损耗均衡来停止重复使用内存的任何特定部分的读/写操作。(请参阅:searchsolidstatestorage.techtarget.com/definition/wear-leveling这意味着打算“覆盖”的数据写入实际上可以保存在其他位置。这也意味着真实的存储容量是所声明的容量的几百倍,以允许进行中的重新分配。如我的回答所述,您必须调用制造商的安全擦除功能,以绕过任何“磨损平衡”效应。
david6 2015年

1
当您用零完全填充驱动器时,我认为损耗平衡​​不是问题。真正的问题将是坏扇区脱落而不被覆盖。
HilarieAK

4

如果您只是创建了一个新分区,则该分区上应该没有任何实际文件。那30MB可能只是文件系统本身。该分区需要一些不同的表,而实际上不需要跟踪文件。

您可以通过ls -alph从命令行中查找隐藏文件或在Nautilus的“查看”菜单中启用隐藏文件来再次检查它上是否确实没有任何内容。

根据确切地调用命令的方式,可能会使用shreddd确实会覆盖分区表和/或文件系统。


4

您想达到什么目的?


(A.)删除所有当前分区,以重新使用该卡:

要擦除分区和/或重新格式化(微型)SD卡,只需使用gnome-disk-utility(又名“磁盘”)。

要么

(B.)擦除卡上的任何当前(或先前)内容,因此无法恢复:

为了安全擦除的卡,你需要无论是物理销毁卡(渲染成子2mm²颗粒)使用(从供应商)一个实用程序来触发安全擦除功能。

(随机数据的)多次写入或重新格式化不一定会删除数据。


sfill工具可用于此目的。参见superuser.com/questions/319262/…–
吉姆·加里森

1
@Jim Garrison:这没有解决损耗均衡(请参阅我之前的评论)以及由内置闪存控制器完成的数据块重新映射。该数据仍具有潜在的可恢复性。
david6 '16


2

您可以先删除文件,然后再删除它们:

find /media/user/SD32/ -type f -exec shred -v -f -n0 -z -u   {} \;

shred 参数的意思是:详细,强制删除不可写的文件,不写入随机字节(加快速度),不写入零(更快),截断并在写入零后删除文件。

这样可以摆脱数据,而这类应用程序将无法恢复它们photorec

参见/unix/27027/how-do-i-recursively-shred-an-entire-directory-tree


1
不幸的是,这不适用于SD卡。如果覆盖它们上的文件,则表示正在写入SD的其他扇区。因此,要有效,您应该按照答案在整个SD卡上进行写操作。
luca76 '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.