我有一张金士顿 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/)。它有忽略任何分区的选项,无论文件系统格式如何。祝你好运!