Linux fsck命令修复文件系统
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 /forcefsckfstab选项
fstab是一个配置文件,它告诉系统如何以挂载分区。/etc/fstab文件包含以下格式的条目列表。
最后的第六列[PASS]是用于控制在重新引导时完成文件系统检查的顺序的选项。0不检查。
1首先要检查的文件系统,要检查一次。2这些文件系统将在所有其他文件系统以后进行检查,并可能会进行并行检查。
根文件系统的值应为1,要检查的其他文件系统的值应为2。
# [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
结论
fsck是用于检查和修复Linux文件系统的命令行工具。要了解有关fsck命令的更多信息,请访问fsck手册页面或在终端中输入man fsck。
如果您有任何问题或反馈,请随时发表评论。