为什么不 umount 的 fsck 会导致文件系统损坏?

为什么不 umount 的 fsck 会导致文件系统损坏?

每个人都说你不应该fsck对没有的磁盘进行任何操作umount,因为这会导致文件系统损坏。实际上,我尝试 fsck 已安装的磁盘,但文件系统已损坏。

那是几年前的事了,当时我对 Linux 还不太了解。但这么多年过去了,我仍然不知道执行 fsck 时发生了什么,以及为什么此操作会损坏已挂载磁盘的文件系统。

等待深入的解释:-)

答案1

fsck 编程设计假设程序是访问文件系统的唯一对象。当文件系统被挂载时,它无疑会不断变化,从而违反了 fsck 的设计假设。

fsck 需要经过多次检查才能完成其工作,fsck 必须读取和关联大量有关文件系统结构完整性的材料,如果文件系统正在发生变化,结构数据也会发生变化,而 fsck 不是动态的,不会跟踪这些变化。它会根据该检查的分析结果提出“建议”,说明需要修复哪些问题,但不知道结构数据已经发生变化。这些更改可能完全是错误的!然后,fsck 将生成损坏的文件系统。

相关内容