"dd"操作後にmkfsが呼び出されると失敗します。

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がユーザーに通知するエラーを隠す可能性があるため、使用しないでください。

おすすめ記事