如何用零填充 SD 卡?

如何用零填充 SD 卡?

我的 SD 卡可能已损坏。我想用零填充它,即 100%。那么,假设设备是,我应该输入什么命令/dev/sdc

答案1

这就是dd可以/dev/zero挽救局面的地方:

  1. 打开终端(如果尚未打开)
  2. 使用dd
    dd if=/dev/zero of=/dev/sdc bs=4096
    

这将会以多种方式将其归零。


这是如何运作的?

dd是一种非常灵活的文件转换和复制方法。文档包含可用操作数的完整列表,但我将只关注上面命令中的项目,一次一个元素。

命令
/操作数
目的
dd 命令
if “在文件中”
要转换和复制的源数据
of “输出文件”
转换数据的目标位置
bs “块大小”
每次读取/写入的字节数

读取/dev/zero将导致无休止的零序列。如果零是不必要的或不理想的,人们可能会采取许多替代方案,例如/dev/random/dev/urandom它们是随机数生成器。

/dev/sdc位置是存储设备。如果最后一个字母后面有一个数字,例如/dev/sdc1,则它是该存储设备上的一个不同分区。通过写入/dev/sdc而不是 ,/dev/sdc1dd实际上是在告诉从存储介质中清除其超级块和所有介质描述符,从而有效地消除设备上可能存在的任何分区。

因此,把所有这些放在一起,上面的命令告诉计算机执行以下操作:

使用dd...

  1. 从中读取无尽的零/dev/zero
  2. 直接写入位于的设备/dev/sdc
  3. 每次写入 4096 字节的块

当然,没有“撤销”功能。一旦此过程开始,它将一直进行,直到您使用Ctrl+取消操作C,或者目标设备空间不足。

题外话

我通常在第一次购买所有新存储设备时都运行此命令。它允许我完全清除驱动器上可能已经存在的所有内容,同时测试写入速度并查找坏块。我曾两次通过此操作发现 USB 棒存在问题,在向卖家出示了检查结果和dd后续磁盘检查后,我能够毫无困难地将它们换成正常工作的 USB 棒。这是一个非常方便的实用程序,但请注意,在删除分区之前,它永远不会询问“您确定吗?”,并且无法撤消。如果您犯了错误,您需要准备好良好的最新备份。

无论如何,你应该始终准备好最近的备份

相关内容