Manpages

NAME

fsck - 检 查 并 修 复 Linux文 件 系 统

总 览 SYNOPSIS

fsck [ -sACVRTNP ] [ -t fstype ] [filesys ... ] [--] [ fs-specific-options ]

描 述 DESCRIPTION

fsck 通 常 用 来 检 查 并 适 当 修 复 一 个 或 多 个 Linux文 件 系 统 . filesys 可 以 是 一 个 设 备 名 (例 如 : /dev/hdc1, /dev/sdb2), 一 个 挂 载 点 (例 如 : /, /usr, /home), 或 一 个 ext2文 件 系 统 的 磁 盘 标 签 , 也 可 以 是 UUID指 定 符 (例 如 : UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd 或 LABEL=root). 通 常 , fsck 会 试 着 以 并 行 的 方 式 同 时 在 不 同 的 物 理 磁 盘 上 运 行 文 件 系 统 检 查 , 这 样 可 以 减 少 对 所 有 文 件 系 统 进 行 检 查 的 时 间 。 如 果 没 有 在 命 令 行 指 定 文 件 系 统 , 并 且 没 有 指 定 -A 选 项 , fsck 将 默 认 顺 序 地 检 查 /etc/fstab 中 登 记 的 文 件 系 统 。 这 和 使 用 -As 选 项 是 相 同 的 。

fsck 退 出 的 返 回 值 是 下 列 情 况 之 和 :

0

- 没 有 错 误

1

- 文 件 系 统 有 错 但 已 修 复

2

- 系 统 应 当 重 启

4

- 文 件 系 统 错 误 没 有 修 复

8

- 运 行 错 误

16

- 用 法 或 语 法 错 误

32

- 用 户 撤 销 了 fsck 操 作

128

- 共 享 库 出 错 当 检 测 多 个 文 件 系 统 时 , 退 出 的 返 回 值 是 对 每 个 文 件 系 统 检 查 的 返 回 值 按 位 或 的 结 果 。 实 际 上 , fsck 只 是 Linux 中 不 同 的 文 件 系 统 检 查 器 (fsck.fstype)的 一 个 前 端 。 首 先 , 它 在 /sbin 中 搜 索 特 定 文 件 系 统 的 检 查 器 , 然 后 在 /etc/fs/etc 中 搜 索 , 最 后 在 PATH 环 境 变 量 中 列 出 的 路 径 中 搜 索 。 请 查 看 特 定 文 件 系 统 的 检 查 器 的 手 册 页 来 获 取 细 节 信 息 。

选 项 OPTIONS

-s 顺 序 地 进 行

fsck 操 作 。 如 果 你 要 检 查 多 个 文 件 系 统 , 并 且 检 查 器 运 行 在

交 互 模 式 , 这 样 作 比 较 有 好 处 。 (注 意 : e2fsck(8) 默 认 是 以 交 互 方 式 运 行 的 。 要 使 e2fsck(8) 以 非 交 互 方 式 运 行 , 你 必 须 指 定 -p-a 选 项 , 如 果 你 想 要 自 动 纠 正 错 误 , 或 -n 选 项 , 如 果 不 想 自 动 纠 正 错 误 。 )

-t fslist 指 定 要 检 查 的 文 件 系 统 的 类 型 。 当 指 定 了 -A 标 志 时 , 只 有 fslist 中 列 出 的 类 型 的 文 件 系 统 会 被 检 查 。 fslist 参 数 是 一 个 以 逗 号 分 隔 的 文 件 系 统 类 型 列 表 以 及 选 项 说 明 符 。 可 以 在 这 个 以 逗 号 分 隔 的 列 表 的 所 有 文 件 系 统 前 面 加 上 否 定 前 缀 ’no’ 或 ’!’ 来 使 得 只 有 没 有 列 在 fslist 中 的 文 件 系 统 将 被 检 查 。 如 果 并 非 fslist 中 列 出 的 所 有 文 件 系 统 都 加 上 了 否 定 前 缀 , 那 么 只 有 fslist 中 列 出 的 文 件 系 统 将 被 检 查 。 选 项 说 明 符 也 可 能 包 含 在 这 个 以 逗 号 分 隔 的 列 表 fslist 中 。 它 们 的 格 式 是 opts=fs-option 。 如 果 出 现 了 选 项 说 明 符 , 那 么 只 有 在 /etc/fstab 中 它 们 的 挂 载 选 项 字 段 中 不 包 含 fs-option 的 文 件 系 统 将 被 检 查 。 如 果 选 项 说 明 符 有 否 定 前 缀 , 那 么 只 有 在 /etc/fstab 中 它 们 的 挂 载 选 项 字 段 中 包 含 fs-option 的 文 件 系 统 将 被 检 查 。 例 如 , 如 果 fslist 中 出 现 了 opts=ro 那 么 只 有 /etc/fstab 中 , 挂 载 选 项 包 含 ro 的 文 件 系 统 将 被 检 查 。 为 了 和 Mandrake 发 行 版 兼 容 (它 的 启 动 脚 本 依 赖 于 一 个 未 经 许 可 而 对 fsck 程 序 用 户 接 口 作 出 的 改 变 ), 如 果 fslist 中 有 一 个 loop 文 件 系 统 , 它 被 视 为 指 定 了 opts=loop 作 为 -t 选 项 的 参 数 。 一 般 地 , 文 件 系 统 类 型 是 在 /etc/fstab 中 通 过 搜 索 与 filesys 相 应 的 条 目 得 到 的 。 如 果 不 能 这 样 推 知 类 型 , 并 且 -t 选 项 只 有 一 个 文 件 系 统 参 数 , fsck 将 使 用 指 定 的 文 件 系 统 类 型 。 如 果 不 能 使 用 这 种 类 型 , 将 使 用 默 认 的 文 件 系 统 类 型 (当 前 是 ext2)。

