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