fsck
(文件系统检查)是一种命令行实用程序,允许您在一个或多个 Linux 文件系统上执行一致性检查和交互式修复。它使用特定于其检查的文件系统类型的程序。
您可以使用fsck
命令用于在系统无法启动或无法安装分区的情况下修复损坏的文件系统。
在这篇文章中,我们将讨论fsck
命令。
如何使用fsck
#
The fsck
命令采用以下一般形式:
fsck [OPTIONS] [FILESYSTEM]
仅 root 或具有以下权限的用户sudo特权可以清除缓冲区。
When no FILESYSTEM
作为参数提供,fsck
检查列出的设备fstab
file.
永远不要跑fsck
在已安装的分区上,因为它可能会损坏文件系统。始终在尝试检查或修复文件系统之前unmount首先。
The fsck
命令是各种 Linux 文件系统检查器的包装器(fsck.*
)并根据文件系统的类型接受不同的选项。
查看手册页以获取有关特定检查器的更多信息。例如,要查看可用的选项fsck.ext4
, type:
man fsck.ext4
修复损坏的文件系统#
最简单的用例fsck
命令是修复非 root 损坏的 ext3 或 ext4 文件系统。
如果您不知道设备名称,请使用fdisk
, df,或任何其他工具来查找它。
-
卸载设备:
sudo umount /dev/sdc1
-
Run fsck
修复文件系统:
sudo fsck -p /dev/sdc1
The -p
选项告诉fsck
自动修复任何无需用户干预即可安全修复的问题。
-
文件系统修复后,挂载分区:
sudo mount /dev/sdc1
修复根文件系统#
fsck
无法检查正在运行的计算机上的根文件系统,因为无法卸载它。
如果您想检查或修复根文件系统,您有多种选择。您可以设置fsck
要在启动时运行,请以恢复模式启动系统,或使用 Live CD。
To run fsck
在恢复模式下:
- 进入启动菜单并选择高级选项
- 选择恢复模式,然后选择“fsck”。
- 当提示重新安装根文件系统时,选择“是”。
- 完成后,恢复正常启动。
To run fsck
来自实时分发:
启动实时分发。
Use fdisk
or parted
查找根分区名称。
-
打开终端并运行:
sudo fsck -p /dev/sda1
完成后,重新启动实时分发并启动您的系统。
启动时检查文件系统#
在大多数 Linux 发行版上,fsck
如果文件系统被标记为脏或经过一定次数的引导或时间后,则在引导时运行。
要查看特定分区的当前安装计数、检查频率数、检查间隔以及上次检查时间,请使用tune2fs
tool:
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
or -1
意思是fsck
永远不会跑。
- “检查间隔”是两次文件系统检查之间的最长时间。
例如,如果您想运行fsck
每 25 次引导(安装)后,输入:
sudo tune2fs -c 25 /dev/sdc1
您还可以设置两次检查之间的最长时间。例如,要将其设置为一个月,您可以运行:
sudo tune2fs -i 1m /dev/sdc1
强迫fsck
要在 SystemD 发行版上启动时运行,请传递以下内核启动参数:
fsck.mode=force
fsck.repair=yes
在较旧的发行版上fsck
将在启动时运行,如果/forcefsck
文件存在:
sudo touch /forcefsck
fstab
选项#
fstab
是一个配置文件,告诉系统如何以及在哪里安装分区。
The /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页面或类型man fsck
在您的终端中。
如果您有任何问题或反馈,请随时发表评论。