出于某些调试目的,我希望能够手动放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以便实施。目前没有办法在内核之外访问这个函数,除非通过挂载和卸载......
要自行设置,您需要直接调整设备;状态字节位于0x25
FAT16 设备上引导扇区的偏移量,以及0x41
FAT32 设备上的偏移量;脏位是位 0。参见https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system了解详情。