此阶段将删除指向阶段 1 和 1B 中所找到的坏 inode 的目录项。它将报告下列原因所导致的错误状态:
不正确的根 inode 模式和状态
目录 inode 指针超出范围
目录项指向坏 inode
目录完整性检查
整理(-o -p 选项)文件系统时,此阶段中的所有错误都会终止 fsck,但与不是块大小倍数的目录、重复块和坏块、超出范围的 inode 以及多余的硬链接相关的错误除外。
阶段 2 中可能出现以下消息(按字母顺序):
BAD INODE state-number TO DESCEND |
fsck 内部错误将一个无效状态 state-number 传递给由文件系统目录结构向下派生的例程。fsck 退出。
如果显示此错误消息,请与当地服务提供商或其他有资格的人员联系。
BAD INODE NUMBER FOR '.' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (FIX) |
找到一个目录 inode-number,其用于 "." 的 inode 编号不等于 inode-number。
要更改 "." 的 inode 编号以使其等于 inode-number,请在 FIX 提示符下键入 y。要使 "." 的 inode 编号保持不变,请键入 n。
BAD INODE NUMBER FOR '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (FIX) |
找到一个目录 inode-number,其用于 ".." 的 inode 编号不等于 inode-number 的父级。
要更改 ".." 的 inode 编号以使其等于 inode-number 的父级,请在 FIX 提示符下键入 y。(请注意,根 inode 中的 ".." 指向本身。)要使 ".." 的 inode 编号保持不变,请 键入 n。
BAD RETURN STATE state-number FROM DESCEND |
fsck 内部错误从文件系统目录结构向下派生的例程中返回不可能的状态 state-number。fsck 退出。
如果显示此消息,请与当地服务提供商或其他有资格的人员联系。
BAD STATE state-number FOR ROOT INODE |
内部错误为根 inode 指定了不可能的状态 state-number。fsck 退出。
如果显示此错误消息,请与当地服务提供商或其他有资格的人员联系。
BAD STATE state-number FOR INODE=inode-number |
内部错误为 inode inode-number 指定了不可能的状态 state-number。fsck 退出。
如果显示此错误消息,请与当地服务提供商或其他有资格的人员联系。
DIRECTORY TOO SHORT I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (FIX) |
发现大小 file-size 小于最小目录大小的目录 filename。此时将显示属主 UID、模式 file-mode、大小 file-size、修改时间 modification-time 和目录名称 filename。
要将目录的大小增大至最小目录大小,请在 FIX 提示符下键入 y。要忽略此目录,请键入 n。
DIRECTORY filename: LENGTH file-size NOT MULTIPLE OF disk-block-size (ADJUST) |
Oracle Solaris 10:
DIRECTORY filename: LENGTH file-size NOT MULTIPLE OF block-number (ADJUST) |
找到一个目录 filename,其大小 file-size 不是目录块大小 disk-block-size 的倍数。
Oracle Solaris 10:
找到一个目录 filename,其大小 file-size 不是目录块大小 block-number 的倍数。
要将长度舍入为合适的磁盘块大小,请键入 y。整理文件系统(-o p 选项)时,fsck 只显示警告并调整目录。要忽略此状态,请键入 n。
Oracle Solaris 10:
要将长度舍入为合适的块大小,请键入 y。整理文件系统(-o p 选项)时,fsck 只显示警告并调整目录。要忽略此状态,请键入 n。
DIRECTORY CORRUPTED I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (SALVAGE) |
找到了具有不一致的内部状态的目录。
要丢弃达到下一目录边界(通常为 512 字节边界)的所有项,请在 SALVAGE 提示符下键入 y。此极端操作最多可丢弃 42 个项。仅在其他恢复努力失败之后,才能采取此操作。要跳到下一个目录边界并继续阅读,但不修改目录,请键入 n。
DUP/BAD I=inode-number OWNER=O MODE=M SIZE=file-size MTIME=modification-time TYPE=filename (REMOVE) |
阶段 1 或阶段 1B 发现与目录或文件项 filename、inode inode-number 相关的重复片段或坏片段。此时将显示属主 UID、模式 file-mode、大小 file-size、修改时间 modification-time 以及目录名称或文件名 filename。如果指定了 -op(整理)选项,则会删除重复/坏片段。
Oracle Solaris 10:
阶段 1 或阶段 1B 发现与目录或文件项 filename、inode inode-number 相关的重复块或坏块。此时将显示属主 UID、模式 file-mode、大小 file-size、修改时间 modification-time 以及目录名称或文件名 filename。如果指定了 -op(整理)选项,则会删除重复/坏块。
要删除该目录或文件项 filename,请在 REMOVE 提示符下键入 y。要忽略此错误状态,请键入 n。
DUPS/BAD IN ROOT INODE (REALLOCATE) |
阶段 1 或阶段 1B 在文件系统的根 inode(inode 编号 20)中发现重复片段或坏片段。
Oracle Solaris 10:
阶段 1 或阶段 1B 在文件系统的根 inode(通常为 inode 编号 2)中发现重复块或坏块。
要清除根 inode 的现有内容并对其重新分配,请在 REALLOCATE 提示符下键入 y。通常在根 inode 中找到的文件和目录将在阶段 3 中恢复,并被放入 lost+found 目录中。如果尝试分配根时失败,fsck 将退出并显示以下消息: CANNOT ALLOCATE ROOT INODE。键入 n 获取 CONTINUE 提示符。键入 y 以对 CONTINUE 提示符做出响应,忽略根 inode 中的 DUPS/BAD 错误状态并继续运行文件系统检查。如果根 inode 不正确,则可能会生成许多其他错误消息。键入 n 终止程序。
EXTRA '.' ENTRY I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (FIX) |
找到一个 "." 有多个项的目录 inode-number。
要删除 "." 的多余项,请在 FIX 提示符下键入 y。要使该目录保持不变,请键入 n。
EXTRA '..' ENTRY I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (FIX) |
找到一个 ".."(父目录)有多个项的目录 inode-number。
要删除 ".."(父目录)的多余项,请在 FIX 提示符下键入 y。要使该目录保持不变,请键入 n。
hard-link-number IS AN EXTRANEOUS HARD LINK TO A DIRECTORY filename (REMOVE) |
fsck 发现链接到目录 filename 的多余硬链接 hard-link-number。整理(-o p 选项)时,fsck 将忽略多余硬链接。
要删除多余项 hard-link-number,请在 REMOVE 提示符下键入 y。要忽略该错误状态,请键入 n。
inode-number OUT OF RANGE I=inode-number NAME=filename (REMOVE) |
目录项 filename 有一个 inode 编号 inode-number 大于 inode 列表的最后一个数。如果指定了 -p(整理)选项,则会自动删除该 inode。
要删除目录项 filename,请在 REMOVE 提示符下键入 y。要忽略该错误状态,请键入 n。
MISSING '.' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (FIX) |
找到一个第一项(用于 "." 的项)尚未分配的目录 inode-number。
要为 "." 生成一个 inode 编号等于 inode-number 的项,请在 FIX 提示符下键入 y。要使该目录保持不变,请键入 n。
MISSING '.' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename CANNOT FIX, FIRST ENTRY IN DIRECTORY CONTAINS filename |
找到一个第一项为 filename 的目录 inode-number。fsck 无法解决此问题。
如果显示此错误消息,请与当地服务提供商或其他有资格的人员联系。
MISSING '.' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename CANNOT FIX, INSUFFICIENT SPACE TO ADD '.' |
找到一个第一项不是 "." 的目录 inode-number。fsck 无法解决此问题。
如果显示此错误消息,请与当地服务提供商或其他有资格的人员联系。
MISSING '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (FIX) |
找到一个第二项尚未分配的目录 inode-number。
要为 ".." 生成一个 inode 编号等于 inode-number 的父级的项,请在 FIX 提示符下键入 y。(请注意,根 inode 中的 ".." 指向本身。)要使该目录保持不变,请键入 n。
MISSING '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename CANNOT FIX, SECOND ENTRY IN DIRECTORY CONTAINS filename |
找到一个第二项为 filename 的目录 inode-number。fsck 无法解决此问题。
如果显示此错误消息,请与当地服务提供商或其他有资格的人员联系。
MISSING '..' I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename CANNOT FIX, INSUFFICIENT SPACE TO ADD '..' |
找到一个第二项不是 ".."(父目录)的目录 inode-number。fsck 无法解决此问题。
如果显示此错误消息,请与当地服务提供商或其他有资格的人员联系。
NAME TOO LONG filename |
发现一个超长的路径名,这通常表示文件系统名称空间中的循环。如果特权用户对目录创建了循环链接,则会出现此错误。
删除循环链接。
ROOT INODE UNALLOCATED (ALLOCATE) |
根 inode(通常为 inode 编号 2)没有分配模式位。
要将 inode 2 分配为根 inode,请在 ALLOCATE 提示符下键入 y。通常在根 inode 中找到的文件和目录将在阶段 3 中恢复,并被放入 lost+found 目录中。如果尝试分配根 inode 时失败,fsck 将显示此消息并退出: CANNOT ALLOCATE ROOT INODE。要终止该程序,请键入 n。
ROOT INODE NOT DIRECTORY (REALLOCATE) |
文件系统的根 inode(通常为 inode 编号 2)不是目录 inode。
要清除根 inode 的现有内容并对其重新分配,请在 REALLOCATE 提示符下键入 y。通常在根 inode 中找到的文件和目录将在阶段 3 中恢复,并被放入 lost+found 目录中。如果尝试分配根 inode 时失败,fsck 将显示此消息并退出: CANNOT ALLOCATE ROOT INODE。要使 fsck 提供带 FIX 的提示,请键入 n。
UNALLOCATED I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time type=filename(REMOVE) |
目录或文件项 filename 指向未分配的 inode inode-number。此时将显示属主 UID、模式 file-mode、大小 file-size、修改时间 modification-time 和文件名 filename。
要删除目录项 filename,请在 REMOVE 提示符下键入 y。要忽略该错误状态,请键入 n。
ZERO LENGTH DIRECTORY I=inode-number OWNER=UID MODE=file-mode SIZE=file-size MTIME=modification-time DIR=filename (REMOVE) |
目录项 filename 的大小 file-size 为零。此时将显示属主 UID、模式 file-mode、大小 file-size、修改时间 modification-time 和目录名称 filename。
要删除目录项 filename,请在 REMOVE 提示符下键入 y。这将导致阶段 4 中出现 BAD/DUP 错误消息。要忽略该错误状态,请键入 n。