手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

fsck(1M)

名称

fsck - 检查并修复文件系统

用法概要

fsck [-F FSType] [-m] [-V] [-v] [special]...
fsck [-F FSType] [-n | N | y | Y] [-V] [-v] 
     [-o FSType-specific-options] [special]...

描述

fsck 审计文件系统并以交互方式修复不一致的文件系统状况。如果文件系统中存在不一致,每项更正措施的缺省操作是等待用户响应 yesno。如果用户没有写入权限,fsck 缺省为 no 操作。某些更正操作会导致数据丢失。数据丢失的数量和严重性可通过诊断输出确定。

FSType-specific-options 是在选项或关键字-属性对的逗号分隔(逗号后不加空格)列表中指定的选项,由命令的特定于 FSType 的模块进行解释。

special 表示文件系统所在的字符特殊设备,例如 /dev/rdsk/c1t0d0s7。注意:应使用字符特殊设备,而不是块特殊设备。如果挂载块设备,fsck 将不工作。

如果未指定 special 设备,fsck 会检查 /etc/vfstab 中列出的文件系统。将检查 /etc/vfstab 中的以下条目:在 fsckdev 字段中具有特殊字符设备条目并在 fsckpass 字段中具有非零数字条目。指定 –F FSType 会将要检查的文件系统限制为指示的那些类型。

如果指定 special,但未指定 –F,将通过在 /etc/vfstab 中查找匹配条目来确定文件系统类型。如果没有找到相应的条目,则将使用 /etc/default/fs 中指定的缺省本地文件系统类型。

如果文件系统类型支持并行检查,例如 ufs,可能会并行检查可以进行检查的一些文件系统。有关更多信息,请查阅文件系统特定的手册页(例如 fsck_ufs(1M))。

选项

支持下列常规选项:

–F FSType

指定要对其进行操作的文件系统类型。

–m

检查但不修复。此选项检查文件系统是否适合挂载,返回相应的退出状态。如果文件系统可以挂载,fsck 显示如下消息:

ufs fsck: sanity check: /dev/rdsk/c0t3d0s1 okay
–n | –N

假定对 fsck 询问的所有问题响应 no;不打开文件系统进行写入。

–V

回显扩展的命令行但不执行命令。应当使用此选项来确认和验证命令行。

–v

启用详细的输出。可能并不是所有文件系统特定的 fsck 实现都支持此项。

–y | Y

假定对 fsck 询问的所有问题响应 yes

–o specific-options

这些 specific-options 可以是以下各项的任意组合,以逗号分隔(逗号后不加空格)。

b=n

使用块 n 作为文件系统的超级块。块 32 始终是备用超级块之一。通过运行 newfs(1M) 并指定 –Nv 选项来确定其他超级块的位置。

c

如果文件系统处于旧(静态表)格式,则将其转换为新(动态表)格式。文件系统处于新格式时,如果旧格式可以支持文件系统配置,则将其转换为旧格式。在交互模式下,fsck 将列出转换的方向并询问是否应进行转换。如果提供了否定回答,则不对文件系统执行进一步操作。在整理模式下,将列出转换的方向,并且如果可能将执行转换而不需要用户交互。同时转换所有文件系统时,最好在整理模式下进行转换。可以通过 fstyp(1M) 的输出的第一行确定文件系统的格式。注意:c 选项很少使用,包括该选项仅为了与 4.1 之前的发行版兼容。不保证此选项会包括在将来发行版中。

f

强制检查文件系统,而不考虑其超级块清理标志。

p

以非交互方式检查和修复文件系统(“整理”(preen))。如果存在需要干预的问题则立即退出。需要使用此选项来启用并行文件系统检查。

w

仅检查可写入文件系统。

退出状态

0

文件系统已卸载并且正常

1

指定了错误参数

32

文件系统已卸载并且需要进行检查(仅限 fsck –m

33

文件系统已经挂载

34

无法对设备执行 stat 操作

35

修改了挂载为读取/写入状态的文件系统-重新引导

36

检测到无法更正的错误-正常终止

37

处理过程中捕获到信号

39

检测到无法更正的错误-立即终止

40

文件系统已挂载为只读状态并且正常

用法

根据 largefile(5) 手册页,fsck 命令可以感知 UFS 文件系统的大文件

文件

/etc/default/fs

缺省的本地文件系统类型。可以在 /etc/default/fs 中为以下标志设置缺省值。例如:LOCAL=ufs。

LOCAL

未指定FSType时用于命令的缺省分区。

/etc/vfstab

每个文件系统的缺省参数的列表

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)

另请参见

clri(1M)fsck_ufs(1M)fsdb_ufs(1M)fsirand(1M)fstyp(1M)mkfs(1M)mkfs_ufs(1M)mountall(1M)newfs(1M)reboot(1M)vfstab(4)attributes(5)largefile(5)ufs(7FS)

警告

操作系统会缓冲文件系统数据。在已挂载文件系统上运行 fsck 会导致操作系统的缓冲区对磁盘变为过时。因此,使用 fsck 时,文件系统应该处于未挂载状态。如果这不可能,应该注意保证系统是不活动的并且在运行 fsck 后立即重新引导该系统。但是,这样做经常是不够的。如果在文件系统上运行 fsck 会修改该文件系统,将可能出现紧急情况。

附注

可能并不是所有 FSType 都支持此命令。

从 Solaris 9 开始,fsck 管理磁盘上的扩展属性数据。(有关扩展文件属性的说明,请参见 fsattr(5)。)可以在不识别属性的 Solaris 版本(Solaris 9 之前的版本)上挂载具有扩展属性的文件系统,但是将无法访问这些属性,并且 fsck 会将其从文件中去除并置于 lost+found 中。去除这些属性后,文件系统在不识别属性的 Solaris 版本上将完全稳定,但是在可识别属性版本中将被视为已损坏。在后一种情况下,先运行可识别属性的 fsck 来稳定文件系统,然后再将其用于可识别属性的环境。