通过windows下的格式化工具和linux下的fdisk工具对SD卡进行格式化后,只是删除了原来的分区信息,而没有完全删除原来的数据,原来的大部分数据还继续存留在SD卡上。
有两点注意:
1. 对SD卡进行linux fdisk前,必须卸载SD卡,即umount SD卡,否则fdisk后无法回写保存。
2. 因为fdisk是分区工具,fdisk是对硬盘,SD卡操作,而不是对硬盘或SD卡已有的分区操作,这样
fdisk /deb/sdb是对的,
fdisk /dev/sdb1是错误的。
linux下有一个指令可以完成彻底清除SD卡数据。
通过dd if=/dev/zero of=/dev/sdb 命令可以完全清除SD卡,使SD卡上所有数据都是0 ;
通过dd if=/dev/zero of=/dev/sdb bs=256k count=1 命令可以使SD卡前256k数据都被清除为数据0 。
/dev/zero是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00)。其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。
/dev/null是空设备,任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到该空设备。