创建损坏的 FAT 文件系统

ara*_*van 15 fat testing corruption

我有一个应用程序,它将搜索损坏的 FAT 文件系统并修复它。

为了测试应用程序,我需要一个损坏的文件系统。

什么是破坏 FAT 文件系统的良好且可重现的方法?例如,创建坏扇区。

Arc*_*mar 20

部分解决方案

 dd if=/dev/zero count=100 bs=1k of=fs.fat
 mkfs -t vfat fs.fat
 mount fs.fat /mnt ## as root
 # cp some file
 umount /mnt ## as root

 cp fs.fat fs.ref
 vi fs.ref ## change some bytes
 cp fs.ref fs.sampleX
Run Code Online (Sandbox Code Playgroud)

现在你有一个好的 fs ( fs.fat) 和一个损坏的 ( fs.ref)

sudo mount -t vfat fs.ref /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
Run Code Online (Sandbox Code Playgroud)
  • 你可以尝试修复 fs.sampleX
  • 了解一点fat(或文件系统布局)可能有助于“巧妙地破坏”fs.ref
  • 这可以应用于任何 fs 类型 ( extX, xfs, ... )