fsck 是否保留现有文件?

fsck 是否保留现有文件?

这是一个相当愚蠢的问题,但我谷歌搜索没有给我任何直接的答案。所以我有一台电脑,其 ubuntu (12.04) 文件系统已损坏。现在我想尝试使用fsck实时 USB 修复它,但由于有很多重要文件(主要是图片),我希望我的文件不会被删除。所以我想知道fsck当我开始修复过程时它是否会保留我的文件?

答案1

fsck 不会触碰你的文件。它基本上是一个前端程序,可以执行各种文件系统检查(即检查日志系统的完整性)。

如果你以交互方式运行它,它将报告它所做的事情。它运行的检查包括:

** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups

下面将显示

  • 正在使用的 inode 数量
  • 正在使用的片段数
  • 未使用的片段数
  • 未使用的非块片段数
  • 未使用的完整块数
  • 碎片百分比,其中:可用碎片 x 100/文件系统中的总碎片

除了检查 inode 和块之外,fsck 还会检查不正确的条目...不正确的目录。

更多阅读材料(链接来自维基百科在 fsck 上):

答案2

您走在正确的轨道上,从 liveCD 或救援模式运行 fsck。主要是您的文件系统(特别是/分区)应该在运行前卸载fsck,因此您需要使用恢复模式或使用 liveCD。

fsck.{ext2/3/4,btrfs,xfs}etc 分阶段做了很多工作,修复 FS 中的元数据和数据损坏,同时识别底层存储上的坏扇区(只会标记为不使用,并且不会修复)。它实际上取决于底层文件系统,因为每个文件系统(ext2/3/4、btrfs、xfs)都有独特的设计,并且有自己的 fsck 版本,如果您想了解确切的细节,最好查看源代码。

注意:进行多次运行非常重要,如果您之前的运行有错误有些是固定的,这是因为元数据是按顺序修复的。继续运行,直到上一次运行没有错误为止。

相关内容