fsck全称文件系统检查,fask是一个命令行程序,可让您在一个或多个Linux文件系统执行一致性检查和交互式修复。它用于检查指定类型文件系统。
在系统无法启动或无法安装分区的情况下,可以使用fsck
命令修复损坏的文件系统。
在本教程中,我们将讨论fsck
命令修复文件系统。fsck
命令的语法形式是fsck [OPTIONS] [FILESYSTEM]
。只有root用户或具有sudo权限的用户才能运行fsck命令。
如果未指定文件系统参数FILESYSTEM
,fsck
将会检查/etc/fstab
文件中列出的设备。
请不要在已挂载的分区运行fsck
命令,因为它可能会损坏文件系统。在尝试检查或修复文件系统之前,请始终先运行unmount
命令卸载已挂载分区,再进行检查。
fsck
命令是fsck.*
命令的封装,并根据文件系统的类型接受不同的选项。
你可以查看手册页以获取指定检查器的更多信息。例如要查看fsck.ext4
可用的选项,请运行命令man fsck.ext4
。
man fsck.ext4
修复损坏的文件系统
fsck
命令最简单的用例是修复损坏的ext3或ext4文件系统。如果您不知道设备名称,请使用fdisk
,df
命令查找损坏的文件系统所在分区的设备名称。
在修复文件系统之前按请先运行umount命令卸载设备,然后在运行fsck
修复文件系统。
例如命令sudo fsck -p /dev/sdc1
将会修复设备/dev/sdc1分区。-p
选项指示fsck
在不需要用户干预的情况安全修复任何问题,也就是自动修磁盘。
当fsck命令修复文件系统完成后,请运行命令sudo mount /dev/sdc1
挂载分区。
sudo umount /dev/sdc1
sudo fsck -p /dev/sdc1
sudo mount /dev/sdc1
修复根文件系统
fsck
无法检查正在运行的计算机的根文件系统,因为无法将根文件系统卸载。
如果您要检查或修复根文件系统,则可以有几种选择。您可以将fsck
设置为在引导时运行,进入恢复模式或使用U盘启动Linux系统。
进入恢复模式运行fsck
。进入grub启动菜单,然后选择高级选项。选择恢复模式,然后选择fsck
。
当系统提示重新挂载根文件系统时,选择是
。完成后,恢复正常启动。
如果你需要通过CD启动运行fsck
。请运行命令fdisk
或parted
查找根分区名称。然后运行命令sudo fsck -p /dev/sda1
修复文件系统。完成后,重新启动系统。
sudo fsck -p /dev/sda1
启动时检查文件系统
在大多数Linux发行版中,如果文件系统被标记为脏文件,则在启动时运行fsck
命令。
tune2fs命令允许你设置或者查看文件系统是否需要执行修复的时间,频率和间隔。
要查看当前文件系统挂载次数,频率,间隔以及分区的最后检查时间,请运行tune2fs
命令。
Maximum mount count是文件系统的挂载次数。 0
或-1
的值表示fsck
将永远不会运行。Check interval
是两次文件系统检查之间的时间间隔。
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>)
如果要每挂载25次后运行一次fsck
命令,请运行命令sudo tune2fs -c 25 /dev/sdc1
。
您还可以设置两次检查之间的时间间隔。例如,要将其设置为一个月,请运行命令sudo tune2fs -i 1m /dev/sdc1
。
sudo tune2fs -c 25 /dev/sdc1
sudo tune2fs -i 1m /dev/sdc1
要强制fsck
在使用SystemD的Linux发行版启动时运行,请传递以下内核启动参数。在较早的发行版中,如果存在/forcefsck
文件,fsck
将在启动时运行。
fsck.mode=force
fsck.repair=yes
sudo touch /forcefsck
fstab选项
fstab
是一个配置文件,它告诉系统如何以挂载分区。/etc/fstab
文件包含以下格式的条目列表。
最后的第六列[PASS]
是用于控制在重新引导时完成文件系统检查的顺序的选项。0
不检查。
1
首先要检查的文件系统,要检查一次。2
这些文件系统将在所有其他文件系统以后进行检查,并可能会进行并行检查。
根文件系统的值应为1
,要检查的其他文件系统的值应为2
。
结论
fsck
是用于检查和修复Linux文件系统的命令行工具。要了解有关fsck
命令的更多信息,请访问fsck手册页面或在终端中输入man fsck
。
如果您有任何问题或反馈,请随时发表评论。