我正在 Pi3B 上开发 Raspberry Pi 操作系统。我正在使用一个脚本来执行一些分区操作,有时我想擦除驱动器,所以我使用(作为root):
dd if=/dev/zero of=/dev/mmblk0 status=progress bs=1M
我总是得到这个 - 即使使用不同的 microSD 卡和不同的尺寸:
300941312 bytes (301 MB, 287 MiB) copied, 1 s, 301 MB/s
dd: error writing '/dev/mmblk0': No space left on device
340+0 records in
339+0 records out
356405248 bytes (356 MB, 340 MiB) copied, 1.20626 s, 295 MB/s
该设备如此快地耗尽空间,32、64 或 128GB 卡上甚至没有使用 1GB,这是怎么回事?我可以在 USB 记忆棒上执行同样的操作,没有任何问题,但每次在 microSD 卡上执行此操作时都会遇到此问题。
答案1
在我的 Pi 上,SD 卡已命名/dev/mmcblkN
(值N
从 0 开始)。您输入了/dev/mmblk0
,这表明您正在填充根文件系统而不是写入主存储设备。
您可以通过查看文件类型来验证这一点(考虑每行的第一个字符;-
是文件,b
是块设备):
ls -l /dev/mmblk0 /dev/mmcblk?
在我的系统上,
brw-rw---- 1 root disk 179, 0 Jul 6 11:54 /dev/mmcblk0