为什么在尝试使用 dd 命令“擦除”我的 micro-sd 卡时收到错误消息?

为什么在尝试使用 dd 命令“擦除”我的 micro-sd 卡时收到错误消息?

目的:擦除整个 SD 卡,而不仅仅是“删除”

命令:(已卸载)

"sudo dd if=/dev/urandom of=/dev/sda bs=8192"

dd: error writing '/dev/sda': No space left on device

118139+0 records in
118138+0 records out

sd上有文件。首先,我打开了SD卡所在的终端,并运行了命令,然后在不同的位置打开了一个单独的终端,并运行了命令;相同的结果。

更新:我注意到SD不允许我删除上面的分区。我使用“sudo fdisk /dev/sda”。 “尚未定义分区”。

更新2:我重新启动计算机,然后能够删除该分区。我目前正在尝试再次擦拭。

答案1

在这种情况下,该错误是正常的,并且仅意味着它已完成。/dev/urandom是无限的,而你的 microSD 卡不是。您收到该错误是因为dd想要向其中写入更多数据,但空间不足(因为整个数据已被擦除)。如果您想要比这更多的保证,您可以使用该shred命令,该命令为此设计得更好并且不会导致错误。

答案2

如果您确实使用过/dev/sdx,那么您几乎肯定刚刚在/dev分区上创建了一个大文件。在这种情况下,“空间不足”错误将与分区有关,而不是与您想要的设备有关,并且您需要删除意外的设备文件 /dev/sdx

验证它是一个带有find /dev/sdx -type f.如果它是一个文件,您将得到输出,但否则没有输出(即它可能是一个设备)。

如果您没有真正使用/dev/sdx而是使用了正确的设备节点,请编辑您的问题以显示这一点,并告诉我们您如何识别正确的设备。 (我会删除这个答案。)

最后,确保在尝试覆盖底层设备之前已卸载该设备。否则,您可能会发现缓存的数据块被写回设备,导致出现类似文件系统的情况。

答案3

终端在“媒体”中打开,由于某种原因,即使关闭所有终端并从文件管理器打开一个终端后,它仍然在“媒体”中打开。我重新启动了计算机,问题就解决了。然后我就可以擦卡了。谢谢您的帮助。

相关内容