我有一个块设备,我正在尝试使用 来擦除它dd
。好像我的部分都被删除了。然而,dd
命令正在返回No space left on device
。块设备信息如下,
fdisk -l /dev/xxxx
Disk /dev/xxxx: 7876 MB, 7876902912 bytes
4 heads, 16 sectors/track, 240384 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk /dev/xxxx doesn't contain a valid partition table
我使用以下dd
命令来擦除,
~ # dd if=/dev/zero of=/dev/xxxx bs=1M count=7876
我得到以下输出,
dd: writing '/dev/xxxx': No space left on device
7513+0 records in
7512+0 records out
7876902912 bytes (7.3GB) copied, 355.751103 seconds, 21.1MB/s
有人可以帮我理解这里的输出吗?输出显示7876902912 bytes (7.3GB) copied
.这是设备的整个尺寸。那么这是否意味着整个设备已被擦除,并且由于没有剩余空间,因此“设备上没有剩余空间”?或者还有别的意思吗?
答案1
是的。
另外,如果这是 SSD,那么blkdiscard /dev/xxxx
当您从中读取任何内容时,快速操作将具有与写入零相同的效果,使设备返回全零。 (我建议您仍然在设备上运行 blkdiscard,让磨损均衡知道您的所有块都可以放入块池中以供新数据重用,并且不必在数据方面保持完整。)
如果您想用零覆盖,则不需要稍微尴尬的dd
程序来写入零。cat /dev/zero > /dev/xxxxx
也会同样有效。pv < /dev/zero > /dev/xxxx
效果相同,但会为您提供速度和进度信息。