文件系统负责组织数据的存储和恢复方式,无论如何,随着时间的推移,文件系统可能会被破坏,并且可能无法访问它的某些部分。如果您的文件系统出现这种不一致,建议验证其完整性。
这可以通过名为fsck的系统实用程序(文件系统一致性检查)完成。此检查可在引导期间自动完成或手动运行。
在本文中,我们将回顾fsck实用程序及其用法,以帮助您修复磁盘错误。
当您想要运行fsck时,有不同的场景。以下是一些例子:
-
<李>系统无法启动。李>
<李>系统上的文件已损坏(通常您可能会看到输入/输出错误)。李>
<李>附加驱动器(包括闪存驱动器/SD卡)无法正常工作。李>
<强> fsck可用选项强>
需要使用超级用户权限或根运行Fsck命令。您可以使用不同的参数。它们的用法取决于您的具体情况。您将在下面看到一些更重要的选项:
-
<李>————用于检查所有文件系统。该列表取自/etc/fstab。李>
<李> - c -显示进度条。李>
<李> - l -锁定设备以确保在检查期间没有其他程序尝试使用该分区。李>
<李> - m -不检查已挂载的文件系统。李>
<李> - n -仅显示将要执行的操作,不进行实际更改。李>
<李> - p -如果要并行检查文件系统,包括根。李>
<李> - r -不检查根文件系统。这仅适用于“——”。李>
<李> - r -为正在检查的每个设备提供统计信息。李>
<李> - t -不显示标题。李>
<李> - t -专门指定要检查的文件系统类型。类型可以是逗号分隔列表。李>
<李> - v -提供描述正在进行的操作。李>
<>强如何运行fsck来修复Linux文件系统错误强>
要运行fsck,您需要确保未安装要检查的分区。出于本文的目的,我将使用安装在/mnt第二个驱动器/dev/sdb。
如果我在安装分区时尝试运行fsck会发生什么。
# fsck/dev/sdb
在已安装的分区上运行fsck
为避免这种情况,请使用卸载分区。
# umount/dev/sdb来
然后fsck可以安全地运行。
# fsck/dev/sdb
在Linux分区上运行fsck
<>强了解fsck退出代码强>
运行fsck后,它将返回退出代码。这些鳕鱼可以通过运行以下命令在fsck的手册中看到:
#男人fsck 没有错误 1文件系统错误纠正 2系统应该重启 4文件系统错误及时矫正 8操作错误 16使用或语法错误 32检查由用户请求取消 128共享库错误
<>强修复Linux文件系统错误强>
有时在文件系统上可以找到多个错误。在这种情况下,您可能希望fsck自动尝试更正错误。这可以通过以下方式完成:
# fsck - y/dev/sdb
- y标志,“是的”来自fsck的任何提示自动“是”以纠正错误。
同样,您可以在所有文件系统上运行相同的操作(没有根):
美元fsck ar - y
<>强如何在Linux根分区上运行fsck 强>
在某些情况下,您可能需要在系统的根分区上运行fsck。由于在安装分区时无法运行fsck,因此可以尝试以下选项之一:
-
<李>在系统启动时强制fsck李>
<李>在救援模式下运行fsck李>
我们将审查这两种情况。
<强>系统启动时强制fsck 强>
这相对容易完成,您唯一需要做的就是在系统的根分区中创建一个名为forcefsck的文件。使用以下命令:
#触摸/forcefsck
然后,您可以简单地强制或安排重新启动系统。在下次启动期间,将执行fsck。如果停机时间很重要,建议您仔细规划,因为如果您的系统上有许多使用的inode, fsck可能需要一些额外的时间。