fsck(文件系统检查)是一种命令行程序,可让您在一个或多个Linux文件系统上执行一致性检查和交互式修复。它用于检查指定类型文件系统。

在系统无法启动或无法安装分区的情况下,可以使用fsck命令修复损坏的文件系统。

在本文中,我们将讨论fsck命令。

使用方法fsck

fsck命令采用以下一般形式:

fsck [OPTIONS] [FILESYSTEM]

只有root用户或具有 sudo 特权的用户才能清除缓冲区。

如果未提供FILESYSTEM 文件系统作为参数,则fsck检查fstab文件中列出的设备。

请不要在已挂载的分区上运行fsck,因为它可能会损坏文件系统。在尝试检查或修复文件系统之前,请始终先 unmount 卸载已挂载分区,再进行检查。

fsck命令是各种Linux文件系统检查器的包装器(fsck.*),并根据文件系统的类型接受不同的选项。

查看手册页以获取有关特定检查器的更多信息。例如,要查看fsck.ext4可用的选项,请键入:

man fsck.ext4

修复损坏的文件系统

fsck命令最简单的用例是修复无根损坏的ext3或ext4文件系统。

如果您不知道设备名称,请使用fdisk df 或任何其他工具来查找它。

卸载设备:

sudo umount /dev/sdc1

运行fsck修复文件系统:

sudo fsck -p /dev/sdc1

-p选项告诉fsck自动修复可以在无需用户干预的情况下安全修复任何问题。

修复文件系统后,挂载分区:

sudo mount /dev/sdc1

修复根文件系统

fsck无法检查正在运行的计算机上的根文件系统,因为无法将其卸载。

如果您要检查或修复根文件系统,则可以使用几种选择。您可以将fsck设置为在引导时运行,以恢复模式引导系统或使用CD启动。

以恢复模式运行fsck

  1. 进入启动菜单,然后选择“高级选项”
  2. 选择“恢复”模式,然后选择“ fsck”。
  3. 当系统提示重新挂载根文件系统时,选择“是”。
  4. 完成后,恢复正常启动。

要通过CD启动运行fsck

  1. 使用fdiskparted查找根分区名称。

打开终端并运行:

sudo fsck -p /dev/sda1

完成后,重新启动系统。

在启动时检查文件系统

在大多数Linux发行版中,如果文件系统被标记为脏文件,则在启动时运行fsck,或者在一定数量的引导或时间后运行。

要查看当前挂载计数,检查频率编号,检查间隔以及对特定分区的最后检查时间,请使用tune2fs工具:

sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'
Mount count:              292
Maximum mount count:      -1
Last checked:             Tue Jul 24 11:10:07 2018
Check interval:           0 (<none>)
  • “最大挂载次数”是将检查文件系统的挂载次数。 0-1的值表示fsck将永远不会运行。
  • “检查间隔”是两次文件系统检查之间的最长时间。

例如,如果要每挂载25次后运行fsck,请键入:

sudo tune2fs -c 25 /dev/sdc1

您还可以设置两次检查之间的最长时间。例如,要将其设置为一个月,您可以运行:

sudo tune2fs -i 1m /dev/sdc1

要强制fsck在SystemD发行版的启动时运行,请传递以下内核启动参数:

fsck.mode=force
fsck.repair=yes

在较早的发行版中,如果存在/forcefsck文件,则fsck将在启动时运行:

sudo touch /forcefsck

fstab​​选项

fstab是一个配置文件,它告诉系统如何以及在何处挂载分区。

/etc/fstab文件包含以下格式的条目列表:

/etc/fstab

# [File System] [Mount Point] [File System Type] [Options] [Dump] [PASS]
/dev/sda1       /             ext4               defaults  0      1
/dev/sda2       /home         ext4               defaults  0      2
server:/dir     /media/nfs    nfs                defaults  0      0

最后第六列([PASS])是用于控制在重新引导时完成文件系统检查的顺序的选项。

  • 0-不检查。
  • 1 -首先要检查的文件系统,要检查一次。
  • 2 -这些文件系统将在所有其他文件系统以后进行检查,并可能会进行并行检查。

根文件系统的值应为1,要检查的所有其他文件系统的值应为2

结论

fsck是用于检查和修复Linux文件系统的命令行工具。

要了解有关fsck命令的更多信息,请访问 fsck手册页面或在终端中输入man fsck

如果您有任何问题或反馈,请随时发表评论。