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
バッファフラッシュ。
-F
@roaimaは良いアドバイスを提供します。 mkfsがユーザーに通知するエラーを隠す可能性があるため、使用しないでください。