-A 搜 索

/etc/fstab 文 件 , 一 次 检 查 所 有 在 文 件 中 有 定 义 的 文 件 系 统 。 这 个

选 项 典 型 地 用 在 /etc/rc 系 统 初 始 化 文 件 中 , 而 不 使 用 多 条 命 令 来 分 别 检 查 各 独 立 的 分 区 。 如 果 没 有 使 用 -P 选 项 , 则 根 文 件 系 统 将 第 一 个 被 检 查 。 之 后 , 将 按 /etc/fstab 文 件 中 第 六 字 段 fs_passno 指 定 的 顺 序 对 各 文 件 系 统 进 行 检 查 。 fs_passno 值 为 0 的 文 件 系 统 将 被 跳 过 , 不 会 被 检 查 。 fs_passno 值 大 于 0 的 文 件 系 统 将 被 按 顺 序 检 查 , fs_passno 值 最 小 的 文 件 系 统 将 被 最 先 检 查 。 如 果 多 个 文 件 系 统 有 相 同 的 pass号 , fsck将 试 着 并 行 处 理 这 些 文 件 系 统 , 尽 管 它 不 允 许 在 同 一 个 物 理 磁 盘 上 同 时 运 行 多 个 文 件 系 统 检 查 程 序 。 因 此 , /etc/fstab 文 件 中 的 一 个 很 普 遍 的 设 置 是 将 root文 件 系 统 的 fs_passno 设 为 1, 定 义 其 它 文 件 系 统 的 fs_passno 为 2。 这 样 就 充 许 fsck 程 序 自 动 以 并 行 的 方 式 运 行 文 件 系 统 检 查 , 如 果 这 样 有 好 处 的 话 。 系 统 管 理 员 可 能 会 出 于 某 些 原 因 而 不 希 望 并 行 运 行 多 个 文 件 系 统 检 查 --例 如 , 如 果 内 存 不 够 , 那 么 过 多 的 换 页 会 成 为 系 统 瓶 颈 。

-C 如 果 文 件 系 统 检 查 器 支 持 的 话

(当 前 只 有 ext2), 显 示 进 度 条 。 fsck 将 管

理 各 文 件 系 统 检 查 器 , 使 得 同 一 时 间 它 们 中 只 能 有 一 个 可 以 显 示 进 度 条 。

-N 不 执 行 , 仅 仅 显 示 将 执 行 的 操 作 。

-P 当 设 置 了

-A 标 志 时 , 将 并 行 检 查 root文 件 系 统 和 其 他 文 件 系 统 。 这 样 是 世 界 上 最 不 安 全 的 做 法 , 因 为 如 果 root文 件 系 统 有 问 题 , e2fsck(8) 这 样 的 程 序 可 执 行 文 件 将 被 破 坏 ! 这 个 选 项 是 为 不 想 把 root 文 件 系 统 分 得 小 而 紧 凑 (这 才 是 正 确 的 做 法 )的 系 统 管 理 员 准 备 的 。

-R 当 使 用

-A 标 志 来 检 查 所 有 文 件 系 统 时 , 跳 过 root文 件 系 统 (它 可 能 已 经

被 挂 载 为 可 读 写 )。

-T 启 动 时 不 显 示 标 题 。

-V 产 生 冗 余 输 出 , 包 含 所 有 被 执 行 的 特 定 文 件 系 统 的 命 令 。

