我想删除我的 eMMC 块上的所有文件(例如 /dev/mmcblk0p1),然后重新创建文件系统(使用 ext4)。
所以我卸载并删除:
umount /dev/mmcblk0p1
dd if=/dev/zero of=/dev/mmcblk0p1 bs=4096
在 dd 之后我立即创建文件系统:
mkfs.ext4 -F -L MyLabel /dev/mmcblk0p1
我收到以下错误:
无法成功初始化配置文件(错误:117)。
重新启动系统和 mkfs 命令将正常工作,不会出现任何错误。
如果我尝试在 dd 之后执行 mkfs(无需重新启动),输出dmesg
如下:
[ 7704.476779] EXT4-fs error (device mmcblk0p1): ext4_map_blocks:596: inode #13: block 8290: comm mkfs.ext4: lblock 0 mapped to illegal pblock 8290 (length 1)
这是为什么?
答案1
尝试:
umount /dev/mmcblk0p1
dd if=/dev/zero of=/dev/mmcblk0p1 bs=4096
sync
mkfs.ext4 -F -L MyLabel /dev/mmcblk0p1
您似乎遇到了内核中的缓冲区缓存问题。强制sync
刷新缓冲区。
@roaima 有很好的建议,避免使用,-F
因为它可能会掩盖 mkfs 会通知用户的错误。