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

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

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

我找到了大量关于如何使用的fsck.vfat信息消除肮脏的一点,但没有关于如何它。

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

答案1

当安装和卸载设备时,脏位在内核中设置和清除;看http://lxr.free-electrons.com/source/fs/fat/inode.c?v=3.19#L578以便实施。目前没有办法在内核之外访问这个函数,除非通过挂载和卸载......

要自行设置,您需要直接调整设备;状态字节位于0x25FAT16 设备上引导扇区的偏移量,以及0x41FAT32 设备上的偏移量;脏位是位 0。参见https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system了解详情。

相关内容