fs-specific-options

fsck 不 理 解 的 选 项 被 传 递 给 特 定 文 件 系 统 的 检 查 器 。 这 些 选 项 决 不 能 有 参 数 , 因 为 fsck 不 能 判 断 出 哪 个 选 项 有 参 数 , 那 些 没 有 。 以 -- 引 导 的 选 项 和 参 数 将 被 当 作 特 定 文 件 系 统 的 选 项 传 给 它 的 检 查 器 。 注 意 fsck 没 有 为 传 递 任 意 复 杂 的 选 项 给 特 定 文 件 系 统 的 检 查 器 而 专 门 设 计 。 如 果 你 要 做 复 杂 的 操 作 , 请 直 接 执 行 特 定 文 件 系 统 的 检 查 器 。 如 果 你 传 给 fsck 极 其 复 杂 的 选 项 和 参 数 , 它 没 有 按 照 你 想 要 的 那 样 工 作 , 不 要 把 它 报 告 为 一 个 bug! You’re almost certainly doing something that you shouldn’t be doing with fsck. 当 前 , 标 准 的 特 定 文 件 系 统 的 选 项 仍 在 改 进 之 中 。 尽 管 不 能 保 证 , 还 是 有 下 列 这 些 选 项 可 以 被 大 部 分 文 件 系 统 检 查 器 所 支 持 。

-a 不 提 问 , 自 动 修 复 文 件 系 统

(请 小 心 使 用 此 选 项 )。 注 意 e2fsck(8) 支 持

-a 仅 仅 是 为 了 向 前 兼 容 。 这 个 选 项 被 映 射 到 e2fsck-p 选 项 , 那 比 较 安 全 一 点 , 不 像 大 多 数 文 件 系 统 检 查 器 支 持 的 -a 那 样 。

-r 交 互 式 地 修 复 文 件 系 统 错 误

(询 问 确 认 )。 注 意 : 如 果 多 个 fsck 在 并 行 执

行 , 这 不 是 一 个 好 想 法 。 还 要 注 意 e2fsck 的 默 认 行 为 ; 它 也 只 为 了 向 前 兼 容 才 保 留 这 个 选 项 。

作 者 AUTHOR

Theodore Ts’o (tytso [AT] mit.edu)

文 件 FILES

/etc/fstab

环 境 变 量 ENVIRONMENT VARIABLES

fsck 程 序 的 行 为 受 下 列 环 境 变 量 影 响 :
FSCK_FORCE_ALL_PARALLEL
如 果 设 置 了 这 个 环 境 变 量 , fsck 将 试 着 并 行 运 行 所 有 指 定 的 文 件 系 统 检 查 , 不 管 这 些 文 件 系 统 是 不 是 在 同 一 设 备 上 。 (这 对 于 RAID系 统 或 者 高 端 存 储 系 统 比 如 IBM或 者 EMC出 售 的 那 种 很 有 用 )
FSCK_MAX_INST
这 个 环 境 变 量 将 限 制 同 时 可 以 运 行 的 文 件 系 统 检 查 器 的 最 大 数 量 。 这 样 使 得 拥 有 大 量 磁 盘 的 系 统 避 免 fsck 一 次 启 动 过 多 文 件 系 统 检 查 器 , 那 样 有 可 能 耗 尽 机 器 的 CPU和 内 存 资 源 。 如 果 值 为 0, 可 以 孵 化 出 没 有 限 制 的 数 量 的 进 程 , 这 是 当 前 的 默 认 值 。 将 来 版 本 的 fsck 将 试 着 根 据 收 集 操 作 系 统 的 统 计 数 据 , 自 动 判 断 应 当 启 动 多 少 文 件 系 统 检 查 。

PATH

PATH 环 境 变 量 用 来 查 找 文 件 系 统 检 查 器 。 一 些 系 统 目 录 会 被 最 先 搜 索 : /sbin, /sbin/fs.d, /sbin/fs, /etc/fs, 和 /etc. 然 后 才 搜 索 PATH 环 境 变 量 中 设 置 的 目 录 集 合 。

FSTAB_FILE 这 个 环 境 变 量 允 许 系 统 管 理 员 指 定 /etc/fstab 文 件 的 位 置 。 它 也 为 fsck 的 开 发 者 做 测 试 之 用 。

参 见 SEE ALSO

fstab(5), mkfs(8), fsck.minix(8), fsck.ext2(8) 或 者 e2fsck(8), fsck.xiafs(8).

[中 文 版 维 护 人 ]

袁 乙 钧 <bbbush [AT] 163.com>

[中 文 版 最 新 更 新 ]

2003.11.01

《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh