即使使用 dd,也无法擦除 SD 卡上的所有内容(分区/数据)

即使使用 dd,也无法擦除 SD 卡上的所有内容(分区/数据)

我有一张金士顿 SD 卡(16G),上面有分区和数据。以下是输出

root@victor-ss9:/home/victor# fdisk -l /dev/sdf
Disk /dev/sdf: 15.6 GB, 15560867840 bytes
4 heads, 16 sectors/track, 474880 cylinders, total 30392320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cde21

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1            3072      266239      131584    6  FAT16
/dev/sdf2          266240    30392319    15063040   83  Linux

然后我用 dd 删除:

root@victor-ss9:/home/victor# sudo dd if=/dev/zero of=/dev/sdf bs=8192
dd: error writing ‘/dev/sdf’: No space left on device
1899521+0 records in
1899520+0 records out
15560867840 bytes (16 GB) copied, 557,952 s, 27,9 MB/s

然后我再次执行 fdisk,哦!令人惊讶的是,没有任何变化:

root@victor-ss9:/home/victor# fdisk -l /dev/sdf
Disk /dev/sdf: 15.6 GB, 15560867840 bytes
4 heads, 16 sectors/track, 474880 cylinders, total 30392320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cde21

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1            3072      266239      131584    6  FAT16
/dev/sdf2          266240    30392319    15063040   83  Linux

文件和分区仍然存在!两张卡都一样。我使用这种外部 SD 卡读卡器(usb3):

在此处输入图片描述

这是我的 SD 卡(三星的 dd 擦除功能似乎运行良好) 在此处输入图片描述

知道问题出在哪里吗?我从未见过如此持久的数据/分区……(通常我不想删除它们,但它们会被删除……)

答案1

请检查外部 SD 卡读卡器是否有选项可将所连接的 SD 卡设置为只读(有时称为“锁定”)。如果设置为只读,您需要先更改此选项,然后使用帖子中的数据替换命令。

您还可以使用 urandom 来更好地擦除数据。

sudo dd if=/dev/urandom of=/dev/sdX bs=8192

如果您无法使用 fdisk(或 cfdisk)删除/创建分区,则意味着您的 SD 卡已坏。

答案2

我也遇到了同样的问题。最后我使用了 SD 卡格式化程序 (https://www.sdcard.org/downloads/formatter_4/)。它有忽略任何分区的选项,无论文件系统格式如何。祝你好运!

相关内容