本文介绍在Linux操作系统中的Fsck命令,使用它来修复损坏的文件系统、修复Root(根)文件系统、在启动时检查文件系统,包括介绍fstab选项。fsck(文件系统检查)是一种命令行实用程序,可让你在一个或多个Linux文件系统上执行一致性检查和交互式修复,它使用特定于所检查文件系统类型的程序。在系统无法启动或无法安装分区的情况下,可以使用fsck命令修复损坏的文件系统。
使用fsck的方法
fsck命令采用以下形式:
fsck [OPTIONS] [FILESYSTEM]
只有root或具有sudo特权的用户才能清除缓冲区。
如果未提供FILESYSTEM作为参数,则fsck将检查fstab文件中列出的设备。
切勿在已安装的分区上运行fsck,因为它可能会损坏文件系统,在尝试检查或修复文件系统之前,请始终先将其卸载。
fsck命令是各种Linux文件系统检查器(fsck.*)的包装,并且根据文件系统的类型接受不同的选项。
检查手册页以获取有关特定检查器的更多信息,例如,要查看可用于fsck.ext4的选项,请输入:
$ man fsck.ext4
修复损坏的文件系统
fsck命令最简单的用例是修复无根损坏的ext3或ext4文件系统。
1、如果你不知道设备名称,请使用fdisk、df或任何其他工具来查找它。
2、卸载设备:
$ sudo umount /dev/sdc1
3、运行fsck修复文件系统:
$ sudo fsck -p /dev/sdc1
-p选项使fsck自动修复可以安全修复的任何问题,而无需用户干预。
4、修复文件系统后,安装分区:
$ sudo mount /dev/sdc1
修复根文件系统(Root File System)
fsck无法检查正在运行的计算机上的根文件系统,因为无法将其卸载。
如果要检查或修复根文件系统,则可以使用几种选择,你可以将fsck设置为在引导时运行,以恢复模式引导系统或使用实时CD。
要在恢复模式下运行fsck:
1、进入启动菜单,然后选择高级选项
2、选择恢复模式,然后选择“fsck”。
3、当提示你重新挂载根文件系统时,请选择是(Yes)。
4、完成后,恢复正常启动。
要从实时发行版运行fsck:
1、启动实时分发。
2、使用fdisk或parted查找根分区名称。
3、打开终端并运行:
$ sudo fsck -p /dev/sda1
4、完成后,重新启动实时分发并启动系统。
在启动时检查文件系统
在大多数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 ()
注:
“Maximum mount count”是将检查文件系统的安装次数,值0或-1表示fsck将永远不会运行。
“Check interval”是两次文件系统检查之间的最长时间。
例如,如果要在每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文件包含以下形式的条目列表:
最后的第六列([PASS])是用于控制重新引导时文件系统检查顺序的选项。
1、0-不检查。
2、1-首先要检查的文件系统,一次要检查。
3、2-所有其他文件系统,这些文件系统以后可能会并行检查。
根文件系统的值应为1,要检查的所有其他文件系统的值应为2。
结论
fsck是用于检查和选择修复Linux文件系统的命令行工具。
要了解有关fsck命令的更多信息,请访问fsck手册页或在终端中键入man fsck命令。
相关主题