如何在 FAT32 分区上手动设置脏位

Mal*_*ppa 4 partition mount fsck vfat

出于某些调试目的,我希望能够手动FAT32 分区的脏位设置为 true。

我发现吨关于如何使用信息fsck.vfat,以去除如何将脏位,但没有设置它。

这是可能的,因为mount它。当安装了 FAT32 分区(dirty 为 false)时,mount将dirty 设置为 true(并umount再次将其设置为 false)。我正在寻找一种在不安装分区的情况下设置脏位的方法,即模拟它没有完全卸载。

Ste*_*itt 5

当挂载和卸载设备时,脏位在内核中设置和清除;有关实现,请参阅http://lxr.free-electrons.com/source/fs/fat/inode.c?v=3.19#L578。目前没有办法在内核之外访问这个函数,除了挂载和卸载......

要自己设置,您需要直接调整设备;状态字节0x25在 FAT16 设备上的引导扇区中偏移,0x41在 FAT32 设备上偏移;脏位是位 0。有关详细信息,请参阅https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system